使用STM32固件库建立keil工程详细步骤
Keil uVision5中建Stm32工程(教程)

Keil uVision5中建Stm32工程教程本教程中,介绍在Keil uVision5中建STM32工程的两种方法:一种是利用固件库建立工程,另一种是通过建工程时软件给的引导直接完成。
软件的安装和破解网上教程很多,这里就不赘述了,直接从建立工程开始。
首先介绍第一种:利用固件库建立STM32工程1.在你电脑中想要建立工程的地方先新建一个文件夹。
这里我在E盘下新建了一个文件夹,命名为STM32Project。
2.在新建的STM32Project文件夹下再新建一个文件夹,命名为STM32固件库,然后把事先下载的固件库放在文件夹中,方便查找进行复制。
3.打开Keil uVision5软件,在软件的菜单栏中找到Project——>New uVisionProject…,单击,找到上述新建的文件夹,对新建的工程进行命名,这里命名为test,点击保存。
4.此时软件弹出一个选择芯片的窗口:“Select Device for Target ‘Target 1’…”,在左侧的芯片库中找到你要使用的STM32系列的芯片,这里选择的是STMicroelectronics——>STM32F1 Series——>STM32F103——>STM32F103RC,单击OK。
5.此时弹出一个窗口:“Manage Run-Time Environment”,这个窗口在第二个建工程的方法中会使用到,这里先直接点击OK,跳过。
6.现在开始添加相关文件。
在STM32Project文件夹中新建以下四个文件夹:user:放置用户自己编写的相关文件CMSIS:放置与内核相关的文件startup:放置启动单片机的汇编文件driver:放置外设操作的驱动文件再向这四个文件夹中添加固件库中的相关文件:user:STM32Project\STM32固件库\STM32F10x_StdPeriph_Lib_V3.5.0 \Project\STM32F10x_StdPeriph_Template中的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h一共3个文件复制粘贴到user文件夹中,同时新建一个文本文档,重命名为main.c。
STM32在keil4中建工程

首先建立一个文件夹用来装工程(文件夹名自定,笔者建立的文件名为“ggyy_Proj”文件夹)。
在“ggyy_Proj”文件夹下,建立两个文件夹“User”和“Project”。
将库文件STM32F10x_StdPeriph_Lib_V3.5.0(笔者用的这个版本的库)下的“Libraries”文件夹全部拷入“ggyy_Proj”文件夹下。
将“ggyy_Proj”文件夹下的“Project”文件夹下建立三个文件夹“List”、“Obj”和“Pro”。
其中Pro用来存放工程。
将“ggyy_Proj”文件夹下的“User”文件夹下建立两个文件夹“inc”和“src”。
然后将需要用到的文件拷贝到相应的文件夹中:将以下5个.h文件考进ggyy_Proj下User下的inc文件夹中:···ggyy_Proj\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h···ggyy_Proj\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.h ···ggyy_Proj\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h固件库中:···STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_co nf.h···STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_it.h将以下2个.c文件考进ggyy_Proj下User下的src文件夹中:固件库中:···STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_it.c ···STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\main.c现在打开keil,并点击在Project菜单栏下的New uVision Project…来新建工程。
使用STM32库建立keil_工程详细步骤

STM32 使用外设库建立keil工程新建文件夹取名为自己想要的名称(如GPIO)1、打开文件,建立如下的文件结构:2、打开Project,建立如下文件:3、打开下载来的外设驱动库如下:4、把Libraries的下的两个文件(CMSIS和STM32F10x_StdPeriph_Driver)拷贝到GPIO文件下:5、打开下载的驱动库下的Project文件,打开STM32F10x_StdPeriph_Examples,找到我们需要的例程,如GPIO6、打开GPIO文件夹7、打开IOToggle,复制除了readerme.txt之外的文件到工程下的User文件。
复制好之后:8、到此,准备工作完毕。
9、打开KEIL,新建工程10、保存在Project文件夹下面,取名为自己的名字,我取名为GPIO。
11、选定自己使用的芯片,点击ok。
12、此时会跳出这个对框框,选择否:13、工程建好后是这样的。
14、在工程上右键选择Mange Componts 如下:15、建立如下组16、在User下面添加刚才方法哦User下的C文件:点击Add17、增加StdPeriph_Driver的文件,在自己工程StdPeriph_Driver下面的下面的src文件如下:(说明:只需要增加自己需要的,我这里全部添加了)18、在CMSIS下增加文件:CMSIS文件下的CM3的CoreSupport的文件19、在StartUp下面增加位于下的文件20、选择自己芯片对应的文件。
我用的是第二种startup_stm32f10x_hd.s21、增加完文件后工程如下现在左键点击选中GPIO工程名,在点击右键选择Options for Target ‘GPIO’来配置工程22、在output页面下点击Select Folder Objects…,选择我们在Project目录下的Obj文件23、勾选长生hex文件。
24、在Listing页面下点击Select Folder Objects for listings…,选择我们在project目录下的List文件在C/C++页面下配置,这是预编译的定义;Define 中写入USE_STDPERIPH_DRIVER, STM32F10X_HD其中第一个“USE_STDPERIPH_DRIVER”定义了使用外设库,定义此项会包含*_conf.h 文件,从而使用外设库;而第二个“STM32F10X_HD”从字面理解应该是定义了大等容量的STM32MCU,STM32F10X_MD则为中等容量等。
【自写】如何使用STM32_V3.5版本固件库在Keil4下建立工程模板

如何使用STM32_V3.5版本固件库在Keil4下建立工程模板By 呼延靖国准备工作如下:1.下载STM32F10x_StdPeriph_Lib_V3.5.0固件库。
2.下载并安装好Keil uVision V4.10(MDK4)开始:1.首先解压STM32F10x_StdPeriph_Lib_V3.5.0固件库。
PS:保留一个备份,你懂的。
解压得到如图1所示的几个文件夹。
其中_htmresc文件夹:里面是ST的Logo图片,没有多大用,可以删除。
Libraries文件夹:是比较重要的文件包含STM32的系统文件和大量头文件,即库文件。
Project文件夹:里面为STM32F10x的例程和工程模板。
Keil对应的就是 MDK-ARM 文件下的工程模板。
也可以利用这个工程模板为原型建立自己的工程模板本文不用此法。
Utilities文件夹:里面有一些实用程序,也没多大用,可删除。
Release_Notes.html:版本注视,可删除。
stm32f10x_stdperiph_lib_um.chm:帮助文件,你懂的。
2.为了项目程序中的各部分条理清晰,我们建议工程文件夹时对其子目录子下归类建立子文件夹,例建立一个工程文件夹My Project,在其下在创建五个子文件夹如图2所示:其中:CMSIS文件夹:此文件夹从STM32F10x_StdPeriph_Lib_V3.5.0固件库中的CMSIS文件夹直接复制过来。
Libraries文件夹:此文件夹从STM32F10x_StdPeriph_Lib_V3.5.0固件库中的Libraries文件夹复制过来。
只保留当中的inc和src文件夹。
即只包含头文件。
Startup文件夹:此文件夹从CMSIS\CM3\DeviceSupport\ST\STM32F10x\Startup目录下直接将Startup文件剪切出来。
其中放置的是启动代码,具体的代码根据所用芯片的容量选择,我们用的STM32F103C8为中等容量芯片,故选择其中的startup_stm32f10x_md.s启动代码,其他不用的可以删除User文件夹:User文件夹为用户的应用程序,其中包括main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h四个文件,这四个文件可从V3.5.0固件库Project\STM32F10x_StdPeriph_Template目录下复制过来,当然main.c文件中的内容可删除。
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文件进行正常的编译了。
Keil图文建立STM32工程

Keil建立STM32工程1.在项目根目录下新建文件夹User存放用户代码,新建文件夹project存放keil工程。
拷贝stm32的固件库library文件夹到当前目录,在project目录下新建目录List, Obj。
拷贝用户代码到User目录下。
2.打开KEIL软件,project -> New uVision Project 选择project路径,输入工程名3.选择器件是否加载软件自带的启动文件,选择否(后面手动添加)4.重命名工程名,选中按F2改成Barcode_MCU5.选中工程右击,点击add group…, 然后重命名,一共建立4个组,如图6.选中User,右击Add Files to Groups “Users”,弹出框中选择User目录下的用户代码到User组。
同理,添加汇编启动代码Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s 到RVMDK组中,这里有三个启动代码分别对应stm32的三种类别的芯片:小容量产品:startup_stm32f10x_ld.s 16 k ~ 32 k 闪存中容量产品:startup_stm32f10x_md.s 64 k ~128 k 闪存大容量产品:startup_stm32f10x_hd.s 256 k ~ 512 k 闪存我们选择对应的中容量芯片。
在StdPeriph_Driver组,从目录Libraries\STM32F10x_StdPeriph_Driver\src下添加外设驱动代码,这个目录下包括了STM32芯片支持的所有外设驱动代码,我们只需要选择我们需要的外设驱动即可。
在CMSIS组,从目录Libraries\CMSIS\CM3\CoreSupport以及目录Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下添加ARM内核驱动代码最后的工程代码如图所示:7.配置编译选项Output 选项:点select Folder for Objects…, 选择编译的目标文件的存放位置,选择\project\Obj,点OK; 其次,勾选Create HEX File 和Browse information,前者表示程序编译后产生HEX代码供下载用,后者用于调试,比如某个函数或者变量可以通过右击选择跳转到函数定义处。
手把手教你STM32F103ZE新建keil工程

手把手教你STM32F103ZE新建keil工程接下来我将手把手的教您新建一个基于V3.5版本固件库的STM32F1工程模板。
步骤如下:1)在建立工程之前,我们先在电脑的某个目录下建立文件夹(我建在了桌面),后面所建立的工程都可以放在这个文件夹下面,这里我们建立一个文件夹为test。
2)点击MDK的菜单:Project→New Uvision Project,然后将目录定位到刚才建立的文件夹test之下,在这个目录下建立子文件夹USER(我们的代码工程文件都是放在USER目录,很多人喜欢新建“”Project“”目录下面,这也是可以的,这个就看个人喜好了),然后定位到USER目录下,我们的工程文件就都保存到USER文件夹下面。
工程命名为test,点击保存。
图1新建工程图2定义工程名称接下来会出现一个选择CPU的界面,就是选择我们的芯片型号。
如图3所示,这里我们选择STM32F103ZET6,操作:STMicroeletronics→STM32F1 Series→STM32F103→STM32F103ZET6(如果使用的是其他系列的芯片,选择相应的型号就可以了,特别注意:一定要安装对应的器件pack才会显示内容哦~)图3选择芯片型号3)点击OK,MDK会弹出Manage Run-Time Environment 对话框,如图4:图4Manage Run-Time Environment 界面这是MDK5新增的一个功能,,在这个界面,我们可以添加自己需要的组件,从而方便构建开发环境,不过这里我们不做介绍。
所以在图 4 所示界面,我们直接点击Cancel,即可,得到如图5所示的界面:图5工程初步建立到这里,我们还只是建了一个框架,还需要添加启动代码,以及.c 文件等。
4)现在我们看看USER 目录下面包含2 个文件,如下图6 所示:图6工程USER目录文件这里我们说明一下,Template.uvprojx 是工程文件,非常关键,不能轻易删除。
stm32新建工程步骤keil,很详细

今天外我来教大家来怎么使用这个建工程的利器吧。
首先是新建工程吧,如下图步骤:因为我用的是stm32f401 Necleo,所以芯片型号应该要选择stm32f401te,选好芯片类型后,会弹出一个大的面板,如下图:红色框里的都是一些集成在keil 5的启动文件,arm内核的文件,st公司的库函数和一些API等等。
一个工程最起码也要选上core和startup两个选项,如下图:然后选择OK,就建好了空白的工程。
然后就要对工程做一些设置,如下图:然后在你工程的路径新建一个USE(这个大家可以随便建个文件,不一定是USE 名字的)的文件夹,然后在里面新建一个main.c的文件,如下图:然后新建的文件main.c添加到工程当中,步骤如下:然后在main.c文件中添加如下代码:到这里我们的空白工程建好了,后面我来教大家怎样加keil 5里自带的st库。
首先我点击那个绿色的小图标,如下图:点击后会弹出一个大的页面,然后找到Device->StdPeriph Drivers。
如下图:点开StdPeriph Drivers选项的加号图标,就可以看到st库目录下各外设的驱动文件,后面是他的版本说明,这是V1.3版本的,是比较新的,建议大家尽量使用新的库。
我这里就勾上了所有外设的驱动的文件,如下图:然后点击OK后,就可以看到原先工程目录下的Device添加了刚才选择外设的驱动文件。
添加完后大家不要急着编译工程,还有对工程进行相关的配置,否则如下图,编译不成功的:接下来,我来配置下工程,右击target,然后进入配置工程的面板,步骤如下:这里要填上USE_STDPERIPH_DRIVER,这就是表明编译器选择了st的库然后我们来指定编译器头文件的路径以上这两个路径是编译器编译时要找的路径,这几个头文件至关重要,这里编译器关联头文件所需要的。
当做完以上工作后,我们就可以来编译一下工程,在编译时,编译器就会根据我们的配置来编译驱动头文件和驱动的C文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
ALIENTEK STM32 开发板资料
开源电子网
3.打开光盘下面的注册机
,目录为:ALIENTEK 开发板资料\软件\MDK3.80A\注册
4.出现注册界面,黏贴刚才 copy 的 cid 到 CID 一栏,然后 Target 选择 ARM
5. 选 择 好 之 后 点 击 “ Generate ” , 下 面 的 空 白 栏 会 生 成 一 个 License Key , 类 似 : D0DY8-30KAK-0N8AM-X9Z14-A2NWP-J3LZZ ,copy 这个 license.
将目录下面的 src,inc 文件夹 copy 到我们刚才建立的 STM32F10x_FWLib 文件夹下面。 src 存放的是固件库的.c 文件,inc 存放的是对应的.h 文件,您不妨打开这两个文件目录 过目一下里面的文件,每个外设对应一个.c 文件和一个.h 头文件。
9
ALIENTEK STM32 开发板资料
3.选择”I Agree…Licence agreement”同意协议:
1
ALIENTEK STM32 开发板资料
开源电子网
4.选择安装目录,这里用户自行选择安装的目录后,点击 Next 即可:
4.随便输入邮箱之类的信息即可,点击 Next 开始安装:
2
ALIENTEK STM32 开发板资料
开源电子网
5.按图配置,然后点击 Finish,左面会出现 keil 快捷图标。
3
ALIENTEK STM32 开发板资料
开源电子网
三.注册 License(破解,如果不破解只能支持 32K 的代码) 步骤简介:
在 MDK 针对每台机会有一个 CID,copy 这个 CID 到注册机处生成 License Key,然后再将 这个 License Key 添加到 MDK 里面去注册。
开源电子网
9.下面我们要将固件库包里面相关的启动文件复制到我们的工程目录 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\arm 下面,将里面所有的文件同样复制到 CORE 下面。这里我们解释一下,其 实我们只用到 arm 目录下面的 startup_stm32f10x_md.s 文件,这个文件是针对中等容量 芯 片 的 启 动 文 件 。 其 他 两 个 主 要 的 为 startup_stm32f10x_ld.s 为 小 容 量 , startup_stm32f10x_hs.c 为大容量芯片的启动文件。这里 copy 进来是方便其他开发者使 用小容量或者大容量芯片的用户。 现在看看我们的 CORE 文件夹下面的文件:
ALIENTEK STM32 开发板资料
开源电子网
建立基于 STM32 固件库的工程模版(ALIENTEK)
这是一个独立的建立工程的资料,如果您手头没有我们 ALIENTEK STM32 开发板的源码和 资料,请您到我们 ALIENTEK 官方技术论坛: 下载, 下载地址为:/posts/list/565.htm 所有资料均免费提供。
5.弹出对话框“Copy STM32 Startup Code to project ….”,询问是否添加启动代码到我们 的工程中,这里我们选择“否”,因为我们使用的 ST 固件库文件已经包含了启动文件。 6.可以看到工程建立了,我们回到 Template 目录下面,可以看到只有三个文件:
7. 接 下 来 , 我 们 在 Template 工 程 目 录 下 面 , 新 建 3 个 文 件 夹 CORE, USER, STM32F10x_FWLib 。 USER 用 来 放 我 们 主 函 数 文 件 main.c, 以 及 其 他 包 括 system_stm32f10x.c 等等,CORE 用来存放启动文件等,STM32F10x_FWLib 文件夹顾 名思义用来存放 ST 官方提供的库函数源码文件。
初学者搭建开发环境建立工程模版大约需要 2-3 个小时,请耐心按照手册的讲解来。 一.需要准备的资料:
1. STM32F10x_StdPeriph_Lib_V3.5.0 (这是 ST 官网下载的固件库完整版) 我们官方论坛下载地址:/posts/list/6054.htm
11
ALIENTEK STM32 开发板资料
开源电子网
13.下面我们往 Group 里面添加我们需要的文件。我们按照步骤 12 的方法, 右键点击 点击 Tempate,选择选择 Manage Components.然后选择需要添加文件的 Group,这里第 一 步 我 们 选 择 FWLIB , 然 后 点 击 右 边 的 Add Files, 定 位 到 我 们 刚 才 建 立 的 目 录 STM32F10x_FWLib/src 下面,将里面所有的文件选中(Ctrl+A),然后点击 Add,然后 Close.可以看到 Files 列表下面包含我们添加的文件。 这里需要说明一下,对于我们写代码,如果我们只用到了其中的某个外设,我们就可以 不 用 添 加 没 有 用 到 的 外 设 的 库 文 件 。 例 如 我 只 用 GPIO , 我 可 以 只 用 添 加 stm32f10x_gpio.c 而其他的可以不用添加。这里我们全部添加进来是为了后面方便,不 用每次添加,当然这样的坏处是工程太大,编译起来速度慢,用户可以自行选择。
5
ALIENTEK STM32 开发板资料
开源电子网
6.将这个 License Key 黏贴到 Keil 的 License Management 界面的 New License Id Code 一 栏,然后点击“Add LIC”,添加成功后会出现成功提示。然后点击 Close 关闭这个界面即 可。
三.新建工程 1.回到 MDK 主界面,可以看到工程中有一个默认的工程,点击这个工程名字,然后选择 菜单 Project->Close Project,就关闭掉这个工程了!这样整个 MDK 就是一个空的了, 接下来我们将建立我们的工程模版。 2.在建立工程之前,我们建议用户在电脑的某个目录下面建立一个文件夹,后面所建立 的工程都可以放在这个文件夹下面,这里我们建立一个文件夹为: STM32-Projects. 3.点击 Keil 的菜单:Project –>New Uvision Project ,然后将目录定位到刚才建立的文件 夹 STM32-Projecst 之下,在这个目录下面建立子文件夹 Tempalte,然后定位到 Template 目录下面,我们的工程文件就都保存到 Template 文件夹下面。工程命名为 Template,点 击保存
6
ALIENTEK STM32 开发板资料
开源电子网
7
ALIENTEK STM32 开发板资料
开源电子网
4.接下来会出现一个选择 Device 的界面,就是选择我们的芯片型号,这里我们定位到 STMicroelectronics 下面的 STM32F103RB(针对我们的 mini 板子是这个型号,如果是其 他芯片,请选择对应的型号即可)。
13
ALIENTEK STM32 开发板资料
开源电子网
15.下面我们点击编译按钮 编译工程,可以看到很多报错,因为找不到库文件。
14
ALIENTEK STM32 开发板资料
开源电子网
16.下面我们要告诉 MDK,在哪些路径之下搜索相应的文件。回到工程主菜单,点击魔 术棒 ,出来一个菜单,然后点击 c/c++选项.然后点击 Include Paths 右边的按钮。 弹出一个添加 path 的对话框,然后我们将图上面的 3 个目录添加进去。记住,keil 只会 在一级目录查找,所以如果你的目录下面还有子目录,记得 path 一定要定位到最后一 级子目录。然后点击 OK.
11.前面 10 个步骤,我们将需要的固件库相关文件复制到了我们的工程目录下面,下面 我们将这些文件加入我们的工程中去。右键点击 Target1,选择 Manage Comp发板资料
开源电子网
12.Project Targets 一栏,我们将 Target 名字修改为 Template,然后在 Groups 一栏删掉一 个,建立三个 Groups:USER,CORE,FWLIB.点击 OK.可以看到我们的 Target 名字以及 Groups 情况。
8
ALIENTEK STM32 开发板资料
开源电子网
8.下面我们要将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面。 打开官方固件库包,定位到我们之前准备好的固件库包的目录 STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 下面,
10.定位到目录: 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 目录下面。