LPC8N04 flashing in deep-power down

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPC8N04 flashing in deep-power down

987 Views
william_hsh
Contributor I

We have a custom board with the LPC8N04, and we are programming it with a Keil ULINK2 programmer via the SWD interface. At this moment, the MCU is in DeepPowerDown mode, and I can't reach the core anymore with the debugger.

How can I program the LPC8N04 again?

Labels (1)
0 Kudos
Reply
7 Replies

848 Views
Pavel_Hernandez
NXP TechSupport
NXP TechSupport

Hello, my name is Pavel, and I will be supporting your case, I found a related thread maybe you can use the Flash magic tool.

LPC8N04 EEPROM write over 4kB result chip locked - NXP Community

Best regards,
Pavel

0 Kudos
Reply

979 Views
frank_m
Senior Contributor III

> At this moment, the MCU is in DeepPowerDown mode, and I can't reach the core anymore with the debugger.

That is the very purpose of power-down modes - to switch off units to save energy.
This is most probably a bug in your application.
Boot the MCU into ISP mode, and access via tools like FlashMagic to erase the Flash.
It should be accessible in normal fashion by your IDE and debug pod afterwards.

The process is usually explained in the MCU user manual and/or respective app notes.

0 Kudos
Reply

975 Views
william_hsh
Contributor I

Thanks for the reply. The problem is that the LPC8N04 doesn't have ISP mode (as far as I know).

0 Kudos
Reply

965 Views
frank_m
Senior Contributor III

While I don't have experience with the LPC8N04, basically all modern MCUs support such a mode.

Usually via specific mode pins, which are checked during MCU startup. If a specific logic level combination is detected, the MCU remains in the system ROM, and awaits communication on one of the defined serial lines. Most commonly UART interfaces are used.
The mode pins, logic level combinations, supported input lines and ISP protocol are usually defined in the user manual.

Evaluation boards usually come with jumpers to set the MCU in ISP mode. 
So, check the eval board documentation as well.

0 Kudos
Reply

962 Views
william_hsh
Contributor I

I have experience with the ISP modes in previous NXP MCUs I've programmed, but with this one, I can't find these modes. Additionally, this MCU doesn't have the UART interface. It's a minimalistic MCU.

I'm using the SWD interface which works fine until now.

william_hsh_0-1700743898461.png

 

0 Kudos
Reply

956 Views
frank_m
Senior Contributor III

I would be surprised if this MCU doesn't support an ISP mode, but it's not impossible.
For personal interest, I will look it up. And avoid this MCU if it is the case ... ;-O

I overlooked that you mentioned "custom board". Which probably means there is no support designed in.

> Additionally, this MCU doesn't have the UART interface. It's a minimalistic MCU.

UART is just the most common. Many system ROM bootloaders support other interfaces like SPI, CAN, or even USB.

But as said, I will check the DS / user manual, and see if I can find something.

Deep sleep modes are known to break debug access.
I suppose it would help to add a wake-up source than can be manually operated, like a GPIO level transition. 

0 Kudos
Reply

953 Views
frank_m
Senior Contributor III

It seems you are right, I couldn't find anything mentioning mode pins or ISP mode.
Which is somewhat unusual.

Perhaps some NXP employees can explain how to unbrick a board with this MCU.

I would try to set the wakeup pin (PIO0_0) and attempt debug access at the same time.

0 Kudos
Reply