1. no section to be FIRST/LAST
在一次下载了别人的工程后(来自51黑论坛STm32L低功耗测试的一个工程),由于其他工程用的DPF包有所不同,记得是按照提示更新了固件包包,然后又根据报错去解决问题后,那个固件包可以下载了,但是自己的原本可以用工程就开始报错。自己的工程什么都没有改,就会报下图的错。
但是解压缩之前备份的程序,确没有报这个错误。
百度后发现是缺少启动文件,但是之前的工程也没有添加这个,应该是原先的DPF包自带启动文件(存疑)。
添加RTE/Device/STM32L152VE文件夹下的对应的启动文件startup_stm32l1xx_xl.s后,还是会报错
还需要添加对应的system_stm32l1xx.c文件,才可以不报错。
但是这个疑问依旧存在。。
问题更新,应该是之前的我的某个RTE驱动包是支持勾选然后工程就自己添加了驱动文件。
可以参考以下链接
解决keil5 MDK里新建工程无启动文件的情况
但是我的工程勾选后并没有出现s文件,只有一个C文件,所以还是没解决问题,需要自己手动添加启动文件。
2、遇到绿色DEVICE和CMSIS包变红色
联网条件下可以直接更新,脱机模式下,可以在keil安装目录下找对应的包,然后在软件中选择后即可,也可以去网上下载对应的DFP包进行安装。
3、添加某个语句后,仿真起点不是main函数
在项目调试时,开始仿真都是正常从main函数开始执行,但是添加某个函数后程序仿真起点在.S文件上,且仿真不正常。
解决办法就是在,魔术棒(option of target)的target选项中勾选Use MicroLIB。就可以
4、keil文件产生bin文件
参考链接
BIN文件名称在output文件夹中设置
在USER选项卡中输入以下命令
$K\ARM\ARMCC\bin\fromelf.exe --bin --output=@L.bin !L