新建工程——寄存器版
6.1 新建本地工程文件夹
为了使工程目录更加清晰,我们在本地电脑上新建一个文件夹用于存放整个工程,如命名为“LED”。在该目录下新建两个文件夹,具体见下表:
文件夹名 | 说明 |
---|---|
User | 用户代码文件夹 |
Output | 编译输出文件夹 |
在本地新建好文件夹后,在文件夹下新建一些文件,如下表所示:
文件名 | 说明 |
---|---|
startup_stm32f10x_hd.s | 启动文件 |
stm32f10x.h | 寄存器映射文件 |
main.c | 主程序文件 |
6.2 新建工程
-
打开KEIL5:新建一个工程,如下图所示。工程名根据喜好命名,这里取名为
LED-REG
,直接保存在LED
文件夹下。
-
选择CPU型号:根据开发板使用的CPU具体型号选择,这里选择
STM32F103VE
,如下图所示。如果没有出现想要的CPU型号,可能是因为KEIL5没有添加device库,添加方法参考第1章。
-
在线添加库文件:用寄存器控制STM32时我们不需要在线添加库文件,单击关闭按钮。
-
添加文件:在新建的工程中添加文件,可以从本地建好的工程文件夹下获取。双击组文件夹出现添加文件的路径,然后选择文件。要添加的文件说明如下:
- startup_stm32f10x_hd.s:这是启动文件,由汇编语言编写,C编程用得较少,可暂时不管。文件从固件库中拷贝而来,由官方提供,位于
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s
。 - stm32f10x.h:用户手动新建,用于存放寄存器映射的代码,暂时为空。
- main.c:用户手动新建,用于存放main函数,暂时为空。
- startup_stm32f10x_hd.s:这是启动文件,由汇编语言编写,C编程用得较少,可暂时不管。文件从固件库中拷贝而来,由官方提供,位于
-
配置魔术棒选项卡:配置工作很重要,很多问题出在这一步。
-
Target选项卡:选中
Use Micro Lib
复选框,以便在编写串口驱动时使用printf函数。 -
Output选项卡:输出文件夹定位到工程目录下的Output文件夹。勾选
Create HEX File
选项以生成hex文件。 -
Listing选项卡:输出文件夹定位到工程目录下的Listing文件夹。
-
-
下载器配置:在仿真器连接好电脑和开发板且开发板供电正常的情况下,打开KEIL,在魔术棒选项卡中选择仿真器的型号。
-
Debug选项:选择仿真器并配置。
-
Utilities选项:配置工具选项。
-
Flash配置:选择目标板,根据板子上的芯片型号决定Flash大小,这里选择512KB。勾选
Reset and Run
复选框以便程序下载完后自动运行。擦除Flash大小选择Erase Sectors
,避免选择Erase Full Chip
下载会非常慢。
-
6.3 下载程序
如果前面的步骤都成功了,接下来可以将编译好的程序下载到开发板上运行。下载程序不需要其他额外的软件,直接单击KEIL中的LOAD
按钮即可。
程序下载后,在Build Output
窗格中如果显示“Application running…”,则表示程序下载成功。如果没有出现实验现象,可以按复位键试试。当然,这只是一个工程模板,尚未编写程序,开发板不会有任何反应。
至此,一个新的工程模板已经新建完毕。接下来,我们将逐步编写程序,实现LED灯的闪烁。