PSoC 3/5 UART Bootloader Solution

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

cross mob
Anonymous
Not applicable

Some time ago i was working on a project and we only was able to make the PSoC device programable through UART, no other interfaces such I2C or USB was avaliable, so i decide to develop the solution to get the PSoC programable through UART and it is working, now you can program PSoC 3 and 5 devices through UART.

   

People interested in this solution can contact me at: andrex289@hotmail.com

   

Customization to other interfaces such as SPI is avaliable.

0 Likes
1 Solution
Anonymous
Not applicable

To interface PSoC5 with MSP430, you can have PSoC5 acting as a Slave or as a Master. I have attached a project which shows how to use PSoC as an I2C slave. In order to understand how to understand how to use PSoC different modes(Master, Slave, Multi-Master etc) please go through the I2C component datasheet. You can also find some I2C code examples that comes integrated with Creator environment. You can access theses projects by a rightclick on individual component and selecting "Find Example project". If you are new to PSoC and PSoC Creator, you should check the tutorial on this page

   

http://www.cypress.com/?id=2232&tabID=38386

View solution in original post

0 Likes
25 Replies
KishoreS_96
Employee
Employee
5 sign-ins 50 replies posted 25 replies posted
        Hi Victor, Nice to hear !! We are now coming up with an App Note for Creating Custom component with bootloader in 2-3 weeks, after which you can use any Communication protocol device for bootloading.. Regards, Kishore.   
0 Likes
Anonymous
Not applicable

Hey Kishore! That is great! at the time i was working on the UART Component with Bootloading capabilities there was not many info so it was very dificult to learn about porting the communication api and customizer interfaces from the scratch, but now i have a UART Component with bootloading capabilities.

   

I also have a bootloader host program written in C and we have tested it running on linux to bootload the firmwares to PSoC through UART, it is working very good. Ethernet Bootloading project using external chip is proposed also for our devices.

   

I hope next version of PSoC Creator comes with many components and PSoC 5 becomes commercialy avaliable soon.

   

Regards,
Victor Andres

0 Likes
Anonymous
Not applicable

Hi... i am presently working on psoc3. i want to interface uart with my pc and send data from pc to psoc3 n shows that data on lcd.

   

i had tried the code on the cypress website of 'simple 8bit uart interface' but it is not working. so please help me by sending the

   

code or by guiding us for the same...

   

 

   

 

   

With Regards,

   

Hitesh Sidhani

0 Likes
Anonymous
Not applicable

Hi Hitesh,

   

Can you tell us what issue you are facing. Which PSoC3 board are using, what settings had you made on the board. Can you start a new thread instead of digressing of from the actual Bootlader topics here.

   

-Udayan

0 Likes
Anonymous
Not applicable

We are looking at doing the bootloading over UART as well.

   

1. Does Cypress have a UART bootloader example/component (or will they soon)?

   

2. Can the UART (bootloading component) be used for the bootloading function and then once control passes to the bootloadable project for normal user Input / Output?

   

3. I see AN60317 (I2C Bootloader) but what is the Application Note # for creating custom components?

   

Thanks,

   

Stefan

0 Likes
Anonymous
Not applicable

 Hi,

   

 

   

Here is the link for the UART Bootloader component:

   

 

   

www.4shared.com/file/HjCL5iWf/UARTBLcywrkArchive01.html

   

 

   

I did this component about 6 months ago, first version was for PSoC Creator Beta, this version is for PSoC Creator Production version but i think it will work also in Beta version too.

   

The first version for the bootloader host program was make in ANSI C for linux, you can find it here:

   

www.4shared.com/file/gvEmn55k/serial-psoc.html

   

 

   

I was working on another version for windows, linux and mac in QT Creator, i didnt finish this project, only the GUI is completed, and i think some part for detecting serial ports avaliables in the PC but code for transfering the PSoC program was not finished, anyway is not difficult to implement you can check in the code for linux and port it. For the people interested here is the code:

   

www.4shared.com/file/DTGLHnWp/BootloaderHost.html

   

 

   

Regards,

   

Victor Andres

0 Likes
Anonymous
Not applicable

Victor, thanks for sharing this !

0 Likes
Anonymous
Not applicable

I got this to work but with some effort. I was not able to rename the component without getting compiler errors and changing the library location or importing into another project was hit or miss.

   

I was hoping that Cypress would come out with a natively supported UART bootloader in SP1... but obviously that did not happen.

   

Are there plans for Cypress to support UART or other protocols than the currently supported I2C and USB?

   

 

   

Stefan

0 Likes
Anonymous
Not applicable

Since there many people have shown inclination towards having UART based Bootloader, the same is being evaluated and you can expect a UART based Bootloader support from Cypress soon.

0 Likes
Anonymous
Not applicable

Hey guys,

   

I'm an undergrad student from BITS Pilani,heading the on-campus CUA Initiatives.We're trying to build a custom PSoC3 board,and that project could get a real boost from a simpler programming interface,like UART via a custom UART bootloader,because that'd eliminate the need for seperate MiniProgs or FX2LP Programming ckts.

   

Just for details,the board we're designing will be a bare-bones PSoC3 solution.It'll be just the chip,the required capacitors and a programming header,with as many pins as possible,broken out to headers.Even power will be provided by off-board supplies.The aim of this exercise is to create simple PSoC3 boards that can be produced in small batches for wider reach of this tech among our students.

   

Future versions include the support for 'Expansion board' style hardware addons(eg: Serial Port,DC/Stepper Motor Control etc)

   

Coming back to my original point,Whats the status on the Cy support on this UART Bootloading business?

0 Likes
Anonymous
Not applicable

 What's the status on a Cypress solution for UART bootloading?  It would be very useful for a number of projects I am working on.

0 Likes
Anonymous
Not applicable

 Well,

   

as of now,officially only USB and I2C are supported(i.e appnotes exist).But,you may implement any other protocol as well,including UART or even SPI.

   

Heres a KB article on the same, http://www.cypress.com/?id=4&rID=51926

   

and also you may refer to the existing implementations,specifically I2C.The system reference guide in PSoC Creator 2.0 has an SPI Slave example too in the bootloader section.

   

That is a good amount of reference material to get started with UART bootloading.However,you will have to write your own PC side software.

   

My suggestion would be to use the USB bootloader,(if your chip has the USB component) since its more universal and doesnt require any kind of further circuitry(TTL->232 or whatever).You may refer to the USB bootloading appnote here : http://www.cypress.com/?rID=57561

0 Likes
Anonymous
Not applicable

Hello ! We now have an App Note that describes how to customise any communication protocl for Bootloader. UART is taken as an example and a UART bootloader implementation. Please find the App Note here, http://www.cypress.com/?app=forum&id=2232&rID=48348.

   

 

   

The cool thing about this APP note is it has a dedicated GUI that can be use for Bootloading via UART. The source code is shared with the APP Note, download, modify and use it suit your needs.

   

Any comments, and suggestions for improvements are encouraged.

0 Likes
Anonymous
Not applicable

HI U2,

   

I think your link is wrong. it is pointing to this thread.

0 Likes
Anonymous
Not applicable

 Oops here is the correct link, http://www.cypress.com/?rID=50230

0 Likes
Anonymous
Not applicable

Bonjour,

   

J'ai besoin urgent d'aide et ou d'indications ou liens  pour établir une communication I2C entre un PSoC5 (Cy8c55) et un MSP430

   

Merci d'avance.

   

 

   

Hello,

I need help and or indications, link, ... to establish a communication I2C between a PSoC5 ( Cy8c55) and a MSP430

Best Regrards.

0 Likes
Anonymous
Not applicable

To interface PSoC5 with MSP430, you can have PSoC5 acting as a Slave or as a Master. I have attached a project which shows how to use PSoC as an I2C slave. In order to understand how to understand how to use PSoC different modes(Master, Slave, Multi-Master etc) please go through the I2C component datasheet. You can also find some I2C code examples that comes integrated with Creator environment. You can access theses projects by a rightclick on individual component and selecting "Find Example project". If you are new to PSoC and PSoC Creator, you should check the tutorial on this page

   

http://www.cypress.com/?id=2232&tabID=38386

0 Likes
Anonymous
Not applicable

HI U2, Thx

   

But i think you didnt't understand my problem

   

I need example demonstrate how send data from PSoC5 (master) to a MSP430 via bus I2C.

   

I don t see example with link you sent to me.

   

Best regards

0 Likes
Anonymous
Not applicable

HI U2, Thx

   

But i think you didnt't understand my problem

   

I need example demonstrate how send data from PSoC5 (master) to a MSP430 via bus I2C.

   

I don t see example with link you sent to me.

   

Best regards

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Hi eloi,

   

you might be in the wrong thread. This one discusses writing a boot loader for the PSoC.

   

If you want to connect a I2C communication, look at the I2C component and its data sheet.

   

If you need information of how to program the I2C bus with the MSP430, look at the examples provided by TI, or go to http://43oh.com.

   

The wiring itself is simple - just connect SDA, SCL and GND, and don't forget the pullup resistors.

0 Likes
Anonymous
Not applicable

Hi hli

   

Thx and Best regards

0 Likes
Anonymous
Not applicable

Hi All,

   

Am implementing UART bootloader for PSoC3,

   

Each row checksum validation is successful, but got an checksum error for bootlodable application. 

   

Please help me on this !

   

 

   

Thanks,

   

Manju

0 Likes
saka_284526
Level 1
Level 1
First like received

HI

   

I am developing Bootloder for Psoc 5lp device to flash Bootloadable Application in to flash.I have 256kb flash, 4 array id each array have 256 rows and each row cantain 288 bytes.I am using psoc creator 3.0 so after building bootloader project i get genrated source file Bootloader_PVT.h in this file micro define as

   

    # define Bootloder_first_flash _arrat            0x00

   

    #define Bootloder_last_flash_array_id       0x3F   

   

This above micro not mach with my flash configuration.i.e array id is 4 according to flash configration.I am confuse...Please reply....... 

   

 

   

THNKS in advance...

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Please:

   
        
  • do not cross-post into multiple categories. Asking once is enough, and doing it multiple times means the discussion will split up
  •     
  • do not hi-jack existing threads with new question. If you have a new question, open a new thread. Doing so increases your chances of getting a proper answer (because its more visible and will be found better)
  •    
   

Thanks!

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

This post was in wrong forum, will be handled here -

   

 

   

    

   

          http://www.cypress.com/?app=forum&id=2233&rID=88995

   

 

   

Regards, Dana.

0 Likes