使用STM32固件库建立keil工程详细步骤
Keil uVision5中建Stm32工程(教程)
![Keil uVision5中建Stm32工程(教程)](https://img.taocdn.com/s3/m/ff50282f580216fc700afde2.png)
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中建工程
![STM32在keil4中建工程](https://img.taocdn.com/s3/m/977e7b8084868762caaed515.png)
首先建立一个文件夹用来装工程(文件夹名自定,笔者建立的文件名为“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_工程详细步骤](https://img.taocdn.com/s3/m/3dcec6e8172ded630b1cb608.png)
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下建立工程模板](https://img.taocdn.com/s3/m/92e36fe0e009581b6bd9ebab.png)
如何使用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函数版)工程模板建立方法
![STM32F4(KEIL5函数版)工程模板建立方法](https://img.taocdn.com/s3/m/14402a7d4431b90d6c85c7c2.png)
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工程](https://img.taocdn.com/s3/m/12f4bfd02cc58bd63186bdb6.png)
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工程](https://img.taocdn.com/s3/m/e1b323b889eb172dec63b71c.png)
手把手教你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,很详细
![stm32新建工程步骤keil,很详细](https://img.taocdn.com/s3/m/4618d6a9c77da26925c5b0f3.png)
今天外我来教大家来怎么使用这个建工程的利器吧。
首先是新建工程吧,如下图步骤:因为我用的是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文件。
keil的stm32应用
![keil的stm32应用](https://img.taocdn.com/s3/m/5e875b380b4c2e3f572763a2.png)
在Keil MDK环境下使用STM32固件库简介写这篇教程主要是和大家分享使用STM32的基本方法,也是给自己学习过程的总结、记录和备忘,避免重复学习之前明白但又忘记的知识和操作。
我现在也是刚开始接触学习STM32,我是在STM32的固件库V3基础上进行学习。
在这里我和大家分享一下使用V3.x 库的方法,希望大家喜欢,如有错误请指出。
这篇教程分以下几个方面,一:建立工程,设置工程属性。
二:建立条理清晰的GROUP;三:使用JLINK仿真调试。
下面就分别逐个说明。
一、新建MDK工程1、首先,打开MDK软件,再点击Project->New uVision Project…,如下图所示:弹出如下对话框:新建一个文件夹MDK工程,然后把工程名字设为test,点击保存。
弹出选择器件的对话框,我们使用的是stm32单片机,所以选择STMicroelectronics下面的器件,如STM32F107VCT6,如图所示:点击OK,MDK会弹出一个对话框,如图所示:问是否加载启动代码到当前工程下面,如果选择是,则这个启动代码是旧版本库的启动代码,新版本的启动代码和这个不同,需要自己添加。
在这里我们使用的是新版本的库,所以点击否,自己添加启动代码。
启动代码是一段和硬件相关的汇编代码,是必不可少的!这个代码具体如何工作,感兴趣可以研究一下,现在可以不必关心它。
2、接下来我们需要对工程进行一些设置。
在工程区,右键点击Target1,选择Options for Target…Target1‟ 如图所示:弹出如下窗口,选择Output标签,设置目标文件的生成路径及其他相关参数。
如图点击Select Folder for Objects 在弹出的窗口中点空白处新建“Obj”文件夹,然后双击“Obj” 文件夹,如图中所示的Path后,点击OK.点击Listing标签,新建“list”文件夹,设置链接文件的生成路径,及相关参数。
STM32的Keil工程文件建立过程
![STM32的Keil工程文件建立过程](https://img.taocdn.com/s3/m/dd8ad7df240c844769eaeef9.png)
固件库采用3.5.0版本USE_STDPERIPH_DRIVER,STM32F10X_CL1.首先建立工程文件,将固件库中的文件复制过来建立工程文件夹project,包含文件夹user:用户可自己修改的文件CMSIS:Cortex-M3内核相关文件startup:启动单片机的汇编文件driver:外设操作的驱动文件具体向工程文件夹中添加的文件为:将路径:固件库文件夹\Project\STM32F10x_StdPeriph_Template中的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h文件添加到user文件夹,再在其中建立一个main.c主文件将路径:固件库文件夹\Libraries\CMSIS\CM3\CoreSupport中的core_cm3.c、core_cm3.h 文件,以及固件库文件夹\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h文件添加到CMSIS文件夹将路径:固件库文件夹\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 中的startup_stm32f10x_cl.s(互联型启动文件)文件添加到startup文件夹将路径:固件库文件夹\Libraries\STM32F10x_StdPeriph_Driver中的src和inc文件夹全部复制到driver文件夹2.在Keil中建立工程并管理工程文件3.设置Keil与编译相关的选项USE_STDPERIPH_DRIVER,STM32F10X_CL4.添加代码中断代码添加在stm32f10x_it.c中。
如何使用STM32 v3.5固件库建工程
![如何使用STM32 v3.5固件库建工程](https://img.taocdn.com/s3/m/7920ba17f18583d049645918.png)
如何使用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 下面就好。
新建基于STM32固件库V3.5的Keil工程
![新建基于STM32固件库V3.5的Keil工程](https://img.taocdn.com/s3/m/5caa5d8b8762caaedd33d435.png)
* @retval None
布谷鸟@UCORTEX
CORTEX 技术之家:
第 6 页,共 7 页
新建基于
STM32 固件库 V3.5 的 Keil 工程
* @param led:指示灯编号 * * */ void LED_Off(uint8_t led) { if(led==0) else{} } /** * @brief 毫秒延时函数 * @param ms: 延时的毫秒数 * @retval None */ void Delay_ms(uint32_t ms) { ms*=12000; while(ms--); } int main(void) { LED_Init(); while (1) { //跑马灯程序 LED_On(0); LED_Off(1); Delay_ms(250); LED_Off(0); LED_On(1); Delay_ms(250); } } 好了,到这里,一个基于 STM32 固件库,实现跑跑马灯功能的工程就完成了,以后所有的项目都可以在这 个工程模版的基础上,进行修改得到。 GPIO_SetBits(GPIOB,GPIO_Pin_5);//点亮 LED0 else if(led==1) GPIO_SetBits(GPIOE,GPIO_Pin_5);//点亮 LED1 @arg 0:LED0 @arg 1:LED1
* @retval None
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 口速度为 50MHz //根据设定参数初始化 GPIOB.5 //PB.5 输出高 //开漏输出,IO 口速度为 50MHz //PE.5 输出高
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED1-->PE.5 端口配置, 推挽输出
使用STM32固件库建立keil工程详细步骤
![使用STM32固件库建立keil工程详细步骤](https://img.taocdn.com/s3/m/3e520245a8956bec0975e3b7.png)
开源电子网
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 文件夹下面的文件:
8
ALIENTEK STM32 开发板资料
开源电子网
8.下面我们要将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面。 打开官方固件库包,定位到我们之前准备好的固件库包的目录 STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 下面,
将目录下面的 src,inc 文件夹 copy 到我们刚才建立的 STM32F10x_FWLib 文件夹下面。 src 存放的是固件库的.c 文件,inc 存放的是对应的.h 文件,您不妨打开这两个文件目录 过目一下里面的文件,每个外设对应一个.c 文件和一个.h 头文件。
STM32F4_新建Keil工程
![STM32F4_新建Keil工程](https://img.taocdn.com/s3/m/359ea198daef5ef7ba0d3c7c.png)
6.2.打开 Target 标签,按如下图 6.2 所示配置 图 6.2 Target 标签配置
6.3 打开 Debug 标签,按以下步骤进行 图 6.3.1 Debug 标签设置
图 6.3.2 点击 Setting 按钮,进入 Cortex-M Target Driver Setup 设置界面
如图 2.设备选择对话框
3.点击是(Y)按键复制并保存 STM32 启动代码到工程文件夹中 图 3.是否选择启动代码对话框
4.接着我们创建一个新文件,在 File 目录中,选择 New...打开 一个空的编辑窗口。点击 File 中 Save As...保存到该工程文件夹下 并重新命名为 Bilnky.c。
STM32F4 Discovery——新建工程 1.我们首先打开 Keil(我装的是 V4.53 版本的,可在此下载),在 Project 目录中,选择 New uVision Project...显示创建工程对话框, 我们把它保存在不含中文的文件夹中,命名工程并保存。 如图 1.创建工程
2. 当 保 存 后 , 弹 出 设 备 选 择 对 话 框 , 我 们 双 击 STMicroelectronics,往下选择 STM32F407VG 设备并点击 OK 保存你 的设置。
/*配置 PD12 为输出、上拉模式 */ 5. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; 6.GPIO_Init(GPIOD, &GPIO_InitStructure);//GPIOD 初始化
Keil4下使用STM32库V3.5
![Keil4下使用STM32库V3.5](https://img.taocdn.com/s3/m/bdda51de7f1922791688e8cc.png)
Keil4下使用固件库V3.5关联到建立自己工程第一步:下载一个固件库V3.5第二步:提取压缩包中的Librarie s放到你需要经常存放Keil4工程的地方,方便关联。
例如放在F盘,新建的STM32文件夹下。
第三步:打开Keil4,开始新建工程吧。
1.新建一个存放工程的文件夹,再将新建的工程放到此文件夹下。
2.输入文件名后“保存”3.选取您使用的芯片型号点“OK”,进入下一环节4.接着会出现这样的一个提示框,此处是选择是启动文件,但要使用库V3.5,此处点“否”5.此时Project中出现的是这样6.重点来了:选择工具条上的Manage Components, 下图圈中7.接着我们会在此完成文件添加在”Groups”中新建3个文件夹1.StartUp2.Libraryer用于分类存放相关文件8.选中“Groups”中的“StartUp”文件,然后再在Files框下,点击“Add File”找到目录下刚才存放的Libraries文件并打开,找到路径如下,并选中startup_stm32f10x_md.s"F:\STM32\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\start up\arm\startup_stm32f10x_md.s"同理,我们添加Library文件夹添加:stm32f10x_GPIO.c stm32f10x_rcc.c stm32f10x_tim.c"F:\STM32\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c"最后添加我们的“User”文件夹此处需要添加一个系统文件system_stm32f10x.c 路径如下:"F:\STM32\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c"添加完成这个文件后,可以点“OK”结束了现在我们的Project中有如图文件:9.新建我们的main.c点红框处新建一个Txet1文件,保存为“main.c”记得加“.c”后缀10.右击Project中的“User”出现有图菜单点击“Add Files to Group ‘User’…”将保存的main.c 文件添加到“User”中至此文件添加完成,如果还需要添加文件,可重复步骤8.911.将我们添加的文件与固件库关联起来点击工具条的“Target Options”弹出右图框12.按蓝色标记步骤,一步一步设置第一步:点击“Include Parts”的浏览按钮出现“Folder Setup ”新建链接如右图步骤一直浏览到右图文件夹,并选中“确定”:第二步:重复第一步骤新建找到路径,选中“inc”文件夹至此,关联固件库完成:如果需要添加自己的库可以采用此类方式,将“.h头文件”关联进来13.接下来是让自己的文件夹更合理,分类更细致的步骤第一步:点击“Output”下“SelectFolder Objects”,并新建一个“Output”文件夹双击打开点“OK”完成第二步:点击“Listing”下“Select Folderfor Listing..”后新建一个listing文件夹,双击打开,点“OK”完成14.选择适合自己开发板的下载器第一步:点击“Debug”,出现如右图选择自己的调试器。
stm32标准外设库开发工程新建流程
![stm32标准外设库开发工程新建流程](https://img.taocdn.com/s3/m/ee2988f064ce0508763231126edb6f1aff0071c6.png)
stm32标准外设库开发工程新建流程
STM32标准外设库开发工程新建流程如下:
1. 打开Keil MDK-ARM软件,点击“File”菜单,选择“New”-
>“Project”。
2. 在弹出的“Project Name”对话框中输入工程名称,并选择工程保存路径。
3. 在“Project Type”中选择“Microcontroller Wizard”选项,然后点击“Next”。
4. 在“Device”中选择目标STM32芯片型号,并选择合适的启动文件。
5. 在“Toolchain/IDE”中选择Keil MDK-ARM,然后点击“Next”。
6. 在“Options”中设置工程选项,如优化级别、代码生成选项等,然后点击“Finish”。
7. 在弹出的“Project Explorer”窗口中,右键点击工程名称,选择“New”->“Source File”或“Header File”,输入文件名,添加代码或头文件。
8. 在工程中添加其他必要的文件,如启动文件、配置文件等。
9. 配置工程选项,如链接脚本、启动文件等。
10. 编译并烧写程序到目标板中。
以上是STM32标准外设库开发工程新建流程的基本步骤,根据具体情况可能需要做一些调整和修改。
在Keil MDK环境下使用STM32固件库
![在Keil MDK环境下使用STM32固件库](https://img.taocdn.com/s3/m/39edb3ef941ea76e58fa042e.png)
在Keil MDK环境下使用STM32固件库简介写这篇教程主要是和大家分享使用STM32的基本方法,也是给自己学习过程的总结、记录和备忘,避免重复学习之前明白但又忘记的知识和操作。
我现在也是刚开始接触学习STM32,我是在STM32的固件库V3基础上进行学习。
在这里我和大家分享一下使用V3.x库的方法,希望大家喜欢,如有错误请指出。
这篇教程分以下几个方面,一:建立工程,设置工程属性。
二:建立条理清晰的GROUP;三:使用JLINK仿真调试。
下面就分别逐个说明。
一、新建MDK工程1、首先,打开MDK软件,再点击Project->New uVision Project…,如下图所示:弹出如下对话框:新建一个文件夹MDK工程,然后把工程名字设为test,点击保存。
弹出选择器件的对话框,我们使用的是stm32单片机,所以选择STMicroelectronics下面的器件,如STM32F107VCT6,如图所示:点击OK,MDK会弹出一个对话框,如图所示:问是否加载启动代码到当前工程下面,如果选择是,则这个启动代码是旧版本库的启动代码,新版本的启动代码和这个不同,需要自己添加。
在这里我们使用的是新版本的库,所以点击否,自己添加启动代码。
启动代码是一段和硬件相关的汇编代码,是必不可少的!这个代码具体如何工作,感兴趣可以研究一下,现在可以不必关心它。
2、接下来我们需要对工程进行一些设置。
在工程区,右键点击Target1,选择Options for Target…Target1‟ 如图所示:弹出如下窗口,选择Output标签,设置目标文件的生成路径及其他相关参数。
如图点击Select Folder for Objects 在弹出的窗口中点空白处新建“Obj”文件夹,然后双击“Obj”文件夹,如图中所示的Path后,点击OK.点击Listing标签,新建“list”文件夹,设置链接文件的生成路径,及相关参数。
使用STM32库建立keil-工程详细步骤讲解学习
![使用STM32库建立keil-工程详细步骤讲解学习](https://img.taocdn.com/s3/m/92ee24e9af1ffc4fff47ac5d.png)
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库建立keil-4工程详细步骤教学总结
![使用STM32库建立keil-4工程详细步骤教学总结](https://img.taocdn.com/s3/m/99db7f07ec3a87c24128c45d.png)
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则为中等容量等。
- 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 目录下面。