|
发表于 2013-12-20 09:46:52
|
显示全部楼层
本帖最后由 drydiy 于 2013-12-20 09:50 编辑
我也遇得这种情况,花了一天时间才解决,我是从STM32F103ZE的程序改成STM32F105VC的,要把启动文件换成startup_stm32f10x_cl.s,同时Preprocessor Symbols 中的DEFINE 那行的 STM32F10X_HD 改成 STM32F10X_CL.以下是大概过程:
1.先是按本帖14楼的方法,选上USE microlib,但还是没用。因为我根本没有用printf函数。
2.仔细观察后来发现debug后,单步时提示 *** error 65: access violation at 0x40021000 : no 'read' permission
搜下一下根据这个帖http://www.amobbs.com/thread-5529894-1-1.html
1楼的方法,没有解决,4楼是比较全面的方法,也没有解决。
3.最后根据http://www.amobbs.com/thread-5528756-1-1.html 这个帖子2楼的方法,要先设置BOOT1,BOOT2为0才解决了,因为我的硬件有外部把这两个脚改变了。
总结:要先排除硬件的原因,重点为是BOOT1,BOOT2的两个脚电平,不再值对应不同的启动方式。再从软件入手,第2点方法比较全面地解决这个问题。 |
|