使用STM32库建立keil_4工程详细步骤
- 格式:doc
- 大小:835.05 KB
- 文档页数:16
在KeiluVision4MDK下配置开发STM32F103Z完整教程环境搭建:1、安装 Keil uVision4 MDK略2、安装 J-Link安装 Setup_JLinkARM_V4501.exe 驱动时,会弹出【SEGGER J-Link DLL Updater V4.501 】对话框,不要选择 Keil 直接点击OK即可,因为Keil对⽀持M3内核SW接⼝采⽤了JL2CM3.dll 这个⽂件,该⽂件的版本号是和该⽬录下Jlink驱动版本号配套的,不要擅⾃改变他们,否则不能使⽤。
建⽴⼯程:1、在桌⾯上建⽴⼀个⽂件夹【MyStm32】⽂件夹2、在【MyStm32】⽂件夹下建⽴【USER】、【FWlib】、【CMSIS】、【Output】、【Listing】⽂件夹。
【USER】:存放⽤户⾃定义的应⽤程序【FWlib】:存放库⽂件【CMSIS】:存放M3系列单⽚机通⽤的⽂件【Output】:存放编译器编译后输出的⽂件【Listing】:编译器编译过程中产⽣的⽂件3、将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 的【inc】跟【src】这两个⽂件夹拷贝到【FWlib】。
【inc】、【src】⽚上外设驱动的源⽂件和头⽂件。
4、\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下的main.c、stm32f10x_conf.h、stm32f10x_it.h、stm32f10x_it.c 、system_stm32f10x.c 拷贝到【USER】stm32f10x_conf.h:配置⽂件stm32f10x_it.h、stm32f10x_it.c:中断函数⽂件。
system_stm32f10x.c:ARM公司提供的符合CMSIS标准的库⽂件5、STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup的【arm】⽂件夹的拷贝到 MyStm32\CMSIS\startup。
第一:软件的安装:第二:阅读《STM32F4开发指南-寄存器版本_V1.1》的第三章主要是MDK的使用技巧。
第三:新建项目工程和下载:寄存器的就先参考我提供的例程,后面讲述库函数的时候咱们再从官方提供的库文件里面去拷贝。
1.新建文件夹STM32_Demo,在这个文件夹里面新建3个文件夹:USER,SYSTEM,HARDWAR。
USER:用来保存工程文件;SYSTEM:用来存放一些官方提供的一些内核文件,以及一些常用的模块文件;HARDWARE:存放和硬件相关的模块文件;2.从我提供的程序代码里面拷贝文件到上面新建的文件夹里面;从1.STM32F4_LED工程文件里面拷贝资料文件到上面新建的文件夹里面:把1.STM32F4_LED--->SYSTEM拷贝到STM32_Demo---->SYSTEM;把1.STM32F4_LED--->HARDWAR拷贝到STM32_Demo---->HARDWARE;把1.STM32F4_LED--->USER--->main.c拷贝到STM32_Demo---->USER里面;3.新建项目工程:新建工程文件并保存到USAR里面;选择芯片如下:STM32F407ZG把文件里面的.c和.s文件添加到项目工程,可以先对其进行分组;最终出现的效果如下(组的名称随意命名):在文件里面还有很多.h文件,咱们要在工程里面知名路径;编译会出现问题,咱们需要添加1个宏定义;STM32F40_41xxx这样编译就没有问题了。
先让ST-Link和STM32开发板连接,并连接到计算机;咱们需要使用ST-Link下载,所以要配置如下:点击上图中“Settings”,进入如下界面:下载工程文件到STM32开发板:配置注意的几点:第四:项目工程的分析:USER:main.c;HARDWARE:led.c和led.h;相关LED灯的操作文件;SYSTEM:sys文件夹:startup_stm32f40_41xxx.s:官方提供的启动代码文件;stm32f4xx.h:官方提供的STM32F4系列芯片的头文件,类似reg51.h。
首先建立一个文件夹用来装工程(文件夹名自定,笔者建立的文件名为“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…来新建工程。
使用keil进行stm32单片机开发的流程-回复keil作为一款嵌入式系统开发工具,广泛应用于STM32单片机的开发过程中。
它具有强大的编译、调试和仿真功能,可以帮助开发者更高效地进行单片机的开发工作。
本文将以“使用keil进行STM32单片机开发的流程”为主题,为读者详细介绍使用keil进行STM32开发的步骤和注意事项,帮助读者轻松入门STM32开发。
一、准备工作1. 软件安装:首先需要安装keil嵌入式开发环境。
你可以从官方网站上下载到keil的安装包,然后按照安装向导进行安装即可。
2. 硬件准备:除了软件准备外,还需要购买一块支持STM32开发的开发板,例如ST公司的ST-LINK开发板。
将开发板连接至电脑。
二、创建项目1. 打开keil:双击桌面上的keil图标,进入keil开发环境。
2. 创建新项目:点击“Project”->“New Project”,选择合适的存储路径和项目名称,并选择你所使用的STM32单片机型号。
单击“OK”完成新项目的创建。
三、配置开发环境1. 配置芯片参数:在左侧的“Project”窗口中,右键点击“Target 1”,选择“Options for Target”。
2. 配置目标选项:在“Debug”选项卡中,选择正确的调试接口,并将“Use Simulator”选项取消勾选。
在“Settings”选项卡中填写正确的时钟频率和连接方式,并启用Flash编程。
3. 配置编译器:在左侧的“Project”窗口中,右键点击“Target 1”,选择“Options for Target”。
在“C/C++”选项卡中,配置编译器的优化级别和其他相关参数。
四、编写代码1. 添加源文件:在“Project”窗口中右键点击“Source Group 1”,选择“Add New Item”,然后添加你的源代码文件,编写代码内容。
注意,为了方便管理,可以按功能将代码分割成多个源代码文件。
如何使用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文件中的内容可删除。
此篇根据个人的mdk4.5+JlinkV8使用状况,来写的日记,我只捡一些个人碰到的一些大众化的问题来说,其他的我就贴图了(也会简单说一下),高手可以掠过。
呵呵1新建工程,和增加源代码a.创建工程:点上述的按钮后,自己输入自己的工程名称,选择路径,然后保存.b.增加一个Groupc.增加源文件:1.自己编写的源文件:File New ,Ctrl+s ,输入源文件名, 选择路径,然后保存2.复制已有的源文件到一个文件夹下,然后如下图所示, 把所有源文件增加进来.(个人比较懒,实验工程,所以就一个group把所有的源码全加进来了。
)增加所有源文件后的界面2 keil4设置,我把我的设置全部贴图,我自己碰到的问题,会提出来说下。
a.点击target option按钮,进入设置界面图1. device(我的是STM32F103ZET6芯片)图2 Target上述的注意的几个地方:Xtal :( 我用的是8M晶振)System_V iew File:根据我之前的情况来看,只要其他的选好了,keil是可以自行增加的,这里关注下,我的是手动添加的(这里用的是绝对路径,至少我尝试是无法设置成相对路径的)。
这个文件大家可以在..\Keil\ARM\SFD\文件夹下找到相应的文件ROM和RAM的设置:各自根据自己的实际情况来设置3.Output选项卡需要选中debug information,Browse information (碰到在C中无法增加断点的情况,个人误打误撞选中这两个后就可以了,后来实验过取消和增加确实和能不能增加断点有关系,还是建议勾选上)4.Listing选项卡和User选项卡,ASM选项卡我没有做任何更改,就略过.(如果用汇编的话,应该要设置的吧)5.C/C++选项卡我只修改了Inlcude Path 选项卡(包含的头文件路径)a.使用绝对路径。
点击右侧小按钮,然后挨个挨个找吧(不方便移植)。
STM32F4工程模板建立方法在Keil环境下建立STM32F4的工程模板可以按照以下步骤进行操作:1. 打开Keil软件,选择“Project”->“New µVision Project”命令,弹出新建项目对话框。
2. 在对话框中选择工程的保存路径和名称,点击“Save”保存。
3. 在“Create Project Folder”对话框中选择是否要在工程文件夹中创建子文件夹,选择“Yes”或“No”并点击“OK”完成创建。
4. 弹出新建文件对话框,选择需要添加到工程中的文件类型,例如C源文件或者汇编文件,点击“Save”保存。
5. 在“Options for Target”对话框中选择芯片型号和包装封装类型,并点击“OK”关闭对话框。
6. 在Keil主界面的工程文件窗口中右键单击“Source Group”文件夹,选择“Add Existing Files to Group 'Source Group'”命令,选择要添加到工程的源文件,并点击“Add”完成添加。
7. 右键单击“Include”文件夹,选择“Add Exist ing Files to Group 'Include'”命令,选择要添加到工程的头文件,并点击“Add”完成添加。
8. 在工程文件窗口中选择“Options for Target”->“C/C++”选项,在右侧的Edit框中添加需要进行编译的文件路径,在Options forTarget - C/C++窗口中点击“OK”完成路径设置。
9. 在工程文件窗口中选择“Options for Target”->“Output”选项,在右侧的Edit框中选择输出文件的路径和名称,点击“OK”完成路径设置。
10. 在Keil主界面的工具栏中点击“Build”按钮进行编译,编译成功后会生成目标文件和可执行文件。
注意事项:1.在建立工程模板时,需要根据实际的芯片型号和芯片封装类型进行设置,确保编译器和调试工具能够正确地识别和支持所选的硬件。
基于keil4的STM32开发环境配置作者:臣诚留柳1、在一个文件下新建如下四个文件夹:HEX:用于存放生成的.hex文件LIB:这个用来存放ST的库文件PRJ:用于存放keil4的工程SRC:用于存放源代码2、把ST库里文件放到LIB文件夹下,这里为了方便把库里一些文件位置做了一些调整,有需要的可以到网盘下载/s/1qWoepju3、keil4新建一个工程4、将工程保存到前面新建的PRJ文件夹下,输入文件名,点击OK5、在这里我们选用的器件是stm32f103c8,点击OK6、点击红框内“品”字形按钮7、新建Project Targets和Groups如下(点红叉是删除)8、配置ST库头文件路径,一共需要添加五条路径,方法如下:9、添加预定义,必须添加下面两项,不然后面编译程序报错10、设置输出文件路径,修改可执行文件名,保存到HEX文件夹下11、把ST库里的文件分别添加到相应的GROUP里STM32F10x_lib需要添加\LIB\STM32F10x_StdPeriph_Driver\src下所有的c文件(Ctrl+A添加,不要一个一个加太麻烦)CMSIS需要添加\LIB\CMSIS\CM3\CoreSupport下的core_cm3.c文件MDK_ARM需要添加\LIB\MDK-ARM下的startup_stm32f10x_md.s文件(如果是其他型号的芯片可以选用对应密度的.s文件,具体的要看芯片资料)CONFIG需要添加\LIB\CONFIG下的system_stm32f10x.c文件到此环境就配置好了,后面就可以开始添加编写自己的应用程序,进行stm32的开发了。
也许你已经注意到,前面在第七步下Project Targets这个选项卡下我们建了两个Target,这个不是必须的。
这是为了方便一个工程多个应用程序的管理,就不多说了,以后用到自然就会懂。
制作得有点匆忙,水平也有限,难免会有疏漏的地方,还请多多指教。
今天外我来教大家来怎么使用这个建工程的利器吧。
首先是新建工程吧,如下图步骤:因为我用的是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文件。
使用MDK(Keil)建立一个STM32工程模板的流程如图所示:一.获取ST库源码。
到ST公司的官网进行查找并下载,如图所示:1.新建工程文件夹——《STM32工程模板》。
首先,新建工程文件夹《STM32工程模板》,然后再在该文件夹下新建6个文件夹,分别:《Doc》、《BSP 》、《Listing》、《Output》、《Project》和《User》。
其中,2.《Doc》用于存放各种说明文档;《BSP 》用于存放各种库文件;《Listing》用于存放编译时产生的中间文件;《Output》用于存放生成的下载所需的文件;《Project》用于存放工程文件;《User》用于存放用户文件,即我们自己编写的各种源文件。
具体情况如下图所示:具体步骤,以KEIL5 MDK5.18中建立STM32F417工程为例:二.STM32工程建立(F4系列)2016年4月13日16:57将下载的stm32f4_dsp_stdperiph_lib_zip 压缩包中的文件复制到工程模板文件夹下的STM32F4XX_StdPeriph_Driver 文件夹。
如下图:1)将stm32f4_dsp_stdperiph_lib\STM32F4xx_DSP_StdPeriph_Lib_V1.6.1\Libraries\CMSIS\Include 文件夹中对应的core_cm 文件复制到工程模板文件夹下的CMSIS文件夹。
具体操作情况如下图:2)向建立的工程文件夹中添加库文件。
3.将stm32f4_dsp_stdperiph_lib\STM32F4xx_DSP_StdPeriph_Lib_V1.6.1\Libraries\CMSIS\Device\ST\STM32F4xx\Include 文件夹中文件复制到工程模板文件夹下的CMSIS 文件夹。
具体操作情况如下图:3)将stm32f4_dsp_stdperiph_lib\STM32F4xx_DSP_StdPeriph_Lib_V1.6.1\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm 文件夹中对应芯片的startup 文件复制到工程模板文件夹下的CMSIS 文件夹。