This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Query about p0.14 / Bootloader in LPC2148

The manual says that if p0.14 is low while reset is low, forces on-chip boot-loader to take over control of the part after reset. However, when I connect this pin to ground, while the user code is executing (Blinky), the program stops! When I connect it to the 3.3V pin on the motherboard, Blinky starts running again! And all this time reset is never low.
Is this supposed to happen? It doesn't seem so according to the flowchart in the manual.

Parents
  • Just a quick footnote based on your last post.

    Are you really sure that your "blinky" is blinking because the program is running as expected? Maybe the program is constantly being reset, so your program turns on the LED and then get reset so the LED is turned off. Then boots again and lights the LED.

    If you for some reason gets a repetitive reset of the chip, it will look like the program is working and blinking the LED while p0.14 is held high. But as soon as p0.14 is held low, the next reset of your program will result in the NXP boot loader sampling p0.14 again.

    Do you have enough power to the board, so you don't get a reset from any supervision chip? May you have the watchdog enabled but failing to kick the watchdog? Is there any possibility that the main loop may exit, so your program leavles main()?

    What have you done to verify that your program really continues to run? Do you have multiple LED, so you can let the individual LED display a ticking counter? Or what happens if you let the program gradually change the blink frequency by either increasing or decreasing the delay time for each new iteration?

Reply
  • Just a quick footnote based on your last post.

    Are you really sure that your "blinky" is blinking because the program is running as expected? Maybe the program is constantly being reset, so your program turns on the LED and then get reset so the LED is turned off. Then boots again and lights the LED.

    If you for some reason gets a repetitive reset of the chip, it will look like the program is working and blinking the LED while p0.14 is held high. But as soon as p0.14 is held low, the next reset of your program will result in the NXP boot loader sampling p0.14 again.

    Do you have enough power to the board, so you don't get a reset from any supervision chip? May you have the watchdog enabled but failing to kick the watchdog? Is there any possibility that the main loop may exit, so your program leavles main()?

    What have you done to verify that your program really continues to run? Do you have multiple LED, so you can let the individual LED display a ticking counter? Or what happens if you let the program gradually change the blink frequency by either increasing or decreasing the delay time for each new iteration?

Children
No data