cubeMX生成AC6工程,无法调试!!!

一、前言

由于之前采用KEIL开发,但是由于KEIL的编辑功能实在是太差了,偶然的机会,发现ST官方,有提供自己的开发工具(AC6)。实际上是ST公司基于ECLIPSE针对STM32开发的一个插件,ECLIPSE使用过的都知道,和KEIL比起来,爽的不是一点半点。

二、问题

其实在此之前也是已经使用了AC6+CUBE开发了一个STM32的项目,使用的是STM32F407ZET6,并没有出现无法调试的问题!现在使用STM32F103C8T6,使用cubeMX生成代码,编译没有问题,一调试,卧槽,既然在HAL_Init(),这个函数这里,崩溃了(无法再往下执行了)。我草,这下完蛋了。之前使用407并没有出现这个问题,难道是软件BUG。经过百般折腾,最终发现,问题出现在HAL_Init()在这个函数里边,调用__HAL_AFIO_REMAP_SWJ_DISABLE()这个宏函数,仔细一看,这不是要关闭调试功能吗,难怪,难怪,怎么崩溃了呢!二话不说,赶紧注释了。重新调试,程序终于一如既往的正确执行了!!!!!

三、总结

cubeMX生成F103程序代码,默认在加入 __HAL_AFIO_REMAP_SWJ_DISABLE()这行代码,关闭SWD功能,导致调试崩溃!!!推荐大家以后,使用cubeMX生成代码,默认把这个打开,会占用3个引脚,但是,就不会关闭SWD功能了!!!!!!

猜你喜欢

转载自blog.csdn.net/sadfdsfff/article/details/80602103
今日推荐