- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I need to create a bootloader that allows a host interfaced through an I2C bus to make any swr updates.
I saw that the PSoC systems already provide for this eventuality, but going to read in detail the operation I seemed to understand that the downloading protocol is set in the libraries.
Unfortunately I need to implement a custom I2C protocol.
Reading the datasheets of Cypress I seemed to understand that the implementation of a custom communication is possible, but I could not find APP notes or examples to use.
The only thing I could find is an application made by a user, shared on the web in a forum, where a bootloaded application is implemented through an I2C serial eeprom.
That proposal, however, does not seem to me a good example of customization since Cypress's design philosophy is not followed as the APIs produced by the APP generator are modified directly, modules that Cypress expressly invites not to modify.
What I ask is to get directions on how to proceed, and maybe some examples from which to take inspiration.
Thanks
Solved! Go to Solution.
- Labels:
-
PSoC 4 Architecture
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Alessandro, I believe that you are trying to create a custom interface, based on I2C. Our documentation (e.g. AN86526, AN73854, Bootloader Component datasheet) briefly alludes to custom interfaces but does not provide detailed examples. It is straightforward to create a custom interface; the main thing that you need to know is that the custom module must provide five functions to support bootloading: Start(), Stop(), Reset(), Read(), and Write(). The best way to build the custom module is to study how these functions are implemented in our standard Components such as I2C and UART, and port that into your custom module.
Regards,
Mark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Cypress has an application note on PSoC 4 I2C Bootloader : AN86526.
The link is : http://www.cypress.com/documentation/application-notes/an86526-psoc-4-i2c-bootloader
-Sayani.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Alessandro, I believe that you are trying to create a custom interface, based on I2C. Our documentation (e.g. AN86526, AN73854, Bootloader Component datasheet) briefly alludes to custom interfaces but does not provide detailed examples. It is straightforward to create a custom interface; the main thing that you need to know is that the custom module must provide five functions to support bootloading: Start(), Stop(), Reset(), Read(), and Write(). The best way to build the custom module is to study how these functions are implemented in our standard Components such as I2C and UART, and port that into your custom module.
Regards,
Mark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Mark.
Your suggestion was very useful.
A curiosity.
Going to see the bootloader component, I note that among the options there is the possibility to set "Custom component".
I do not understand the use of such options. The component datasheet did not help me
Regards,
Alessandro