(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程

时间:2024-04-04 22:54:41

一、TrueSTUDIO说明

不管是还在学习的还是已经工作的应该都很熟悉Keil和IAR这两款用来开发嵌入式的软件,在国内普遍用的这两款编译软件都是**版的,并没有经过正规渠道授权注册,这就导致了在开发中总会显得小心翼翼,特别是在用于盈利为目的使用的时候会使个人或者公司存在着被调查的风险。为此很多人都希望有一款免费的编译软件来用来嵌入式开发,毕竟正版的Keil和IAR还是很贵的。

这里我为大家介绍一款比较好用的能够编译STM32系列MCU的免费的编译软件StrueSTUDIO,据说已被ST公司收购所以如果是ST的客户的话,用这款软件开发嵌入式应该会更便利。如下图一所示介绍,这是一款针对STM32完全免费的软件,其它的信息在这里我也就不多说了,有兴趣的可以到此链接查看:https://atollic.com/truestudio/

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图一

 

二、创建一个基于STM32标准库的工程

经常使用STM32的人都知道为了方便嵌入式工程师开发STM32,ST公司先后推出了几种固件库,其中要数标准库用的人比较多,因为有先发优势网友们提供的基于标准库的资源也较多,但随着ST公司大力主推HAL库,在不久的将来HAL库可能会完全代替标准库,所以如果是新人的话学习HAL库将是不错的选择。当然就标准库来说,对于很多用户的需求用标准库也是可以实现的,这也是我为什么要创建标准库工程的原因了。

对于使用Keil学习单片机的人来说,首先要学会的应该就是如何建一个工程点亮一个LED灯,因为大多是用固件库编程,起初的建工程可谓相当繁杂。但是如果你是使用TrueSTUDIO那么这些繁杂的流程将可以直接抛弃,仅需点几下鼠标,一个完整的工程模板就会轻松建成。下面我将打开TrueSTUDIO软件为大家演示一遍,如图二,用过eclipse的看到这个界面应该会很熟悉,没错该软件就是基于eclipse的,很多功能完全可以按照操作eclipse的方法来。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图二

如图三,选择File-->New-->C Project。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图三

在弹出的对话框进行如图四操作。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图四

根据自己的需求选择好配置信息,如下图五。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图五

一直点击Next直到出现如下图六界面,选择好自己所使用的下载器。注意:一旦确定好下载器将无法更改,经过我多次尝试发现该软件对于山寨版的J-Link很不友好,下载程序总是不成功,后来更换了STLINK才成功,我用的是STLINKV2。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图六

 

继续点击Next,在这里没提到的都将默认,最后点击Finish完成工程的创建。下面就是我建立的标准库工程目录,发现是不是很简单。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图七

 

三、对创建好的工程进行编译

必须要选中要编译的工程,然后进行编译。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图八

 

编译完成后会发现有一个warnings,这个警告我们可以不用管,如果非要消除的话我们可以双击警告信息,它会自动跳到警告的位置,如下图所示,很明显警告的原因就是多了一对花括号,我们把它去掉重新编译一下警告就会消失。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图九

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程

对于编译过程信息我们将会在Console对话框中看到,下图十显示是编译成功的最后信息。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图十

四、成功创建完工程后还需要注意的一些东西

在工程的目录中会有一个单独的.ld文件,如图十一所示,打开这个文件会有我们使用MCU的内存起始地址和Flash的起始地址以及大小,还有堆和栈的大小,在这里我们可以根据需求对其进行修改,也只有这里可以修改这些配置。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图十一

如果我们需要更改时钟的话,应该注意以下几个文件。

如图十二所示,如果用的是外部时钟的话,在这里要根据自己的时钟源进行修改,默认的是25MHz,在这里我改成了8MHz。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图十二

这里也需要作出更改,比如外部时钟是25MHz这里就进行了25分频;为了保持一致我在使用外部8MHz时钟的时候,应该进行8分频。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图十三

这里是倍频值,如果外部时钟源是25MHz且分频25,那么经过360倍频后就是180MHz;这里因为我用的是8MHz外部时钟源分频8,想要系统时钟达到168MHz,就应该336倍频。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图十四

这里是180MHz的系统时钟,如果是168MHz的系统时钟这里应该修改成168000000。

(一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
图十五

至此,经过以上配置,一个符合基本要求的标准库工程建立完成。