- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I see that there is a binary blob in openocd/contrib/loaders/flash/psoc4/psoc4_current_write.inc.
This data is referred to as containing the programming algorithm when it is included in the p4_current_algo[] array inside psoc_write_inner(). It is then copied into a working area in the target memory.
But I do not understand what exactly is in this binary blob. How is it derived?
I don't see any place in the psoc4.c code where a SROM request happens for PSOC4_CMD_WRITE_ROW (0x4). Thus I have been trying to understand how the data actually gets written to user flash.
I would appreciate any insights you can provide.
Solved! Go to Solution.
- Labels:
-
PSoC Creator & Designer Software
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @drewfustini ,
This binary data is a FlashLoader that performs flash programming. OpenOCD uploads this data to the RAM and executes it. The OpenOCD passes data to be programmed into flash to this FlashLoader. Using this technique OpenOCD can transfer data in large chunks which improves flash programming speed.
This binary data is basically compiled version of single C file: https://github.com/cypresssemiconductorco/openocd/blob/cypress/contrib/loaders/flash/psoc4/psoc4_wri...
All source files and a Makefile required to compile the binary are located in the same folder: https://github.com/cypresssemiconductorco/openocd/tree/cypress/contrib/loaders/flash/psoc4
Hope this helps 🙂
Regards,
Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @drewfustini ,
This binary data is a FlashLoader that performs flash programming. OpenOCD uploads this data to the RAM and executes it. The OpenOCD passes data to be programmed into flash to this FlashLoader. Using this technique OpenOCD can transfer data in large chunks which improves flash programming speed.
This binary data is basically compiled version of single C file: https://github.com/cypresssemiconductorco/openocd/blob/cypress/contrib/loaders/flash/psoc4/psoc4_wri...
All source files and a Makefile required to compile the binary are located in the same folder: https://github.com/cypresssemiconductorco/openocd/tree/cypress/contrib/loaders/flash/psoc4
Hope this helps 🙂
Regards,
Dheeraj