用GCC编译Keil5的代码,了解GCC工具链

引言

本周接到任务,首先是熟悉STM32cubemx,既然是熟悉框也就不做太高的要求,毕竟也只是一个提升效率的工具,我就按照教程新建了一个简单地模板,算是知道怎么用cubemx从头开始建一个工程了。

而本周的第二个任务就是研究用GCC工具链编译Keil5的代码,这个的确对我来说难度不小,算是卡了我将近三天的时间,而出现这个问题的原因就是我基础不够牢靠,Keil5软件最基本的知识没有掌握,导致找不到问题的原因所在。还好我中途没有放弃,一直在尝试,也一直在找可能的原因,最终找到了,也算功夫不负有心人吧。

特此记录一下,因为我在出现这些问题之后并不能在网上找到答案,借此机会来帮助之后和我一样基础不好的小白吧。

问题产生

在研究用GCC编译Keil5的代码的时候,我在网上找到了CSDN上的一个教程,讲解的还是十分详细的。

但我按照教程,把我用cubemx建的工程搞了一遍却出现了很多很多的bug,具体如下:

用GCC编译Keil5的代码,了解GCC工具链_第1张图片

遇到这个问题之后我也查了一下,并没有找到原因,多数是说我没有定义,但我也不知道应该怎么定义呀!

寻找问题

我的直觉觉得问题可能出在教程中配置的部分,但同样的配置为什么会出现不同的结果呢?

我于是按照正点原子的教程从头开始看了一下怎么配置一个用armcc编译的流水灯模板,因为之前我没自己搞过模板,于是发现了很多我之前不知道的细节,比如添加添加定义,头文件,修改output输出文件夹,而我出现的问题就是define没有添加,导致未定义。

用GCC编译Keil5的代码,了解GCC工具链_第2张图片

//在图中define一定要添加
Define: USE_HAL_DRIVER,STM32F103xE,USE_HAL_DRIVER,STM32F103xE

解决之后成功编译!

用GCC编译Keil5的代码,了解GCC工具链_第3张图片

附上可编译模板的链接,有需要可以下载~

个人博客欢迎关注,www.qianhongbo.top

你可能感兴趣的:(STM32)