gaochy1126 发表于 2013-3-29 21:17:41

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

 以前使用的是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的
http://bbs.21ic.com/data/attachment/forum/201301/04/221431dgzuuual0q12cwqj.jpg 
显示“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 继续编译,编译通过了。
可能电脑的配置有问题了吧,本质还没有解决!

zykzyk-93033 发表于 2013-3-29 22:01:39

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

真的很复杂啊:D
页: [1]
查看完整版本: stm32f3开发中遇到的问题与解决方案