新建项目文件夹
在电脑桌面(其他自定义路径也可)新建一个文件夹,用于存放Keil工程。
建固件库文件夹
在新建的工程文件夹内新建用于存放固件库、工程以及编译文件的文件夹,这里我的习惯为新建6个文件夹,分别为CMSIS(存放内核文件),Lib(存放固件库库函数),Output(存放项目编译文件),Project(存放Keil工程),Startup(存放启动文件),User(存放用户文件)。
添加固件库文件
从下载的STMF10x固件库中(STM32固件库获取),将需要的文件添加到自己工程里面,官方固件库文件夹如下:
将官方固件库部分文件添加到自己工程文件夹里面去,具体添加如下:
1)添加内核文件,将路径 \STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 下的core_cm3.c和core_cm3.h复制到自己工程CMSIS文件夹下。将路径\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下的stm32f10x.h、system_stm32f10x.c和system_stm32f10x.h文件复制到CMSIS文件夹下,到这里,CMSIS文件夹添加完成,一共5个文件,如下:
2)将路径 \STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 下inc文件夹和src文件夹复制到自己工程Lib文件夹下,如下:
3)添加启动文件,将路径 \STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 下所有文件添加到自己工程Startup文件夹下(只用到一个,可只添加一个,为了方便之后对单片机型号快速切换,直接全部添加),如下:
4)添加用户文件,将路径 \STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下如下文件添加到自己的User文件夹。
到这里,文件添加就完成了,开始建Keil工程。
新建Keil工程
1)打开Keil软件,我这里使用的是Keil5.27版本,打开后点击菜单栏Project,然后点击New uVision Project…新建工程。
2)在弹出的路径选择界面选择自己新建项目文件夹里面的Project文件夹,然后输入工程名称,点击保存
3)弹出单片机型号选择界面,这里新建的为STM32F1工程,因此选择了STM32F103C8,可选择STM32F1其他型号,只要是F1就行,点击OK后会有一个窗口弹出,直接点关闭就是,不需要管(若指令没有该芯片,可下载双击安装:STM32芯片包获取)。
建立工程目录
1)将工程目录改为和自己项目文件夹一样的目录,点击工具栏的红绿白的品字小方块图标。
先点红色的×,删除默认目录,再点击虚线方框,输入目录名称,新建如下4个文件目录,和项目文件夹中添加了文件的4个文件夹名字一样,只添加内部有文件的4个目录,不需要Project目录和Output目录。
2)将项目文件夹中添加的文件增加到Keil工程目录里面,选择到对应文件夹,点击增加,只增加后缀为.c的文件(Startup目录增加的后缀为.s文件),Lib目录下增加scr文件夹里面的所有.c文件,Startup目录增加文件时,打开没有文件,是因为选择的显示.c文件,在文件类型那选择所有即可。
最终添加情况如下:
添加完成后,点击OK保存(若不点OK直接关闭,目录将建立失败),保存后在工程左边目录下就会出现刚刚添加的目录以及文件,电机"+"号可展开目录查看内部文件,如图所示:
工程配置
1)项目配置:点击魔法棒按钮,在刚刚品字按键左边,具体设置如下:
勾选后可使用一些自带的库文件
设置编译生成的文件存放路径,勾选Creat HEX File后,编译将生成一个后缀为.hex的文件,该文件在串口下载程序时需用到。
下面添加头文件路径,系统在编译.c文件时,.c文件包含的头文件.h文件将通过该路径被加载进来,如果该路径没有或者错误,工程编译将报错。
选择下载器,我这里使用的程序下载器为ST-LINK,因此我选择该下载器,如果是其他下载器选择对应的就是(有的要安装驱动),选择好后,点击右边Settings。
如果正确连接了单片机硬件,将在这里看到编号表示连接成功。
勾选下载并运行选项若不勾选此项,程序下载后将不会立即运行,需要重新上电后才会运行,为了调试方便,勾选此选项,下载程序后会立即运行。
到这里,工程所有配置基本完成。
添加代码
7)将main.c文件双击打开,删除之前的内容,改为如下代码
编译工程
到这里,工程建立完成,点击编译,出现0错误0警告,即工程建立成功
如果程序编译没有问题,连接单片机,点击下载按钮就可以下载程序了,到这里,一个完整的STM32工程就建立完成。