I try to upgrade ARM complier for V5.06 to V 6.10 in Keil MDK V5.26.
The projects I am mainly working for is with device STM32F407VGT6,
the code like this:
typedef void (*const ISR)(void); __attribute__ ((section("RESET"))) ISR IsrVector[] = { __initial_sp, //Top of Stack Reset_Handler, //Reset Handler };
When I use ARM complier V 5.06, the link result is ok.
but when i use arm complier V6.10,I get this error:
.\Objects\xxx.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
Please advise me how to resovle this problem
Here is the scatter file content
; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* LR_IROM1 0x08000000 0x00040000 { ; load region size_region ER_IROM1 0x08000000 0x00040000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) .ANY (+XO) } RW_IRAM1 0x20000000 0x00020000 { ; RW data .ANY (+RW +ZI) } }
OK, this line wants to place an ELF section named "RESET" first in this execution region:
*.o (RESET, +First)
You can name this section with .section