This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Bootloader without SoftDevice

Hello

I am building bootloader. I do not use Softdevice and used example from this topic. Bootloader must read FW from uSD card, update flash and jump to application. uSD card is connected to SPI0 of nrf51. SPI1 is used for external LIS3DH sensor. One of sensor's pin report to gpiote about new data.

Interruptions in application

  • gpiote
  • spi
  • rtc

Facts:

  • My application, if I put it to 0x0000, operate fine
  • If I put my app to 0xC000, then JUMP to appliction happens fine
  • If jumped from bootloader, during init of LIS3DH in my app I see all go to hardfault.
  • I see RTC interrupt is redirected correctly, but SPI is not and leed to hardfault

I can't understend whats wrong with vectors table redirection.

A. Please, advice, why hardfault happens

B. Hardfault handler in main.c of application don't work. I do not know why, please, help with it

Thank you. Projects are attached with this link

Related