- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I created a project with a bootloader and a bootloadable component. I've designed the bootloader to wait 2 second then run the application. The application will launch into a reset if a certain register gets written to. Giving a custom bootloader host a chance to write a new application.
My problem is on startup the bootloader never exits and waits for a command forever. Debugging it the application id being valid is failing and therefore its running the bootloader forever. Am I doing something wrong?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I would suggest to uncheck the option "Accept matching Address in Rx"
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Just tried that. No luck.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What is your underlying hardware (Kit? Which??) and what progammer do you use?
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Chip: CY8C4014LQI-422
Programmer/Debugger: MiniProg 3
The chip is connected to a 3x9 touchpad and acts as a slave device. Beyond that the touchpad board is connected by I2C to an Android CPU. It wouldn't enumerate in that environment. I've disconnected it from the CPUto see if there was a problem between the two, but I still see the issue with the board disconnected. There are 5 debug pins that on the board that our connected to the MiniProg 3.
The unit works when I disable the bootloadable component.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bob, I wonder if this is same type problem I was having when using bootloader and bootloadable,,,ie if we modify lower flash (ie flash not outside the area in which checksum is calculated) it causes the bootloader to sense a corrupt load and always run. I was using Em_eeprom so that may have been a different issue but it sounds like the same problem I was having.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Use the flash area below the MetaData area and in bootloader component specify to exclude the used amount of flash from checksum generation.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How do I do that?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Use the flash area below the MetaData area. Have a look at the memory maps in the bootloader datasheet.
In the "System Reference guide" (Creator -> Help) you find descriptions of flash APIs and defined constants.
The bootloader config has an entry for excluding that area from calculating the checksum.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you mean start the application program right below the metadata area? And then exclude the bootloader area from the checksum?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No.
Use one or two flash rows right below the metadata area for your emeeprom.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't have an emeeprom in my design.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I was reflecting to R.Thomas post. You did not disagree with his assumption yet.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It sounded like that could be part of the problem. I don't have the eeprom, but was wondering if anything in my project would of caused a similar problem.