We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
Hello,
See the scatter file (xxx.sct from above).? You likely are referencing this object explicitly. If you can share it, I can help you.Try also adding --keep thisobject.o to the linker command line.
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