I am currently using CY8C624ABZI-S2D44 (PSOC6) with DFU as APP0 and APP1 which supports USB-CDC UART based APP1 firmware update. Everything is working fine so far. But as I am expanding my application and need more FLASH memory as this PSOC6 comes with 2MB flash, I am unable to expand FLASH beyond 960KB and its unhappy when I tried to move FLASH_BOOT_META data inorder to allocate more than 1MB flash. Please refer this as my current “.ld” files configuration and provide valuable inputs on this.
flash_cm0p (rx) : ORIGIN = 0x10000000, LENGTH = 0x2000
flash_app0 (rx) : ORIGIN = 0x10002000, LENGTH = 0x10000
flash_app1 (rx) : ORIGIN = 0x10012000, LENGTH = 0xFA000
flash_boot_meta (rw) : ORIGIN = 0x100FFA00, LENGTH = 0x400
We have modified the metadata to last 0x400 bytes as for 2mb devices flash address range is 10000000 to 10200000 and we have set the app requirements as you have mentioned above.
I have attached the image of the settings done at our end, please try that and let us know if that works for you.
Thanks for your prompt reply..!!
Currently the “flash_app1” working fine with “1.0MB (0xFA000)” memory but its failing if I am trying to allocate more than 1MB(0xFA000) memory to “flash_app1”. I am trying to allocate to “1.9MB (0x1E1400)” to “flash_app1” as it has almost “1.98MB (0x1EDC00)” available between “flash_app1” and “flash_boot_meta” area (Please refer an attached image).
/* This is Failing for flash_app1*/
flash_app1 (rx) : ORIGIN = 0x10012000, LENGTH = 0x1E1400
flash_boot_meta (rw) : ORIGIN = 0x101FFA00, LENGTH = 0x400
Could you please let me know, what’s the maximum flash memory I can allocate to “flash_app1” and if you have any document for PSOC6 flash memory map with DFU support of 2MB flash then please share that information.
Thanks for the document. But if I am trying to allocate 1280KB(0x13 8830) to FLASH_APP1 then its build the binary without any errors but failed into programming via DFU Tool with Checksum error. Please refer an attached image and provide your valuable inputs on this.
/* Current Allocation*/
/* Total Flash = 2048KB Sec=8 256KB/sec APP1 = 1280KB (0x138830)*/
flash_app1 (rx) : ORIGIN = 0x10012000, LENGTH = 0x138830