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 have the F28337D ControlCard up and running fine with a bootloader and application in flash.
Since all flash programming of a new application is done by the bootloader, the application is requested to do a reboot into the bootloader. This is done by setting a 16 bit pattern at a specific (internal) memory location and then using the watchdog to cause a reset, the bootloader then recognizes this pattern and stays in the bootloader waiting for new code to be received (over CAN). Well this is how it works on our earlier C2000 based platforms.
Due to ECC RAM in the F28337D (I guess this applies to all F2837x devices) the chip BOOT ROM does a RAM Initialisation as part of its BOOTROM startup sequence thus clearing ALL internal memory and we cannot use this method anymore.
Does anyone have another solution to this (besides adding external memory) on this device?
/Mads
RAM INITs are done for every XRSn on this device, this is shown in the boot ROM chapter of the TRM.
If you are not using HIBBOOTMODE (Hibernate Bootmode) register in your flow or if you doesn’t have a need to put the device to hibernate during the flash upgrade sequence then you can use that register because it is a POR reset type register.
Else, Vivek has recently released a method to reset the device using SCC Reset you can probably use it. RAM-INITs are not performed for this reset.
I will ask Vivek to provide more details on this method but you can probably continue your development with HIBBOOTMODE register until then.
hope this helps.
Best Regards
Santosh