建立名字为LED的文件夹存放工程文件,其中再建立两个文件夹,Listing文件夹用于存放编译器编译时候产生的C语言、汇编、链接文件,Output文件夹用于存放编译产生的调试信息、hex文件、预览信息、封装库等。
文件夹建好之后,在LED文件夹下存放startup_stm32f10x_hd.s、stm32f10x.h、main.c文件。前两个文件可以在STM32F1xx的固件库中找到,第三个文件是空文件。
如下图所示,Project-New,新建工程,工程名为Led,点击保存。
点击保存之后,弹出如下窗口,选择芯片型号。根据你开发板使用的芯片具体的型号来选择。如果这里没有出现你想要的CPU型号,或者一个型号都没有,那么肯定是你的KEIL5没有添加Device库,关于如何添加请往下看。
安装Device库
下载KEIL MDK5以后是没有安装device的,如果此时创建工程会找不到目标芯片,如下图所示:
此时我们就要安装自己需要的芯片系列,比如STM32F1系列。首先选择Project-Manage-Pack Installer,此时出现下面如下界面:
选择菜单栏中的Packs,点击Check for Updates,此时就会出现最新的支持的CPU系列,更新完毕之后会出现如下界面:
我们选择需要安装的芯片厂商,这里因为要安装STM32F1系列,所以选择ST公司,然后在右侧出现了STM系列的芯片,如上图右侧箭头所示,此时点击需要安装的STM32系列,这里我需要安装的是STM32F1系列,点击安装,此时软件会下载对应的芯片包,如下图所示:
这个下载过程比较慢,耐心等待,安装完毕之后,关闭KEIL5,重新打开KEIL5,此时新建工程,就出现了需要的芯片。
用寄存器控制 STM32 时我们不需要在线添加库文件,如关掉下图窗口。
向工程中添加文件
在新建的工程中添加文件,文件从本地建好的工程文件夹下获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可,如下图所示。
配置魔术棒
如下图所示,Target中选中微库“Use MicroLib”,为了编写串口驱动时可以使用printf函数。
Output 选项卡中把输出文件夹定位到我们工程目录下的 output 文件夹,如果想在编译的过程中生成 hex 文件,那么那 Create HEX File 选项勾上。
点击Listing选项卡中的Select Folder for Listings,把输出文件夹定位到先前创建的Listings文件夹。
配置下载器
在仿真器连接好电脑和开发板且开发板供电正常的情况下,打开KEIL5软件,在魔术棒选项卡里面选择所用仿真器的型号,如下图所示。
在Utilities中勾选Use Debug Driver,如下图所示。
点击Debug中的Settings,选择相应仿真器,勾选SW,Clock选为5MHz,Reset选择Autodetect。
在Flash Download中做如下图所示的配置,勾选Reset and run,程序下载后自动运行,不用先手动复位。
如上,在Keil5中新建了工程,并对软件进行了正确配置之后,就可以点击下图1处的Rebuild按钮编译,再点击2处的LOAD下载到开发板上运行。