新建工程模板--基于固件库
基于ST官方V3.5固件库的STM32新建工程心得

基于ST官方V3.5固件库的STM32新建工程心得之前笔记有寄存器版本的新建工程步骤,这里介绍下基于ST官方V3.5固件库的STM32新建工程,和寄存器新建工程类似,在其基础上添加库文件。
1、WINSOWS环境下新建工程文件夹test →inc 存放自己的库文件src 存放自己的.C文件out 存放自己的输出文件txt 存放技术文档Libraries 拷贝的官方库文件到自己的工程文件夹下将打包文件夹下system目录下的inc和src文件夹中的3个文件或复制inc 和src到test文件夹下2、打开keil,新建一个工程将工程保存到自己新建的工程文件夹test的根目录选择芯片型号在弹出的是否自动导入启动代码的选项卡中选择否3、点击manage project items图标进行工程组管理test →CMSIS (Cortex微控制器软件接口标准)放启动代码内核文件STD_DRIVER (驱动程序放封装好的函数)SYSTEMMAINSRC在CMSIS工程组下添加以下文件:Libraries/CMSIS/CM3/Core Support/core_cm3.cLibraries/CMSIS/CM3/Devicesupport/ST/STM32F10x/system_stm32f10x.cLibraries/CMSIS/CM3/Devicesupport/ST/STM32F10x/startu p/arm/startup_st m32f10x_hd.s(.s文件可能在目录下被过滤,选择查看.s文件才能找到)至此,管理组CMSIS目录下共有3个文件在STD_DRIVER工程组目录下添加以下文件:Libraries/STM32F10x_StdPeriph_Driver/所有.c文件(这里暂时全部添加,以后可以用到哪个添加哪个)工程组设置完毕,点击确定保存4、从标准库文件夹STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Template/stm32f10x_conf.h 拷贝到新建工程文件夹test的inc文件夹下stm32f10x_it.c 拷贝到新建工程文件夹test的src文件夹下stm32f10x_it.h 拷贝到新建工程文件夹test的inc文件夹下5、点击Opetions for Target图标进行工程配置Device选项卡是芯片,新建工程时候已经选择Target选项卡晶振8.0MHzOutput选项卡Select Folder for Objects选择输出文件路径为创建文件夹test目录下的out,勾选Create HEX File,生成HEX烧写文件Listing选项卡Select Folder for Listing选择列表文件输出路径为test的outC/C++选项卡这里要添加两个宏:STM32F10X_HD,USE_STDPERIPH_DRIVER,指定芯片为大容量产品,使用ST官方的标准固件库Include Paths添加指定所有库文件路径,这里包含了Libraries文件夹下的标准库文件和test文件夹下自己定义的库文件有4个路径:test/inctest\Libraries\CMSIS\CM3\CoreSupporttest\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10xtest\Libraries\STM32F10x_StdPeriph_Driver\incDebug选项卡选择使用Jlink仿真调试Utilities选项卡去掉Use debug Driver选项前的勾选,然后选择Jlink在setting中选择FLASH,我们的芯片是大容量512K,可以选择勾选Reset and Run,烧写玩程序自动复位并运行。
STM32F4-基于函数库创建工程模板

STM32F4-基于函数库创建⼯程模板1.创建模板主⽬录Template,在主⽬录下添加5个⼦⽂件夹(USER,CORE,FWLIB,SYSTEM,OBJ)2.创建项⽬,打开keil,菜单选择project->new uVision project项⽬保存路径为Template/USER,项⽬名称为Template选择⾃⼰开发的相应芯⽚,我是⽤的是STM32F407ZG, 点击ok 点击Cancel3..添加STM32库函数将函数库⽬录下\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\STM32F4xx_StdPeriph_Driver 中的src与inc复制到FWLIB⽂件夹中(src存放的是库函数,inc中存放的是对应的头⽂件h)4.启动⽂件复制到我们的⼯程⽬录 CORE 之下\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm 下⾯,将⽂件 startup_stm32f40_41xxx.s 复制到 CORE ⽬录下⾯\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Includ ,将⾥⾯的四个头⽂件:core_cm4.h、core_cm4_simd.h、core_cmFunc.h 以及 core_cmInstr.h 同样复制到 CORE ⽬录下⾯。
现在看看我们的 CORE ⽂件夹下⾯的⽂件5.定位到⽬录:STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include 将⾥⾯的 2 个头⽂件 stm32f4xx.h 和 system_stm32f4xx.h 复制到 USER ⽬录之下。
实验一基于STM32固件库的MDK工程的建立及流水灯

实验一基于STM32固件库的MDK工程的建立及流水灯一、实验类型验证性实验。
二、实验器材1、PC微机1台2、MDK开发环境三、实验目的与任务实验目的:1、熟悉Cortex-M3处理器开发平台MDK2、熟悉基于STM32固件库的MDK项目的配置3、理解STM32处理器GPIO的结构,掌握GPIO引脚的配置方法4、熟悉GPIO的配置过程5、熟悉MDK开发平台软件仿真环境及外设仿真方法实验任务:如下图,STM32F103R8T6处理器GPIOA的GPIO_Pin_6控制LED1 GPIO_Pin_7控制LED2,建立一个基于STM32固件库的MDK项目,实现对LED灯的控制,使LED1每秒闪烁1次。
LED2每秒闪烁2次。
四、参考资料1、《嵌入式系统基础及应用》第7章 GPIO部分2、参考手册:STM32F10xxx_RM0008_CH_Rev7V3.pdf3、数据手册:STM32F103CDE增强型系列数据手册(2009年3月).pdf4、固件库:STM32F101xx和STM32F103xx固件函数库.pdf五、实验基本原理1、STM32每个GPIO引脚具有工作模有:浮空输入、带上拉输入、带下拉输入、模拟输入、开漏输出、推挽输出、复用功能的推挽输出、复用功能的开漏输出等。
由上图可知,若驱动LED1、LED2,需要设置相应的IO引脚为开漏输出或推挽输出。
2、对于STM32 GPIO端口的配置,涉及的寄存器的作用。
2个32bits的配置寄存器(GPIOx_CRL,GPIOx_CRH),用于配置各IO引脚的输入输出方式和速度,各位含义如下:2个32bits的数据寄存器 (GPIOx_IDR,GPIOx_ODR),用于读取IO引脚的状态和设置IO 引脚输出电位。
1个32bits的置位/复位寄存器(GPIOx_BSRR),用于置位复位某些IO引脚的原子操作。
1个16bits的复位寄存器(GPIOx_BRR),用于复位某些引脚的原子操作1个32bits的Lock寄存器(GPIOx_LCKR)。
STM32F4(KEIL5函数版)工程模板建立方法

1.下载对应型号的STM32固件库2.建立好对应的文件夹2.1 建立文件夹工程说明主要存放stm32f429的官方固件库存放编译产生的调试信息,hex文件,预览信息,封装库扥文件主要存放内核文件和启动文件存放main函数,中断函数,配置函数,429系统函数2.2 在文件夹里放对应的固件库文件1.。
将inc,src文件夹放入。
2.找到startup_stm32f429_439xx.s?放入找到core_cm4,core_cm4_simd,core_cmFunc,core_cmInstr放入3.将里面所有的文本文件放入user文件夹。
将stm32f4xx.h和system_stm32f4xx.h放入user文件夹。
3.打开Keil建立工程模板一找到对应的STM32芯片型号二在该对话框中建立STARTUP,User,Libraries文件夹,给这三个文件夹中添加c文件,STARTUP文件夹中只添加.s启动文件三勾选Use MicroLib 为了日后编写串口驱动的时候可以使用printf函数勾选Create HEX File,在编译过程当中产生hex文件选择Select Folder for Objects 为文件夹Output选择默认的文件夹不用调整Define添加宏STM32F429_439xx,USE_STDPERIPH_DRIVER,进入Include Paths按如下添加头文件路径要进行仿真的话,选择好对应的USE仿真器型号五STM32F429比较特殊,它的用FMC代替了FSMC,所以要将stm32f4xx—_fsmc.c文件不加入编译剔除Include in Target Bulid的勾4.然后就可以在User用main.c文件进行正常的编译了。
通过STM32固件库V3.5.0来建立一个简单的工程模版

STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_Stdperiph_Examples\GP IO\IOToggle 目录下 main.c,stm32f10x_conf.h,stm32f10x_it.h,stm32f10x_it.c 四 个文件复制到 User 目录下。 至此,文件的操作结束。 重新点击,现在我们要向各个文件组中添加文件。 首先是 User 文件组,点击 Add Files,然后添加 User 文件夹下的 3 个 C 文件,如下图所示。
在这里,选择否(N),等会我们会添加 STM32 固件库中的启动文件。
接下来,我们要建立几个文件组,用来存放不同的源文件,让整个工 程目录结构清晰,点击中的后如下图所示 点击中的可建立一个文件组,可以删除分组,下面我们将建立 User,StdPeriph_Drive,CMSIS,MDK-ARM 四个文件组,User 用来存放与 用户有关的文件,StdPeriph_Drive 用来存放库函数中的外设驱动文件, CMSIS 用来放于 Cortex_M3 内核有关的文件,MDK-ARM 用来存放启动文件, 文件组建立好后,如下图所示。 点击 OK,我们可看到下图所示)与 Template 文件夹 中的文件进行操作。 将固件库文件夹中的 Libraries 文件夹复制到工程目录下(即刚才建 立的 Template 文件夹下),并在 Template 下建立 User 与 Output 两个文件夹, User 用来放与用户代码有关的文件,Output 用来存放编译后产生的中间文件。
通过 STM32 固件库 V3.5.0 来建立一个简单的工程模
版
首先,打开 Keil,选择 Project-》New uVision Project,选择合适的文 件夹,输入工程名后,点击保存,建立工程。 如下图,在 Template 文件夹下建立工程名为 stm32_demo 的工程。 然后我们选择器件,以 STM32F103RB 为例(STM32 其他系列可类 推),在 STMicroelectronics 栏中选择 STM32F103RB,如下图,在图右侧我 们可看到关于芯片的描述。 点击确定后弹出如下的对话框,问需不需要添加启动文件(此启动文 件为 MDK 自带的),
STM32使用固件库建立工程

STM32学习笔记----使用固件库建立工程模块1.首先准备STM32固件库2.新建一个文件夹,命名为ucos-ii中)init---装入初始化代码,系统内核代码以及启动代码(\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport里的两个文件复制到此处新建的init文件夹中)(\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\S T\STM32F10x里的3个文件复制到此处新建的init文件夹中,三个文件分别是system_stm32f10x.c system_stm32f10x.h stm32f10x.h)(\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST \STM32F10x\startup\arm里的启动代码都复制到init文件夹中,这里主要是为了之后移植的方便)user--存放工程文件(\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Templat e中的4个文件复制到此处user文件夹中,具体是stm32f10x_it.h stm32f10x_it.c stm32f10x_conf.h main.c)6.在最开始建立的obj文件夹里新建2个文件夹list--用来存工程output里面的东西object--用来存output里面相应的东西,,下面建立工程的时候会讲到7.新建工程,选择文件夹的时候选择ucos-ii/obj选择型号后会有有个对话框问是否添加启动文件,由于库里面有启动代码,所以这里点击否。
打开option for Target1点开output设置object对应的文件夹和list对应的文件夹,这里就设置成我们上面建立的两个。
keil5建立库函数工程模板

新建基于STM32F10X系统固件库的MDK5的工程模板1.在自己电脑上合适的盘符上新建一个”库函数工程模板”文件夹, 这个根据个人习惯哈,你也可以建立你喜欢的文件夹.2.在”库函数工程模板”文件夹里面建立CORE,PROJECT,STM32_FWLIB,USER四个文件夹.如下图其中,CORE文件夹用来存放核心文件和启动文件, STM32_FWLIB文件夹用来存放ST公司官方提供的库函数源码文件,USER文件夹用来存放主函数文件main.c,以及system_stm32f10x.c,system_stm32f10x.h,stm32f10x_it.h,stm32f10x_it.c,stm32f10x.h,stm32f10x_conf.h文件,PROJECT文件夹主要是用来存放工程文件。
3.把官方固件库“STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver”下面的src和inc二个文件夹复制到STM32_FWLIB文件夹下,如下图:其中,src文件夹存放的固件库的“.C”文件,而inc文件夹是存放的是对应的“.H”头文件。
4.把官方固件库相关文件与启动文件复制到CORE文件夹里。
把官方固件库“\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport”下面的core_cm3.c和core_cm3.h复制到CORE文件夹下,把“STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startu p\arm”下面的startup_stm32f10x_ld.s启动文件复制到CORE文件夹下面,如下图:说明:我们用的STM32F103R6芯片,芯片的FLASH是32K,是小容量芯片,所以启动文件用”startup_stm32f10x_ld.s”若用其它容量芯片,可以用”startup_stm32f10x_md.s”或”startup_stm32f10x_hd.s”5.把官方固件库“STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ ST\STM32F10x”下面的三个文件“stm32f10x.h””system_stm32f10x.c””system_stm32f10x.h”复制到目录USER下面,在把“STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_ Template”文件夹下面的“stm32f10x_conf.h”,“stm32f10x_it.c”和“stm32f10x_it.h”三个文件也复制到USER文件夹下。
如何使用STM32 v3.5固件库建工程

如何使用STM32_V3.5版本固件库建立工程模板准备工作如下:1:下载STM32_V3.5的固件库去论坛上找,很多2:准备Keil uVision4 软件,并安装到电脑上。
3:不要带板凳了,带上你的脑袋就行,因为板凳不会思考。
开始:1:首先解压缩下载的固件库(保留一个备份,你懂的)里面有,_htmresc :ST的logo完全无用,不用理会,Libraries:比较重要的文件包含STM32的系统文件和大量头文件,也就是库文件了。
Project:包含大量外设的例程,和各个软件版本的评估版工程模板。
KEIL对应的就是MDK-ARM 文件下的工程模板。
你也可以利用这个工程模板来修改,得到你自己的工程模块,本文不用此法。
Utilities:就是评估版的相关文件:本文也不会用到,无视既可。
这四个文件,(先去掉文件的只读属性吧,相信你会的)2:安照一般的方法,建立工程模板先建立一些文件夹,比如工程模板要建在D盘,下面的D:\STM32\PRO1(项目名字,自己随便定)再该文件夹下面新建以下文件夹Libraries:直接复制上述的的Libraries文件夹,把其中的CMSIS剪切出来,放到PRO1目录下,直接成为另一个文件夹。
另外把STM32F10x_StdPeriph_Driver下的inc和src文件夹剪切出来,放在Libraries目录下,STM32F10x_StdPeriph_Driver文件夹就可以删除了。
会发现里面就只剩下头文件了。
CMSIS:就是从上面粘贴来的。
在CMSIS\CM3\DeviceSupport\ST\STM32F10x目录下直接将Startup文件剪切出来,放在Libraries目录下,其他的不需要动。
里面存放的就是重要的系统文件,先不要理会是什么作用吧,慢慢就明白了。
Startup 就是从上面粘贴来的。
我们要用的比如是:STM32F103VC,只要把startup\arm目录下的startup_stm32f10x_hd.s文件剪切出来,放到Startup 下面就好。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图3.2.1 MDK5组成从上图可以看出,MDK Core又分成四个部分:uVision IDE with Editor(编辑器),ARM C/C++ Compiler(编译器),Pack Installer(包安装器),uVision Debugger with Trace(调试跟踪器)。
uVision IDE从MDK4.7版本开始就加入了代码提示功能和语法动态检测等实用功能,相对于以往的IDE改进很大。
Software Packs(包安装器)又分为:Device(芯片支持),CMSIS(ARM Cortex微控制器软件接口标准)和Mdidleware(中间库)三个小部分,通过包安装器,我们可以安装最新的组件,从而支持新的器件、提供新的设备驱动库以及最新例程等,加速产品开发进度。
同以往的MDK不同,以往的MDK把所有组件到包含到了一个安装包里面,显得十分“笨重”,MDK5则不一样,MDK Core是一个独立的安装包,它并不包含器件支持和设备驱动等组件,但是一般都会包括CMSIS组件,大小350M左右,相对于MDK4.70A的500多M,瘦身不少,MDK5安装包可以在:/demo/eval/arm.htm下载到。
而器件支持、设备驱动、CMSIS等组件,则可以点击MDK5的Build Toolbar的最后一个图标调出Pack Installer,来进行各种组件的安装。
也可以在/dd2/pack这个地址下载,然后进行安装。
在MDK5安装完成后,要让MDK5支持STM32F103的开发,我们还需要安装STM32F1的器件支持包:Keil.STM32F1xx_DFP.1.0.5.pack(STM32F1的器件包)。
这个包以及MDK5.14安装软件,我们都已经在开发板光盘提供了,大家自行安装即可。
3.3新建基于固件库的MDK5工程模板在前面的章节我们介绍了STM32官方库包的一些知识,这些我们将着重讲解建立基于固件库的工程模板的详细步骤。
在此之前,首先我们要准备如下资料:a)V3.5固件库包:STM32F10x_StdPeriph_Lib_V3.5.0这是ST官网下载的固件库完整版,我们光盘目录:软件资料\STM32固件库使用参考资料\STM32F10x_StdPeriph_Lib_V3.5.0我们官方论坛下载地址:/posts/list/6054.htmb)MDK5 开发环境(我们的板子的开发环境目前是使用这个版本)。
这在我们光盘的软件目录下面有安装包:软件资料\软件\MDK5在建立工程模板之前,大家首先要安装MDK5开发环境。
对于MDK5的详细安装,请参考光盘的安装文档:“\1,ALIENTEK精英STM32开发板入门资料\MDK5.14安装手册.pdf”。
这里顺便提醒大家,本小节新建的工程模板在我们光盘目录下面有存放,路径为:“\4,程序源码\2,标准例程-V3.5库函数版本\实验0-1 Template工程模板-新建工程章节使用”。
大家在新建工程过程中有任何疑问,都可以跟这个模板进行比较,找出问题所在。
接下来我们将手把手的教您新建一个基于V3.5版本固件库的STM32F1工程模板。
步骤如下:1)在建立工程之前,我们建议用户在电脑的某个目录下面建立一个文件夹,后面所建立的工程都可以放在这个文件夹下面,这里我们建立一个文件夹为Template。
2)点击MDK的菜单:Project –>New Uvision Project ,然后将目录定位到刚才建立的文件夹Template之下,在这个目录下面建立子文件夹USER(我们的代码工程文件都是放在USER 目录,很多人喜欢新建“Project”目录放在下面,这也是可以的,这个就看个人喜好了),然后定位到USER目录下面,我们的工程文件就都保存到USER文件夹下面。
工程命名为Template,点击保存。
图3.3.1新建工程图3.3.2定义工程名称接下来会出现一个选择CPU的界面,就是选择我们的芯片型号。
如图 3.3.3所示,因为ALIENTEK 精英STM32F103所使用的STM32型号为STM32F103ZET6,所以在这里我们选择STMicroelectronics→STM32F1 Series→STM32F103→STM32F103ZET6(如果使用的是其他系列的芯片,选择相应的型号就可以了,特别注意:一定要安装对应的器件pack才会显示这些内容哦!!,如果没得选择,请关闭MDK,然后安装光盘:6,软件资料\1,软件\MDK5\ Keil.STM32F1xx_DFP.1.0.5.pack这个安装包)。
图3.3.3选择芯片型号3)点击OK,MDK会弹出Manage Run-Time Environment对话框,如图3.3.4所示:图3.3.4 Manage Run-Time Environment界面这是MDK5新增的一个功能,在这个界面,我们可以添加自己需要的组件,从而方便构建开发环境,不过这里我们不做介绍。
所以在图3.3.4所示界面,我们直接点击Cancel,即可,得到如图3.3.5所示界面:图3.3.5 工程初步建立到这里,我们还只是建了一个框架,还需要添加启动代码,以及.c文件等。
4)现在我们看看USER目录下面包含2个文件夹和2个文件,如下图3.3.6所示:图3.3.6工程USER目录文件这里我们说明一下,Template.uvprojx是工程文件,非常关键,不能轻易删除。
Listings和Objects 文件夹是MDK自动生成的文件夹,用于存放编译过程产生的中间文件。
这里,我们把两个文件夹删除,我们会在下一步骤中新建一个OBJ文件夹,用来存放编译中间文件。
当然,我们不删除这两个文件夹也是没有关系的,只是我们不用它而已。
5)接下来,我们在Template工程目录下面,新建3个文件夹CORE, OBJ以及STM32F10x_FWLib。
CORE用来存放核心文件和启动文件,OBJ是用来存放编译过程文件以及hex文件,STM32F10x_FWLib文件夹顾名思义用来存放ST官方提供的库函数源码文件。
已有的USER目录除了用来放工程文件外,还用来存放主函数文件main.c,以及其他包括system_stm32f10x.c 等等。
图3.3.3.5工程目录预览6)下面我们要将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面。
打开官方固件库包,定位到我们之前准备好的固件库包的目录STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver下面,将目录下面的src,inc文件夹copy到我们刚才建立的STM32F10x_FWLib文件夹下面。
src存放的是固件库的.c文件,inc存放的是对应的.h文件,您不妨打开这两个文件目录过目一下里面的文件,每个外设对应一个.c文件和一个.h头文件。
图3.3.3.6官方库源码文件夹7)下面我们要将固件库包里面相关的启动文件复制到我们的工程目录CORE之下。
打开官方固件库包,定位到目录STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下面,将文件core_cm3.c 和文件core_cm3.h 复制到CORE下面去。
然后定位到目录STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\a rm下面,将里面startup_stm32f10x_hd.s文件复制到CORE下面。
这里我们我之前已经解释了不同容量的芯片使用不同的启动文件,我们的芯片STM32F103ZET6是大容量芯片,所以选择这个启动文件。
现在看看我们的CORE文件夹下面的文件:图3.3.3.7启动文件夹8)定位到目录:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下面将里面的三个文件stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h,复制到我们的USER 目录之下。
然后将STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下面的4个文件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h复制到USER目录下面。
图3.3.3.8 USER目录文件浏览9)前面8个步骤,我们将需要的固件库相关文件复制到了我们的工程目录下面,下面我们将这些文件加入我们的工程中去。
右键点击Target1,选择Manage Components图3.3.3.9点击Management Components10)Project Targets一栏,我们将Target名字修改为Template,然后在Groups一栏删掉一个SourceGroup1,建立三个Groups:USER,CORE,FWLIB。
然后点击OK,可以看到我们的Target 名字以及Groups情况。
图3.3.3.10图3.3.3.1111)下面我们往Group里面添加我们需要的文件。
我们按照步骤10的方法,右键点击点击Tempate,选择选择Manage Components.然后选择需要添加文件的Group,这里第一步我们选择FWLIB,然后点击右边的Add Files,定位到我们刚才建立的目录STM32F10x_FWLib/src下面,将里面所有的文件选中(Ctrl+A),然后点击Add,然后Close.可以看到Files列表下面包含我们添加的文件。
这里需要说明一下,对于我们写代码,如果我们只用到了其中的某个外设,我们就可以不用添加没有用到的外设的库文件。
例如我只用GPIO,我可以只用添加stm32f10x_gpio.c而其他的可以不用添加。
这里我们全部添加进来是为了后面方便,不用每次添加,当然这样的坏处是工程太大,编译起来速度慢,用户可以自行选择。
图3.3.3.1212)用同样的方法,将Groups定位到CORE和USER下面,添加需要的文件。
这里我们的CORE下面需要添加的文件为core_cm3.c,startup_stm32f10x_hd.s (注意,默认添加的时候文件类型为.c,也就是添加startup_stm32f10x_hd.s启动文件的时候,你需要选择文件类型为All files才能看得到这个文件),USER目录下面需要添加的文件为main.c,stm32f10x_it.c,system_stm32f10x.c.这样我们需要添加的文件已经添加到我们的工程中了,最后点击OK,回到工程主界面。