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.
This widget could not be displayed.