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 ?
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.
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.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.