BLE OTA DFU flash allocation for CYBLE-416045-02

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Panometric
Level 5
Level 5
100 sign-ins 100 replies posted 10 solutions authored

Using https://infineon.github.io/dfu/dfu_sdk_api_reference_manual/html/index.html#ssection_dfu_step_4 

App1 will not compile:

  • address 0x10061090 of ...elf section `.text' is not within region `flash_app1'
  • section `.ARM.exidx' will not fit in region `flash_app1'

The dfu_cm4_app1.ld file provided has:

flash_app0 (rx) : ORIGIN = 0x10002000, LENGTH = 0x10000
flash_app1 (rx) : ORIGIN = 0x10050000, LENGTH = 0x10000
flash_boot_meta (rw) : ORIGIN = 0x100FFA00, LENGTH = 0x400

I think this is wrong, for 2 reasons:

  1. There is wasted flash between  0x10012000 and 0x10050000
  2. The 1MB flash is not fully used. App1 should extend to flash_boot_meta 0x100FFA00

Therefore, I believe the correct line is

flash_app1 (rx) : ORIGIN = 0x10012000, LENGTH = 0xEDA00

Questions:

  1. Is there any reason to leave the 0x10012000 and 0x10050000 unused?
  2. Is the new size valid?
  3. Does the change only have to be made in the dfu_cm4_app0.ld, and dfu_cm4_app1.ld files, or which others?

 

0 Likes
1 Solution
RavikiranH_01
Employee
Employee
10 sign-ins 25 replies posted 10 replies posted

1. LENGTH and START are configurable. It is not mandatory to leave spaces b/w APPs
2.  Yes EDA00 is valid - App2 is using complete available flash now (Total Flash  = App1 Suez = Meta data + App2 size) 
3. Only linker files  (.ld) need to be updated.  

 

View solution in original post

0 Likes
1 Reply