Bootloader and flash RWW

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

cross mob
JeHu_3414236
Level 5
Level 5
10 likes received First like received

The bootloader SDK AN213924 says:

PSoC 6 MCU flash has a read-while-write (RWW) capability across 256-KB regions. That is, the bootloader code

may execute in one flash region while updating flash in another region.

My application is large and I cannot reserve 256KB for the bootloader.  I modified the sample bootloader memory config to this:

    flash_app0_core0  (rx)  : ORIGIN = 0x10000000, LENGTH = 0x10000

    flash_app0_core1  (rx)  : ORIGIN = 0x10010000, LENGTH = 0x10000

    flash_app1_core0  (rx)  : ORIGIN = 0x10030000, LENGTH = 0x20000

    flash_app1_core1  (rx)  : ORIGIN = 0x10050000, LENGTH = 0x10000

Bootloader and app1 are both in the same 256KB region and everything still seems to work after I perform the app loading.  Am I allowed to put app1 code in the same 256KB region as bootloader?

0 Likes
1 Solution
ShipingW_81
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 replies posted

It's fine to modify the start address of application lower than 0x10040000, that is, put bootloader and application in a same flash sector, as the write executed by bootloader is blocking function.

View solution in original post

0 Likes
1 Reply
ShipingW_81
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 replies posted

It's fine to modify the start address of application lower than 0x10040000, that is, put bootloader and application in a same flash sector, as the write executed by bootloader is blocking function.

0 Likes