hello, everbody~
DM648, using ROM to boot. Fast boot. DSP\BIOS.
I use C code to reload new firmware to flash and reboot without power restart.
It is OK if I use old firmware as new (the same firmware is reloaded).
But if firmware is changed process is stuck in the custom routine Init_my_device() of BIOS.
Steps.
- Read and load new firmware to flash instead of running one.
- Close all my threads (I have 3 now).
- From Idle_loop routine read “my” boot loader from flash, pars it to RAM, clean all cashes and start it from its c_int00.
Boot loader reads new firmware from flash, parses it to DDR and runs it from its c_int00.
I guess memory distribution is changed but I didn’t update some registers.
Can you help what I missed ?.
Tips.
This staf works with "reset" perfectly.
If I read “my” boot loader and … from one of my threads it is OK more often then failed.
If I read “my” boot loader and … from Idle_loop it is failed allways.