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

sd_softdevice_vector_table_base_set() implementation

Hi!

Turns out that there is no need for the SD310 and the nRF bootloader. Which means that the flash layout is edited and current support for the BLE OTA is dropped since SoftDevice and bootloader is deleted from flash.

DFU functionality is replaced by the firmware. The OTA image is downloaded using GSM modem and saved to flash. Also thin bootloader is now supplied since there is need to jump to the correct FW bank after the reset. The bootloader basically is a one liner :

	memcpy(&app_start, (uint32_t*)0x3FC00, 4);
    bootloader_util_app_start(app_start);

Flash addresses of the items:

  • Bootloader FLASH_START = 0
  • FW bank 1 FLASH_START = 0x1c000
  • FW bank 2 FLASH_START = 0x2d000

The final problem is... I do not know how to ditch the bootloader vector table @0 to the application one @ 0x1c000/0x2d000. How do you offset it. Currently I am relaying the interrupts from bootloader using the following example - http://ideone.com/x38pw4

Thanks!

Parents Reply Children
No Data
Related