散列文件报错提示信息如下:
.\Objects\your Project name xxx.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
先来还原一下为什么会出错
打开魔术棒 找到 Linker 首先看红框4,将其信息披露在下面
--cpu Cortex-M3 *.o
--ro-base 0x08000000 --entry 0x08000000 --rw-base 0x20000000 --entry Reset_Handler --first __Vectors --strict --summary_stderr --info summarysizes --map --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list ".\Listings\led_c.map"
-o .\Objects\led_c.axf
注意此时编译是不会出错的,然后修改一下配置,将上述红框1勾选一下
注意将红框1勾选后 红框2内的地址就不能修改了;
这表明系统将会根据魔术棒-Target中IROM1 IROM2 IRAM1 IRAM2等地址配置生成散列文件;
而不由红框中设置的地址生成;
勾选红框1后,红框4中的信息立即更新为下述描述:
--cpu Cortex-M3 *.o
--strict --scatter ".\Objects\led_c.sct"
--summary_stderr --info summarysizes --map --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list ".\Listings\led_c.map"
-o .\Objects\led_c.axf
点击OK后编译,此时就会报错
.\Objects\your Project name xxx.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
此时如果想着把红框1取消勾选,是不是就不会报错了呢?其实不是的
因为取消了红框1勾选后.就会发现红框3立即变化了.
如下:
此时只有将红框3中的内容也删除掉,才算是复原了,再次编译才会成功.