- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Labels:
-
PSoC 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No worries - nobody here had this on its list too (but I guess it will be added to some mental checklists right now 🙂