- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I mistakenly put the CPU in deep-sleep mode.
while (1)
{
SCB->SCR |= DEEP_SLEEP; // Deep sleep mode
INT_Mask = __get_PRIMASK();
__disable_irq();
__WFI();
}
After rebooting the system, I can't re-program/re-flash/debug the mcu again. The board I use is S6E1C3 and the IDE is Keil uVision 5.27.1.0.
The error message is "Device could not be powered up" or "Can not Access Memory". I have multiple eval boards, and I am 100% sure the culprit is the deep-sleep.
Does anyone ever have the same issue ? How will be able to re-program the chip ?
Any comments/suggestions will be appreciated.
Regards,
Eric
- Tags:
- cortex m0+
- deep_sleep
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Have you tried PSoC Programmer?
Although I'm not sure if this tool can save your state, I think that it's worth trying.
You can download it from following URL. I recommend you to use the newest version.
https://www.cypress.com/documentation/software-and-drivers/psoc-programmer-archive
After you install the program, start it with the board connected.
(I'm using Cypress's FM0+ S6E1C-Series Starter Kit, connected to my PC via USB-cable)
Then
(1) AutoDetection - Off
(2) Device Family - S6E1Cxx
(3) Device (in my case) S6E1C32D0AGV20000
(4) From menu File > File Load...
Note: May be you can just select "Erase All Flash" at this point.
(5) Select your hex file with File Open Dialog
(6) Then from menu File > Program
(7) Program succeeded
moto