嵌入式开发七:新建工程与环境配置—库函数版

        上一节我们学习了如何新建寄存器版本的工程,其中需要移植文件,相对来说,比较麻烦,并且我们是基于标准库的开发,因此,在这一节,我会详细介绍如何利用环境配置助手RTE新建库函数版本的工程,方便我们日后做开发,请务必熟练掌握!

目录

一、新建本地工程文件夹

二、开始新建工程

2.1 选择CPU型号

2.2 在线添加库文件

三、配置魔术棒选项卡

3.1 设置Target选项卡

3.2 设置Output选项卡

3.3 设置Listing选项卡

3.4 设置C/C++选项卡

3.5 设置Debug选项卡

3.6设置Utilities选项卡

四、配置时钟参数

五、在main.c中编写测试代码


一、新建本地工程文件夹

       为了工程目录更加清晰,我们在本地电脑上新建一个文件夹,命名为:“STM32Project”,用它来存放我们之后所有新建的工程,在它之下建立本次工程的文件夹,命名为:TestTemplate,(工程名称),然后在这个文件夹下,再建立两个文件夹,一个用来存放具体工程文件,命名为:Project,另一个用来存放程序员编写的驱动文件(main.c),命名为:User,至此,文件夹创建结束,如下图所示:

二、开始新建工程

        打开 KEIL5 软件,新建一个工程,具体见下图。工程名根据喜好命名,我这里取Test,然后把工程保存在刚才创建的Project文件夹下。

1、project->nex uvison project

2、起一个工程名,选择工程保存路径Project

 

2.1 选择CPU型号

       这个根据开发板使用的 CPU 具体的型号来选择,我们采用的是 STM32F407ZGT6 芯片。如果这里没有出现你想要的 CPU 型号,或者一个型号都没有,那么肯定是你在安装 KEIL5 软件的时候没有添加芯片包,KEIL5 不像 KEIL4 那样自带了很多 MCU 的型号,KEIL5 需要自己添加。如下图所示。

点击STMicroelectronics

选择如下: -->STMicroelectronics -->STM32F4 Series -->STM32F407 ->STM32F407ZG

2.2 在线添加库文件

         选择完 CPU 点击 OK 后会弹出在线添加固件库文件的界面,如下,这里我们便采用这种方式添加工程所需要的STM32 的启动文件,存放 CMSIS 标准内核文件,STM32 外设的驱动源文件(库文件),相比之前的文件移植,会方便很多。

勾选以下必要内容:

  1. CMSIS->CORE (CMSIS 标准内核文件)
  2. DEVICE->STARTUP(STM32 的启动文件)
  3. STDPERIPTH –>framework gpio rcc …(framework是外设RCC的依赖项,需要用到哪些外设,就在这里勾选哪个外设,非常方便)

 

介绍几个常用的工具:

 

此时,基本的工程需要的文件便配置结束,打开工程文件夹,如下所示:

1. 在使用 KEIL5 新建工程的时候,Listings 和 Objects 会自动生成,具体作用见表格。使用 KEIL5 以下版本则要手动新建。

2.RTE文件夹是我们刚才用在线添加固件库文件的界面(RTE)添加工程所需文件时自动生成的,不需要动;

3. 另外两个是工程文件,以uvprojx结尾。

打开Keil5的工程界面,如下图所示:

然后,我们在这个工程界面建立一个同名称的User文件夹,同时加入mian.c文件,用于编写代码。 

1. 右击Target 1,然后点击Add Group...

2. 将New Group名称修改为 User,在此文件夹下添加添加程序入口文件main.c文件

 

至此,工程框架搭建完毕! 

三、配置魔术棒选项卡

         这一步的配置工作非常重要,很多人编写程序编译后发现找不到.HEX 文件, 还有的人后面做 printf 实验时打印不出信息,这些问题都是在这个地方没有配 置好导致的。  为避免编写代码和编译报错,我们需要通过魔术棒对 MDK 工程进行相关设置。在 MDK 主界面,点击: (魔术棒图标,即 Options for Target 按钮),进入工程设置对话框,我们将进行如下几个选项卡的设置。

常见的工具位置介绍:

3.1 设置Target选项卡

       如下所示:

Target 中选中微库“Use MicroLib”,主要是为了后面 printf 重定向输出使用,如果你的程序中应用了 STM32 的浮点运算单元 FPU,也要打开微库, 不然会出现各种奇怪的现象。FPU 的开关选项在微库配置选项下方的“Use Single Precision”中,默认是打开的。使用AC5编译器,其他的设置保持默认即可。

3.2 设置Output选项卡

      Output 选项卡中把输出文件夹定位到我们工程目录下的 Objects 文件夹,如果 想在编译的过程中生成 hex 文件,那么那 Create HEX File 选项勾上,具体见图,Browse Information 选项是方便我们查看工程中的一些函数变量定义等。

3.3 设置Listing选项卡

   Listing 选项卡中把输出文件夹也定位到我们工程目录下的 Listing文件夹。其他设置默认,配置如下

3.4 设置C/C++选项卡

 1. 加入全局宏定义,在 stm32f4xx.h 里面会找到该宏定义。因为创建的是库函数模板,所以需要对库进行宏定义,在 Define 这一栏中复制这个宏: USE_STDPERIPH_DRIVER

2. 勾选 C99 模式,即使用 C99 C 语言标准。

3. 在 Include Paths 处加入头文件包含路径,后面的多文件编程,自己写的文件(.c和.h)因为引入的头文件模块,都需要在此处包含路径,不然编译器无法找到头文件,自然会报错。

至此,我们一个完整的 STM32F4 开发工程在 MDK5 下建立了。接下来我们就可以进行调试的配置,然后进行代码下载和验证调试了。

3.5 设置Debug选项卡

       在仿真器连接好电脑和开发板且开发板供电正常的情况下,打开编译软件 KEIL,在魔 术棒选项卡里面选择仿真器的型号,具体过程看图示:

选择好 CMSIS-DAP Debugger 型号后点击 Settings,会弹出如下界面,如果 你的型号没有选择错误的话,自动会识别你的 ARM 仿真器 ID 了,然后即可设置 SW 或者 JTAG 模式以及复位的方式,建议大家使用 SW 模式,如果使用 JTAG 模式 的话,后面有些例程是占用了一部分管脚的,所以推荐使用 SW 模式下载及调试。 具体设置步骤如下

芯片型号选择: 同样在上一步的那个 Debug 选项卡内进行设置,点击 Settings,选择 Flash Download 选项卡,我们使用的芯片是 STM32F407ZGT6,其 Flash 为 1M。在框 3 中 的 Reset and Run 选项中,如果勾上的话,当程序下载进去后自动复位运行,如 果不勾上,程序下载进去后需按下开发板上复位键才能运行。通常我们选择勾上。 具体配置如下: 

最后点击 OK 按钮即可。 

3.6设置Utilities选项卡

四、配置时钟参数

        要想单片机正常工作,必须要设置适合单片机的时钟,STM32F407ZGT6的工作频率为168MHZ,通过外部晶振8MHZ倍频等运算达到(后期详细讲解)

五、在main.c中编写测试代码

int main(void)
{
	
	while(1);
	
}

 编译通过,至此,我们就成功创建好一个库函数工程模板,大家可以使用 ARM 仿真器将程序下载到开发板内运行,观察实验现象。在以后的实验中,我们都将以此工程模板为基础来编写实验程序,减少反复创建库函数模板的麻烦。

 以上便是STM32 新建工程—库函数版的全部内容,如有兴趣,感谢点赞、关注、收藏,若有不正地方,还请各位大佬多多指教!

  • 12
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未来可期,静待花开~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值