stm32-bug记录

1、keil文件不能生成.afx和.bin文件

在这里插入图片描述
命令
D:\ProgramFiles\keilV5\ARM\ARMCC\bin\fromelf.exe --bin -o…\Output\Project.bin …\Output\Project.axf
可能有以下几种问题要排查:

  • 1、编译路径的问题,也就是fromelf.exe的路径填错了
  • 2、没有破解
  • 3、环境变量的问题:
    – 安装路径不要有中文
    – 环境变量不要有中文
    环境变量里有中文,这个要改:计算机右键-属性-高级系统设置-高级-环境变量-XX的用户变量(xx是用户名一部分) 里面的temp 和tmp路径是%userprofile%开头,把两个%userprofile%替换成c:\usertemp (这个文件名是自定义的,保证全都是英文,先在C盘里建好,再修改就行了)
    在这里插入图片描述

在这里插入图片描述

2、__asm void MSR_MSP(uint32_t addr) 提示:error:expected ‘(’ after ‘asm’

这个问题在系统自带的core_m3.c文件中也出现。不是编程的问题,而是编译器出现的假问题。
该错误可以忽略,不会影响编译和执行文件的生成。

参考文章:http://www.keil.com/support/docs/4074.htm
在这里插入图片描述

C代码中嵌入汇编,无法设置断点

在程序中嵌入了一个用汇编写的软件复位子程序后,这个.c文件中的其他用c写的代码部分,就不能设置断点了。如下图:
在这里插入图片描述

我是这样解决的,建立一个c文件,这个c文件中只放置内嵌(内联)的汇编代码,然后其他c文件调用即可,这样就可以解决部分c文件无法设置断点的现象。

用KEIL仿真STM32F103时停在Reset_Handler无法启动

断点打多了。
解决办法:把所有断点去掉,等进入main函数后,再新建断点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值