2007-04-12 12:15 AM
Bootloader: Main App not running after system reset
2011-05-17 12:39 AM
Hi, gajer
If the remap bank1 to 0x00, I recommand that you will modify the start code of IAP as following --> Reset_Addr DCD Reset_Handler Undefined_Addr DCD 0x80004 SWI_Addr DCD 0x80008 Prefetch_Addr DCD 0x8000C Abort_Addr DCD 0x80010 DCD 0 ;//Reserved vector IRQ_Addr DCD 0x80018 FIQ_Addr DCD 0x8001C . . . and then setting software remap in both the application and IAP program as following FMI_BankRemapConfig(0, 6, 0, 0x80000); /* Set Flash banks size & address of STR912FW44X6(32K, 512K, 0x0, 0x80000) */ FMI_Config(FMI_READ_WAIT_STATE_2, FMI_WRITE_WAIT_STATE_0, FMI_PWD_ENABLE,FMI_LVD_ENABLE, FMI_FREQ_HIGH); /* FMI Waite States */ and, to use PLL, you must only set PLL in the IAP because of the difference between system reset and gloabal reset. I hope that you will success.... Beset regards KM SHIM ;) ;)2011-05-17 12:39 AM
Hi kmshim.
>>> and then setting software remap in both the application and >>> IAP program as following FMI_BankRemapConfig(0, 6, 0, 0x80000); this not work and don't make sense IAP -> FMI_BankRemapConfig(0, 6, 0, 0x80000); remap Bank1 to 0x00(IAP run) APP -> FMI_BankRemapConfig(0, 6, 0, 0x80000); remap Bank1 to 0x00 ???(APP don't run) >>>FMI_Config(FMI_READ_WAIT_STATE_2, FMI_WRITE_WAIT_STATE_0, >>>FMI_PWD_ENABLE,FMI_LVD_ENABLE, FMI_FREQ_HIGH); /* FMI Waite States */ I try with and without PLL and I don't need configure FMI because CPU freq <=25 MHz I suppose this what write Najoua. >>> ** are modified without keeping the last values corresponding to the >>> software remapping (and are not reset to their default values >>> corresponding to the hardware remapping using CAPS). because when I jump from Application to address 0x00 then Application works fine, only when system reset occured (resetbutton or watchog) application hang-off, and when use IAP and bank remap2011-05-17 12:39 AM
Hello Gager & kmshim,
Please have a look to my answer in the following discussion forum link: http://www.stmcu.com/forums-cat-5212-21.html in this link, explanation of the observed behavior with hardware reset is given. Best regards, Najoua.2011-05-17 12:39 AM
Hi, gajer
In the case of H/W remap by FLINK or RLINK, BANK0(at 0x80000), BANK1(at 0x00) when globla reset is occued, SCU_PLLCONF :reset value SCU_CLKCNTR :reset value SCU_SYSSTATUS:reset value FMI_BSSR :reset value FMI_BBADR :reset value FMI_NBBSR :reset value FMI_NBBADR :reset value FMI_CR :reset value(0x08--->only bank0(Boot setcor) enabled) when system reset is ouccued, SCU_PLLCONF :not changed SCU_CLKCNTR :not changed SCU_SYSSTATUS:not changed FMI_BSSR :not changed FMI_BBADR :not changed FMI_NBBSR :not changed FMI_NBBADR :not changed FMI_CR :0x08(reset value(0x08 --> only bank0(boot sector)enable) I think that your problem because of FMI_CR, that is bank1 is disabled by reset value of FMI_CR. I propose that you modified start code to what i recommaned previously and application jump(0x00 --> 0x80000), and don't use the software remap.. good luck,, Best regards KMSHIM2011-05-17 12:39 AM
Hi kmshim
It's really work :) thanks, thanks, thanks :). . . . but why !!! after system reset FMI_CR : set to reset value FMI_BSSR :not changed FMI_BBADR :not changed FMI_NBBSR :not changed FMI_NBBADR :not changed In my opinion, this is a BUG. Best regards gajer