kiel5编译报错error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.

原因是startup_xxx.s文件只能保留其中一种**

启动文件分别带有hdmdldclvlxl几种种字样。需要查看mcu的flash内存大小来选择。
cl:互联型产品,stm32f105/107系列
vl:超值型产品,stm32f100系列
xl:超高密度产品,stm32f101/103系列
ld:低密度产品,FLASH小于64K
md:中等密度产品,FLASH=64 or 128
hd:高密度产品,FLASH大于128
PS:h代表high,高容量的意思; m代表middle,中等容量; l代表low,低容量

我使用的是STM32F1C8T6,64kb的flash,所有选择startup_xxx_md.s这个文件。


重新编译又报错 Undefined symbol SystemInit (referred from startup_stm32f10x_md.o).

这个是指startup_stm32f10x_md.o文件中的SystemInit符号没有定义。这个.o文件是由startup_stm32f10x_md.s文件生成的。
按照网上找的方法,把startup_stm32f10x_md.s文件中的这段注释掉。
在这里插入图片描述
然后再次编译,终于正常了。撒花~!!

参考博文:https://www.cnblogs.com/wellrun/archive/2011/03/21/1990074.html
https://www.cnblogs.com/lovexz/p/7134531.html

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值