STM32CubeMX-Keil MDK报错error: L6236E: No section matches selector - no section to be FIRST/LAST.

2 篇文章 2 订阅
1 篇文章 0 订阅
在学习STM32HAL库开发时,遇到L6236E错误,原因是缺少启动文件.startup_stm32f103xe.s。错误可能由操作失误或路径问题(如路径过深或包含中文)引起。解决方案包括添加启动文件和确保使用英文路径避免路径问题。此外,从官网下载的.s文件需注释掉特定行以避免其他链接错误。
摘要由CSDN通过智能技术生成

1.报错过程

学习正点原子HAL库开发教学视频时跟随操作出现,对应如下链接视频P35。

【【正点原子】手把手教你学STM32 HAL库开发全集【真人出镜】STM32入门教学视频教程 单片机 嵌入式】 第35讲 基础篇-新建STM32CubeMX工程步骤_哔哩哔哩_bilibili

软件版本:

STM32CubeMX6.3.0
Keil MDK5.36

2.报错原因

error: L6236E: No section matches selector - no section to be FIRST/LAST.

翻译:错误:L6236E:没有节与选择器匹配-没有节是第一个/最后一个。

这是在编译时发现的Error,其实使用STM32CubeMX生成Project工程文件时也会出现报错提示:

but MDK-ARM V5.32project generation have a problem.

只不过当时开倍速看视频没有注意到这个操作的不同,所以一定要仔细看视频操作!


出现这个错误的原因是没有驱动文件,也就是缺少后缀为.s的文件,与本工程对应的文件为startup_stm32f103xe.s

也就是下面的文件:

 错误原因有以下两种:

①跟随视频操作失误

可能出现遗漏或操作失误情况,这种情况要多次对比操作是否正确,排除这种错误方式才能确定是下面的问题。

②路径过深或者中文路径

首先确保跟随视频操作正确,无遗漏或误操作情况。

如果操作正确,依旧出现这种错误,则可能是因为路径深浅原因导致,或者不同版本的STM32CubeMX版本对于中文的兼容性不一致。

此前学习正点原子视频时,有说过Keil的MDK不同版本对中文的兼容性不一致,路径过深或者中文路径可能导致异常,没想到STM32CubeMX也有这种问题。

因此建议统一都用英文路径,并且不要设置过深的路径,从根本上杜绝路径问题这种可能


3.解决方法

解决方法如下:

方法①:

不管是什么原因引起的报错,将启动文件添加至对应Project即可,操作如下:

 

注意文件后缀为.s

PS:如果是从官网下载下的.s文件需要注释掉如下图所示的三行不然会报另一个link错误 -> “undefined symbol…”,这点正点原子教学视频中有讲到。

方法②:

如果是路径问题则把路径改好,重新生成,永绝后患。


参考文章:

http://t.csdn.cn/NVEm1

http://t.csdn.cn/nhGOj


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值