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

NMI Handling in Bootloader

Hi,

i use a Little Assembler Program to copy a Bootloader from Flash to RAM and it works fine so far.

The question i'm asking myself: The Program starts automatically at the Reset-Vector in Flash and defines no other Interrupt Service Vector.

For me, thats's OK, because all Interrupts are disabled but what happens if a NMI appears?

For my Controller STM32F103RB, the NMI is only sourced by a so called Clock Security System.

Because i don't use it nothing happens. But what if i change the Controller some day?

Is it good Practice to handle the NMI in such a small Program or is it not neccessary?

Parents
  • At least you should consider the boot-loader (or any low-level software) as SoC dependent. So if you switch to another Cortex-M which  uses the NMI differently, you will have to adjust the boot-loader.

    Since the NMI seems to point to a "catastrophic" error, I'd rather do a reset instead of "ignoring".

Reply
  • At least you should consider the boot-loader (or any low-level software) as SoC dependent. So if you switch to another Cortex-M which  uses the NMI differently, you will have to adjust the boot-loader.

    Since the NMI seems to point to a "catastrophic" error, I'd rather do a reset instead of "ignoring".

Children