You are here

Bootloaded application works differently form MiniProg programmed application | Cypress Semiconductor

Bootloaded application works differently form MiniProg programmed application

Summary: 5 Replies, Latest post by hli on 13 Nov 2013 04:16 PM PST
Verified Answers: 0
Last post
Log in to post new comments.
laurentio86's picture
2 posts

I am developing a firmware for a custom board based on PSoC 3.

I am currently using PSoC Creator 3.0 updated at last version with all the components updated to their last version.

I decided to try to implement bootloader capability to my board to be able to distribute new firmware updates to customers without the need to have a MiniProg.

Following the Application Note AN68272 I was able to upload new firmware into my board through UART and I was happy to see that everything seemed to work fine. When I tried to perform a complete check about all the functionality of my firmware, I discovered that some of the pins were not properly driven.

In my specific case I use a PWM block to drive 2 DC motors with 2 H-Bridge. When I use the same application updated directly through MiniProg programmer, the two motors work fine, but when I update the firmware using bootloader capability, one of the two motors does not move at all.


the bootloader block has the "Bootloader application validation" checkbox checked and the "Fast bootloadable application validation" checkbox unchecked. I use the bootloader host program included in PSoC Creator 3.0 to upload my application, and I also tried to verify the uploaded application (with the bootloader host application) and everything seems to be ok.


Does anybody experienced similar problems? Is there someone who can give me some advicecs or other attempt to do?

Thank you very much.


user_119377051's picture
866 posts

Hi laurentio86, Very curious issue

I guess, UART bootloader should using Tx, Rx pin and LED and designate bootloading signal pin.

Are these pins conflicting with PWM output pins?

It is rare case but I can not think without only it.

user_1377889's picture
9245 posts

The bootloader interface may use any pins that the bootloadable project uses as well. Since only one of the programs is running at a given time and the configuration is changed accordingly there will be no conflict.

What might be is that there is an address-conflict between bootloader and bootloadable. Remember, that both have to be generated with the very same Creator and bootloader versions! Are you using any device-protections? That also might affect the functionality.

Anyhow, I would suggest you to create a technical MyCase, you will be helped definitively.



user_14586677's picture
7646 posts

To create a technical case at Cypress -
“Technical Support”
“Create a Case”

You have to be registered on Cypress web site first.

Regards, Dana.

laurentio86's picture
2 posts

Thank you very much everybody for the fast reply.

I was checking for everything except for the most important thing. When I create the new project for the bootloader, I left the default device which differs from my device for only one letter in the name and has the exact same pinout. So the error was stupid but took me a lot of time to find.

Now everything seems to work fine.


user_78878863's picture
2551 posts

No worries - nobody here had this on its list too (but I guess it will be added to some mental checklists right now :)

Log in to post new comments.