Bootloaded application works differently form MiniProg programmed application

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

cross mob
Anonymous
Not applicable

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.

   

NOTE:

   

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.

0 Likes
5 Replies
Anonymous
Not applicable
        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.   
0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

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.

   

 

   

Bob

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

To create a technical case at Cypress -

   

www.cypress.com
“Support”
“Technical Support”
“Create a Case”

   

You have to be registered on Cypress web site first.

   

Regards, Dana.
 

0 Likes
Anonymous
Not applicable

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.

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

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

0 Likes