.\Obj\Templet.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
在使用KEIL4编译连接工程时一直出现这个错误,有点奇怪;devices用的是 32F101RB,启动文件用的是.mds, 因此
FLASH选择应该不是问题吧。但是将.mds换成.hds竟不报错。在网上找了下,试着配置了下LINKER,但还是不行。
无奈之下将 .SCT文件编辑了下,屏蔽了一行(全文如下):
; *************************************************************
; *** 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)
}
RW_IRAM1 0x20000000 0x0000C000 { ; RW data
.ANY (+RW +ZI)
}
}
这里将 第三行 “*.o (RESET, +First)” 屏蔽掉,如下:
LR_IROM1 0x08000000 0x00040000 { ; load region size_region
ER_IROM1 0x08000000 0x00040000 { ; load address = execution address
; *.o (RESET, +First) (屏蔽掉咯)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x20000000 0x0000C000 { ; RW data
.ANY (+RW +ZI)
}
}
之后再次编译时未提示错误,但还是不知是什么意思,不知道会不会影响之后的使用,以观后效吧
呵呵,上面的做法完全错误了,这个SCT FILE 是256KB FLASH 的文件,应使用128KB的FLASH 文件。刚刚在网
上搜到了问题所在了,原文: http://blog.21ic.com/user1/8088/archives/2011/86377.html 。
问题的关键是,库中的启动文件hd.s Option的两个选项 Include in Target Build和Always Build,而md.s未选择这两项。