工程在编译的时候提示 error: L6235E: More than one section matches selector - cannot all be FIRST/LAST。如下图所示:
这种情况大多数发生在自建的工程中,或是在原有的工程中重新选择了芯片。这个情况是因为在工程中包含了不只一个启动文件导致的。以华大单片机HC32F003为例来还原错误的情况,我们看下工程的结构就可以很明显的看到里面有两组启动相关的文件,如下图中红框所示:
知道原因之后解决办法就简单多了,只要把两组启动文件删除一组就可以。下面说明下这两组启动文件如何删除(注意:两组启动文件只能删除一组,必须要留且只留一组启动文件)。
1.删除第一组启动文件比较简单,只要在右键点击startup_hc32f003.s,在弹出的选项中选择Remove File ‘startup_hc32f003.s’就可以把startup_hc32f003.s删除。用同样的方法再把system_hc32f003.c删除。删除后再次编译就可以成功。
2.删除Device中的那组启动文件。点击Project->Manage->Mamage Run_timme Environment或者直接点下面的图示的快捷图标。打开设置界面。
点开Device,把Startup项后面的勾选取消掉。点击OK,如下图所示。
可以看到工程中已经没有了这组的启动文件,重新编译就可以。
|