May 31, 2020
11:57 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 31, 2020
11:57 AM
Hi,
I am working on a boot updater software (for reprogramming bootloader). I am planning to use 2 BMHDs .BMHD0 for bootloader and BMHD1 for boot updater.
I attached an image file about my design. I am planning to erase BMHD0 before erasing bootloader so that in case a reset happens ( ex :due to power failure) during this then execution should jump to boot updater.
Now could u please tell me how to erase and write BMHDx during run time. Is there any libraries are available for that. I could find only BMHDx structure form ILLD (Ifx_Cfg_SswBmhd.c). Couldn't find any APIs for that.
Please help me.
Thanks
Jithin K Joy
I am working on a boot updater software (for reprogramming bootloader). I am planning to use 2 BMHDs .BMHD0 for bootloader and BMHD1 for boot updater.
I attached an image file about my design. I am planning to erase BMHD0 before erasing bootloader so that in case a reset happens ( ex :due to power failure) during this then execution should jump to boot updater.
Now could u please tell me how to erase and write BMHDx during run time. Is there any libraries are available for that. I could find only BMHDx structure form ILLD (Ifx_Cfg_SswBmhd.c). Couldn't find any APIs for that.
Please help me.
Thanks
Jithin K Joy
6 Replies
May 31, 2020
09:54 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 31, 2020
09:54 PM
You will have to erase the sector where BMHD is located
Jun 01, 2020
11:54 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 01, 2020
11:54 PM
You will need to do an erase sector/load data/program page sequence using the BMHD UCB base address. The UCBs are treated as Data Flash 0 areas for the purposes of programming.
Jun 02, 2020
12:08 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 02, 2020
12:08 AM
Thank you Andrew_Q & Darren Galpin answering .
I am using some flash drivers in my software which I use to erase and write in to pflash. Can I use the same for Dflash/UCB?
I am using some flash drivers in my software which I use to erase and write in to pflash. Can I use the same for Dflash/UCB?
Jun 02, 2020
12:43 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 02, 2020
12:43 AM
Probably, although the amount of data you can load/program for a page differs between pflash and dflash, so you may need to take that into account,
Jun 02, 2020
04:59 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 02, 2020
04:59 AM
Just a caution, in the datasheet the UCB Retention Time requires that you follow these limits:
Max. 100 erase/program cycles per UCB, max 500 erase/program cycles for all UCBs together
Does your design consider this?
Max. 100 erase/program cycles per UCB, max 500 erase/program cycles for all UCBs together
Does your design consider this?
Jun 02, 2020
09:11 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 02, 2020
09:11 AM
Are we talking TC2xx here, or TC3xx? From your initial diagram, it looks like you only need to worry about programming PFLASH. Updating UCBs is best avoided.