请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f3开发中遇到的问题与解决方案

[复制链接]
瑟瑟秋风 提问时间:2013-3-29 21:17 /
 以前使用的是MDK4.5 但是没有stm32F3的元器件,

果断的使用了4.6版本了。
但是编译之后出现这样错误:
linking...
.\Obj\prj.axf: Warning: L6373W: libattrs.map file not found in System Library directory C:\Program Files\ARM\ADSv1_2\LIB\armlib\. Library selection may be impaired.
.\Obj\prj.axf: Warning: L6310W: Unable to find ARM libraries.
.\Obj\prj.axf: Error: L6411E: No compatible library exists with a definition of startup symbol __main.
Target not created

后来查找各个原因终于发现了:::::
以前使用arm的时候 安装了ADS的软件,所以出现了问题,但是卸载了该软件后还是不能编译

原因在于需要把环境变量删除才可以的
我的电脑->属性->高级-环境变量-path里面把d:\Program Files\ARM\ADSv1_2\bin;相似的这句话给删除了就可以了

然后重新打开工程软件,
编译成功了!

在配置st-link的时候需要注意的问题是
记得需要选择上SW这个选项才能识别出来这个stm32的
 
显示“NO target connected“ 但是驱动没有问题 在设备管理器中海显示出有stlink
后来我查找发现了问题了:
原理是配置了GPIOA的 14 13这两个口了  

GPIOA_MODER复位后的值为:0x2800 0000,即将GPIO13\14配置为复用模式,但为什么在程序配置了GPIO13\14为输出,并且在目标芯片有复位的情况下也会引起SWD无法仿真、下载的问题。

解决办法:

1、先确认目标板上电。

2、先长按住目标板上的复位键,再点击 Settings,再松开目标板上的复位键。
3、此时KEIL打开Settings的设置对话框,请确认有SWD的内容后,再进行下一步。
4、将STM32F051Disconvery板断电,重新上电。
5、先长按STM32F051Disconvery的复位键,再点击仿真或者下载按钮,再松开复位键。
      注:这里点仿真到松开复位键不是每一次都能成功,每次点了仿真键到松开复位键的时间每次都不同,在某一个点时,就可以进入仿真或者下载程序了。板子就恢复正常了。但需要注意的是,在程序里一定要避开对GPIO13\GPIO14的配置。

注意:松开复位键 需要感觉的  太短或者太长都不可以的 。需要多次试验才能够成功。


出现了这个问题::Error: failed to execute 'd:\keil\arm\BIN40\ArmCC'

重装了一遍软件后,还是出现这问题。我就不再点击rebuild 这个按钮了,而是点击build 继续编译,编译通过了。
可能电脑的配置有问题了吧,本质还没有解决!
收藏 评论1 发布时间:2013-3-29 21:17

举报

1个回答
zykzyk-93033 回答时间:2013-3-29 22:01:39

RE:stm32f3开发中遇到的问题与解决方案

真的很复杂啊

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版