ULP not working on a custom made board

Prasad
Posts: 48
Joined: Sun Jul 23, 2017 5:26 pm

ULP not working on a custom made board

Postby Prasad » Sun Sep 29, 2019 1:36 pm

Hello Everyone,

I have designed and fabricated a curcuit board with ESP32 SOC and i have tested many sample projects on this board without any issue. However there is something strage going on when i try to run ULP example under '/esp-idf/examples/system/ulp'. I have done below modification to the assembly code just to wakeup whenever it runs the ULP assembly program, But it only wake up the SOC from deep sleep one time and never again, see output below. I must say that this PCB is an upgrade to my previous PCB and the previous PCB runs the same ULP program without any problem. So i highly suspect that this is a hardware issue which causes ULP progam to not to run.

Assembly program change,

Code: Select all

entry:
	jump wake_up
	
wake_up:
	/* Check if the system can be woken up */
	READ_RTC_FIELD(RTC_CNTL_LOW_POWER_ST_REG, RTC_CNTL_RDY_FOR_WAKEUP)
	and r0, r0, 1
	jump wake_up, eq

	/* Wake up the SoC, end program */
	wake
	halt	
	

Output,

Code: Select all

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:5232
ho 0 tail 12 room 4
load:0x40078000,len:11596
load:0x40080400,len:6260
entry 0x4008070c
Not ULP wakeup, initializing ULP
Entering deep sleep

ULP wakeup, saving pulse count
Read pulse count from NVS:     0
Pulse count from ULP:     0
Wrote updated pulse count to NVS:     0
Entering deep sleep
Expected output should wakeup the SOC every 1 sec as i have modified 'ulp_set_wakeup_period' as below,

Code: Select all

ulp_set_wakeup_period(0, 1000*1000);
Any leads/ideas would be highly appreciated.

Thanks in advance!

Prasad
Posts: 48
Joined: Sun Jul 23, 2017 5:26 pm

Re: ULP not working on a custom made board

Postby Prasad » Wed Nov 20, 2019 12:54 pm

Posting the solution/cause just in case this help someone :)

This was actually a ESP32 supporting circuitry issue. I have mistakenly missed C13 (see attached image) ground pad to route.. D'oh!

So yeah I believe C13 somehow related to ULP circuit.


Screen Shot 2019-11-20 at 6.17.58 PM.png
Screen Shot 2019-11-20 at 6.17.58 PM.png (78.66 KiB) Viewed 2786 times

Who is online

Users browsing this forum: Baidu [Spider], Bing [Bot], Google [Bot], jimmy98035@gmail.com and 110 guests