引言
本周接到任务,首先是熟悉STM32cubemx
,既然是熟悉框也就不做太高的要求,毕竟也只是一个提升效率的工具,我就按照教程新建了一个简单地模板,算是知道怎么用cubemx
从头开始建一个工程了。
而本周的第二个任务就是研究用GCC
工具链编译Keil5
的代码,这个的确对我来说难度不小,算是卡了我将近三天的时间,而出现这个问题的原因就是我基础不够牢靠,Keil5
软件最基本的知识没有掌握,导致找不到问题的原因所在。还好我中途没有放弃,一直在尝试,也一直在找可能的原因,最终找到了,也算功夫不负有心人吧。
特此记录一下,因为我在出现这些问题之后并不能在网上找到答案,借此机会来帮助之后和我一样基础不好的小白吧。
问题产生
在研究用GCC
编译Keil5
的代码的时候,我在网上找到了CSDN上的一个教程,讲解的还是十分详细的。
但我按照教程,把我用cubemx
建的工程搞了一遍却出现了很多很多的bug,具体如下:
遇到这个问题之后我也查了一下,并没有找到原因,多数是说我没有定义,但我也不知道应该怎么定义呀!
寻找问题
我的直觉觉得问题可能出在教程中配置的部分,但同样的配置为什么会出现不同的结果呢?
我于是按照正点原子的教程从头开始看了一下怎么配置一个用armcc
编译的流水灯模板,因为之前我没自己搞过模板,于是发现了很多我之前不知道的细节,比如添加添加定义,头文件,修改output输出
文件夹,而我出现的问题就是define
没有添加,导致未定义。
//在图中define一定要添加
Define: USE_HAL_DRIVER,STM32F103xE,USE_HAL_DRIVER,STM32F103xE
解决之后成功编译!
附上可编译模板的链接,有需要可以下载~
个人博客欢迎关注,www.qianhongbo.top