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

Porting S130 bootloader to NRF51822

Hello,

I'm pretty much new to NRF development and I'm having lots of questions trying to get a custom board to work with the provided BLE bootloader example in SDK 11.

I'm using GCC and most of the answers in this forum are using Keil I think. I see that I need to change the IROM and IRAM settings to match the ones for nrf51822_xxaa, but I have no idea where to do that. If somebody could point me out the basics I would be extremely grateful!

Parents
  • This is what I see in the linker file (some comments removed):

    MEMORY
    {
      FLASH (rx) : ORIGIN = 0x3C000, LENGTH = 0x3C00
    
      /** RAM Region for bootloader. This setting is suitable when used with s110, s120, s130, s310. */
      RAM (rwx) :  ORIGIN = 0x20002C00, LENGTH = 0x5380
    
      /** Location of non initialized RAM. Non initialized RAM is used for exchanging bond information
       *  from application to bootloader when using buttonluss DFU OTA. 
       */
      NOINIT (rwx) :  ORIGIN = 0x20007F80, LENGTH = 0x80
      BOOTLOADER_SETTINGS (rw) : ORIGIN = 0x0003FC00, LENGTH = 0x0400
      UICR_BOOTLOADER (r) : ORIGIN = 0x10001014, LENGTH = 0x04
    }
    
Reply
  • This is what I see in the linker file (some comments removed):

    MEMORY
    {
      FLASH (rx) : ORIGIN = 0x3C000, LENGTH = 0x3C00
    
      /** RAM Region for bootloader. This setting is suitable when used with s110, s120, s130, s310. */
      RAM (rwx) :  ORIGIN = 0x20002C00, LENGTH = 0x5380
    
      /** Location of non initialized RAM. Non initialized RAM is used for exchanging bond information
       *  from application to bootloader when using buttonluss DFU OTA. 
       */
      NOINIT (rwx) :  ORIGIN = 0x20007F80, LENGTH = 0x80
      BOOTLOADER_SETTINGS (rw) : ORIGIN = 0x0003FC00, LENGTH = 0x0400
      UICR_BOOTLOADER (r) : ORIGIN = 0x10001014, LENGTH = 0x04
    }
    
Children
No Data
Related