cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

TravisT
New Contributor

Now that some PSOC4 units have CAN, a common need for me is bootloading over CAN. The hope would be that I can leverage as much as possible of the built in capabilities to avoid custom bootloaders and the challenge of making them work well on deployed products. 

I see resources on several serial bootloader methods. I even see some information on customized interfaces instead of the standard serial interfaces for the bootloader (I2C, UART, ....) , but nothing specifically for CAN on the PSOC 4. When choosing a bootloader interface there is an option for a custom interface, but that leads me deep down a path, one I am unsure is the best or even necessary.

It would seem that making a custom component would be the best route, but I am unsure enough I would like opinions from much more experienced people. I am getting comfortable with PSOC but creating a new component to handle a bootloader interface seems like a project in itself. 

Said about non standard communication for a bootloader

If you want to use a nonstandard communication channel for bootloading, you can easily create a custom Component. You must write an API for the Component that supports just five functions: Start, Stop, Reset, Read, and Write. For more information on how to create a bootloader custom communication Component, see the PSoC Creator Component Author Guide.

PSoC® 3, PSoC 4, and PSoC 5LP UART Bootloader

https://www.cypress.com/file/45171/download

 

PSoC - Introduction to Bootloaders

https://www.cypress.com/file/45346/download

PSoC® CreatorTM Component Author Guide

https://www.cypress.com/file/137436/download

CE221653 – PSoC 4 Bootloader and Bootloadable

https://www.cypress.com/file/407091/download


0 Likes
1 Solution
BragadeeshV
Moderator
Moderator

Hi @TravisT , We do not officially support bootloading using CAN in PSoC's bootloader component. However we have an example project built in PSoC 5 to support this feature. You should be able to port this to PSoC 4 since it uses the same CAN and bootloader component. 

It may not be required for you to create a new component. Rather, you can choose the interface as custom in the bootloader component and define the functions Start, Stop, Reset, Read, and Write to work with CAN component. You could use the attached project as reference to develop this feature. 

Original Project Link: https://community.cypress.com/t5/PSoC-5-3-1-MCU/CAN-Bootloader-Bootloadable-Project/

The above project uses old PSoC Creator version and components. I have also attached an updated version of the project with this response for your reference.

Let us know if this helps.

 

Regards,
Bragadeesh

View solution in original post

0 Likes
2 Replies
BragadeeshV
Moderator
Moderator

Hi @TravisT , We do not officially support bootloading using CAN in PSoC's bootloader component. However we have an example project built in PSoC 5 to support this feature. You should be able to port this to PSoC 4 since it uses the same CAN and bootloader component. 

It may not be required for you to create a new component. Rather, you can choose the interface as custom in the bootloader component and define the functions Start, Stop, Reset, Read, and Write to work with CAN component. You could use the attached project as reference to develop this feature. 

Original Project Link: https://community.cypress.com/t5/PSoC-5-3-1-MCU/CAN-Bootloader-Bootloadable-Project/

The above project uses old PSoC Creator version and components. I have also attached an updated version of the project with this response for your reference.

Let us know if this helps.

 

Regards,
Bragadeesh

View solution in original post

0 Likes
TravisT
New Contributor

Thank you Bragadeesh, 
I was not sure how close the PSOC5 was and if it was a good starting point. It sounds like it is actually very close and it should provide most of what I need. 

I will take a look at the project and respond with any more questions.

Thanks

0 Likes