4.1 新建工程:
4.1.1 新建本地工程文件夹:
为了工程目录更加清晰,我们在本地电脑上新建 1 个文件夹用于存放整个工程,如命名为“LED”,然后在该目录下新建 2 个文件夹,具体如下:
表格 8 工程目录文件夹清单
表格 9 工程目录文件夹内容清单
4.1.2 新建工程:
打开 KEIL5,新建一个工程,工程名根据喜好命名,我这里取 LED-REG,直接保存在 LED 文件夹下。
1. 选择 CPU 型号:
这个根据你开发板使用的 CPU 具体的型号来选择, 我的F429选STM32F429IGT 型号。如果这里没有出现你想要的 CPU 型号,或者一个型号都没有,那么肯定是你的 KEIL5 没有添加 device 库, KEIL5 不像 KEIL4 那样自带了很多 MCU 的型号,KEIL5 需要自己添加,关于如何添加请参考《如何安装 KEIL5》这一章。
2. 在线添加库文件:
用寄存器控制 STM32 时我们不需要在线添加库文件,这里我们点击关掉。
3. 添加文件:
在新建的工程中添加文件,文件从本地建好的工程文件夹下获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可。我们对要添加的三个文件说明如下:
startup_stm32f429_439xx.s
启动文件,系统上电后第一个运行的程序,由汇编编写, C 编程用的比较少,可暂时不管,这个文件从固件库里面拷贝而来,由官方提供。文件在这个目录: STM32F429固件库STM32F4xx_DSP_StdPeriph_Lib_V1.8.0LibrariesCMSISDeviceSTSTM32F4xxSourceTemplatesarm
stm32f4xx.h
用户手动新建,用于存放寄存器映射的代码,暂时为空。
main.c
用户手动新建,用于存放 main 函数,暂时为空。
4. 配置魔术棒选项卡:
这一步的配置工作很重要,很多人串口用不了 printf 函数,编译有问题,下载有问题,都是这个步骤的配置出了错。
a) Target 中选中微库“Use MicroLib”,为的是在日后编写串口驱动的时候可以使用 printf 函数。而且有些应用中如果用了 STM32 的浮点运算单元 FPU,一定要同时开微库,不然有时会出现各种奇怪的现象。 FPU 的开关选项在微库配置选项下方的“Use Single Precision”中,默认是开的。
b) Output 选项卡中把输出文件夹定位到我们工程目录下的 output 文件夹,如果想在编译的过程中生成 hex 文件,那么那 Create HEX File 选项勾上。
c) 在 Listing 选项卡中把输出文件夹定位到我们工程目录下的 Listing 文件夹。
5. 下载器配置:
在仿真器连接好电脑和开发板且开发板供电正常的情况下,打开编译软件 KEIL,在魔术棒选项卡里面选择仿真器的型号,具体过程看图示:
Debug 选项配置
Utilities 选项配置
Debug Settings 选项配置
选择目标板,具体选择多大的 FLASH 要根据板子上的芯片型号决定。 F429选 1M。这里面有个小技巧就是把 Reset and Run 也勾选上,这样程序下载完之后就会自动运行,否则需要手动复位。擦除的 FLASH 大小选择 Sectors 即可,不要选择 Full Chip,不然下载会比较慢。
4.1 下载程序:
如果前面步骤都成功了,接下来就可以把编译好的程序下载到开发板上运行。下载程序不需要其他额外的软件,直接点击 KEIL 中的 LOAD 按钮即可。
程序下载后, Build Output 选项卡如果打印出 Application running…则表示程序下载成功。如果没有出现实验现象,按复位键试试。当然,这只是一个工程模版,我们还没写程序,开发板不会有任何现象。
至此,一个新的工程模版新建完毕。
上一篇:再造STM32---第五部分:使用寄存器点亮 LED 灯
下一篇:再造STM32---第三部分:什么是寄存器?
推荐阅读最新更新时间:2024-11-03 15:44
设计资源 培训 开发板 精华推荐
- OP497FPZ精密运算放大器正峰值检波器典型应用电路
- LTC4269-1 演示板,带有 48V 隔离辅助装置的 PoE 受电设备,Vout = 12V,Iout = 2A
- SP7652EB,用于分布式电源系统的 3.3V DC 到 DC 单路输出电源的评估板
- 参数测量单元(PMU)的布线指南
- EVAL6472H,L6472 全集成步进电机驱动器演示板
- LTC2945IMS 双电源监视器的典型应用,具有用于电流隔离的通用光电耦合器
- #第六届立创电赛#天气时钟语音助手
- UC2845B 升压电荷泵转换器的典型应用
- LED时钟 创意时钟 ESP8266
- 用于 24VIN、5V 和 3.3V 输出的 LTM4628EY DC/DC 模块稳压器的典型应用电路