This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi. We are using the Hercules RM48l952zwt. with 5.2.12 TI bootloader for the RM 48 and 4.3.00 HalCoGen.When there is an AC (power) brownout, a board the boots with HalCoGen generated init code is Ok. However, we ship with the TI bootloader that then loads the HalCogen code and our application.The Hercules board with the TI bootloader version on the board which does the minor board bring up then loads the rest of the halcogen software corrupts the flash on banks 1,2 and 7 if AC fluctuates (brownouts) during the bootloader running. What do we need to change in the TI bootloader initializing the board so it is as stable as the halcogen generated code initializing the board, and this does not happen? Thank you.
Hi Chuck,
Thank you for your time.
Q1. When you state that the bootloader loafs the Halcogen code, can you describe how it is loading it?
No the halcogen based application code is already in Flash. The bootloader is at 0x00000000 and the halcogen based code is located in a different part of flash. Do you want me to upload the TI bootloader version we downloaded and are using? The TI bootloader we downloaded and using does the basic board bring up then jumps to another location in flash to load the halgocgen generated code with our app that is compiled in code composer to be bootloader supported (the bootloader project is seperate in code composer). If someone has a problem with unstabe AC, and it happens when the bootloader is running that is when flash is corrupted. if something happens to AC after the bootloader has loaded the halcogen based application is executing there are no problems as well as if we run halcogen based applications on board with no bootloader (debug version on code composer). But if it is during when the bootloader is running, the RM48 flash is corrupted. hat is why I asked what we could make identical in the TI bootloader initialization code as the HalCoGen generated initialization code so the bootloader behaves the same as the halcogen code.
Q2. If this is the case, you need to insure that the voltage is stable during this time.
We cannot control the customer sites in terms of their issues with power, old buildings and wiring, etc. that they are plugging the RM48 board into
With the options you describe above, is this what the HalCoGen code is doing, and that is why there is no problem with this code when the AC is unstable? Can we make those changes in the TI bootloader so the bootloader behaves the same way? Which registers did HalCoGen set that protects against this? I can upload both the TI bootloader and the TI halcogen autogenerated code so you can see the difference. Thank you again.
Hi Chuck,
Thank you. The engineering team wanted me to provide you the attachments. Please see attached uploads, the TI bootloader which has this problem when AC is unstable, and the HalCoGen code that is Ok when AC is unstable. That way you can see how different the initialization code is in both. We grep'd through the bootloader code but did not see where it is writing to Flash. When it is running for us, it should only be jumping to another location in flash where our app code is located and loading that into RAM and executing. If there is code in the TI bootloader that is writing to flash and is the root cause of this problem, where can we locate it because we want to remove if (but I could not find it). But you have both the halcogen generated init code and the TI bootloader so you can see what I meant. Thank you again.
Thank You,
Tammy
Hi Chuck did you get my reply and uploads of the TI bootloader and halcogen packages we are using? Or is it still holiday week for you and we should hear back next week? Thank You.