STM32F10x新建工程
STM32F10X新建工程
注:本文及后续文章以江协科技教程为基础,总结自己学习过程中的笔记和遇到的问题
1、建立工程文件夹,Keil中新建工程,选择型号
2、工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹
3、工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加到工程分组里
4、工程选项,C/C++,Include Paths内声明所有包含头文件的文件夹
5、工程选项,C/C++,Define内定义USE_STDPERIPH_DRIVER
6、工程选项,Debug,下拉列表选择对应调试器,Settings,Flash Download里勾选Reset and Run
1、建立工程文件夹,Keil中新建工程,选择型号
新建一个文件夹作为后续工程存放的总文件夹

选择和自己开发板对应的型号,我这里是STM32F102ZE

这个弹出的窗口可以关掉

此时我们的工程中只有新建工程自动生成的文件

2、工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹
这一步我们往工程文件中添加必要的文件
首先是.s类型的启动文件,这是单片机上电后程序执行的起点,解压F10x固件库后,启动文件的路径为:
C:\Users\Dell\Desktop\STM32F10x固件库v3.5\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

我们把这些启动文件都放置在工程文件目录下新建的Start文件夹中
回到固件库STM32F10x文件夹,可以看到其中还有三个文件

其中stm32f10x.h是用来描述32单片机的寄存器及其映射地址,后两个用来设置系统时钟,我们把这三个也一起复制到Start文件夹中
另外,由于32单片机对内核寄存器和内核外设寄存器的描述是分开的,所以我们还要把固件库CM3的内核支持文件夹中的两个文件一起复制到Start文件夹中

注:文件夹的分类和各个文件的存放没有固定的格式,根据自己的喜好和习惯设置即可,本文中是完全和江协科技视频教程一致
3、工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加到工程分组里
回到Keil5中,我们将source group重命名为Start,右键单击添加现有文件,将工程文件夹下Start中所有的.c和.h文件add,对于.s的启动文件,我们需要根据具体的板子选择,如下图:

我的板子Flash容量是512K,所以选择HD结尾的启动文件,最终我们的Start目录下有如下文件

4、工程选项,C/C++,Include Paths内声明所有包含头文件的文件夹
下面我们需要把头文件路径添加进来

此时我们就可以自己写一个main函数验证一下
右键Target1选择添加组,命名为User,这个文件夹中存放我们用户根据自己需求修改的外设等等,同时我们要在工程文件夹下同样新建一个User文件夹

然后我们在keil中右键User文件夹,向其中添加新文件,命名为main

注意location要选择我们工程文件夹下的User
打开main.c编辑一下简单的代码,我们编译生成工程模板文件

注意代码最后一行必须空一行,不然会报错
如果出现Target not created或者Target类似报错,可以尝试在魔术棒选项中更改ARM编译器版本

此时我们的工程中并没有添加库函数,我们在工程文件夹下新建Library文件夹,将固件库中inc文件夹中的头文件和src文件夹中的源文件都添加到Library中

同样的,在Keil中我们新建Library组,将刚刚的文件都添加进去

之后我们需要到固件库文件夹中把三个文件添加到User目录下,其路径为:
C:\Users\Dell\Desktop\STM32F10x固件库v3.5\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template


不要忘记在C/C++中添加相应的头文件路径
5、工程选项,C/C++,Define内定义USE_STDPERIPH_DRIVER
在stm32f10x.h文件中我们看到这条宏定义,只有定义了USE_STDPERIPH_DRIVER,我们才可以正常包含stm32f10x_conf.h

所以我们还需要在C/C++中添加这条宏定义

6、工程选项,Debug,下拉列表选择对应调试器,Settings,Flash Download里勾选Reset and Run
以上步骤设置完毕,我们就可以将电脑和单片机连接起来,我使用的是STlink,大家可以根据自己的实际情况在魔术棒Debugger选项中进行相应的设置



至此,工程新建完毕
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
