目录
一、下载STM32F10x 固件库下载
二、对所需的库文件分类存放
三、配置Keil4开发环境
STM32 固件库 STM32 Standard Peripheral Libraries,适用于STM32F1系列
STM32 的固件库是芯片官方给出的用于新建STM32工程与相关的库文件,示例程序的文件包。
STM32F103的固件库可以去STM官网下载 https://www.st.com/content/st_com/en.html
下载好STM32F103固件库后,就依照流程建立自己的STM32在Keil4软件下的开发环境
这里是做好库文件的分类,方便我们后续的使用。
1、新建立一个文件夹,在这个文件夹下建立四个子文件夹,分别命名为CMSIS、Lib、Startup、User 这四个文件夹是与固件库中的文件夹有对应,后面要用到。
2、将D:\STM32F10x_StdPeriph_Lib_V3.5.0固\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport目录下的两个文件和D:\STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录下的三个文件复制到我们新建的CMSIS 文件夹中。 CMSIS文件夹里放的都是与ARM内核(Cortex)相关的程序。
3、将D:\STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm下的文件复制到我们新建立的Startup文件夹中。这里是单片机正常启动所需要的文件
4、将D:\STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver目录下的两个文件夹复制到我们建立的Lib文件夹中。 Lib文件夹里存放的就是我们常说的STM32的库函数程序,src里是.c文件,inc里是.h文件
5、将D:\STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template目录下选中的几个文件复制到我们建立的User文件夹中
至此,库函数工程文件的分类就做完了,下一步开始配置Keil4的开发环境
在开始建立的文件夹下再建立五个文件夹,分别为Project、Output、Listing、Hardware、Basic,这些文件夹分别用来存放Keil的工程文件、输出文件、列表文件以及我们建立的硬件代码和单片机基础功能代码,如此创建是为了呈现Keil开发中的分文件编程和模块化思想,更好的分类便于以后查看和移植,更好的体现编写代码的规范性。
1、新建工程
(1)将工程文件的位置保存到我们建立的Project文件夹中
3、配置环境
(2)在弹出的窗口中
在Groups:中点击新建按钮,新建下图中的组名(手工输入)与之前文件夹名一致。
按下Add Flies按钮,会有一个文件浏览,找到我们之前建立的名称对应的各个文件夹,将文件夹内的文件添加到Files中,配置完成后,点击下方OK 按钮退出。
建立的四个组中的文件都按照同样的方法添加。
如果找不多这个,s文件可以将文件类型改为全部,就可以找到了
Lib文件夹中文件是库文件,第一次配置建议全部添加,时间使用中可以按需要添加
文件添加完成后,右边的项目树就是这样
(3)点击魔法棒图标
(4)在Target(项目)设置中将晶振设置为8,这个根据你的开发板上32单片机的晶振频率设定
(6)点击Select Folder Objects,在弹窗中选择Output文件夹,将产生的Hex文件存放在我们建立的Output文件夹中,这么做是为了防止文件杂乱,方便查找。
(7)点击Listing,在弹窗中选择我们创建的Listing文件夹,作用与上一步一致
(8)点击C/C++,在C/C++中输入处理器类型,USE_STDPERIPH_DRIVER,STM32F10X_MD
这里注意:路径一定是要到最后一级目录。
最后一步,将main.c文件中的内容全部删除,然后把下图中的程序手动输入。这一步很重要,不然编译会报错
这一切配置完之后,点击重新编译,如果没有出错,便可以使用Keil编写自己的程序。其中之前创建的Hardware和Basic文件夹,你明白上述的文件与路径添加方法后,你可以向这两个文件夹内添加你自己的驱动程序。你也可以不用这两个文件夹,随意添加,只是不便于分类