IAP(In-Application Programming) with FreeRTOS
I install ST’s IAP (http://www.st.com/stonline/products/literature/an/12951.htm) on STR910-EVAL and it can download program by UART . Now I want to download FreeRTOS kernel , but it can’t execute normally.
I config the flash bank1 as boot bank . I try the example app in IAP , it can work , but my FreeRTOS can’t . Because I want to use IAP as bootloader.
Does any one have the same problem ?
IAP(In-Application Programming) with FreeRTOS
Not a direct answer as I have never used the IAP, but when the freertos starts is the processor in supervisor mode? If not then it will not start.
IAP(In-Application Programming) with FreeRTOS
I add one line in IAP before it calls the FreeRTOS : asm ("MSR CPSR_c, #0x13); to config CPU mode to supervisor mode , but FreeRTOS can’t execute , too .
Because IAP exchanged bank0 and bank1 position in flash , and I found in FreeRTOS source file lnkarm_flash.xcl have the following commands :
// Code memory in flash
-DROMSTART=0x00000000
-DROMEND=0x00080000
-DVECSTART=ROMSTART
so I change it to :
-DROMSTART=0x00080000
-DROMEND=0x03FFFFFF
-DVECSTART=ROMSTART
But it doesn’t work.
I also found source file main.c , the prvSetupHardware function have:
/*Set Flash banks size & address */
FMI_BankRemapConfig( 4, 2, 0, 0x80000 );
and I change it to :
FMI_BankRemapConfig( 2, 4, 0, 0x80000 );
It doesn’t work , too .
I don’t know why the FreeRTOS still can’t run now.