keil_MDK建立工程步骤方法
手把手教你建立Keil工程
手把手教你建立Keil工程作为一名嵌入式开发工程师,Keil是一个必不可少的工具。
它为我们提供了一个高效的开发环境,方便我们进行代码编写、调试和仿真。
如果你是Keil的初学者,下面我将手把手教你建立Keil工程。
1. 安装Keil软件首先,我们需要从Keil官网下载Keil软件并安装。
在安装过程中,我们需要选择合适的安装目录并完成基础设置。
安装完成后,我们可以看到Keil的主界面。
2. 创建新工程要创建一个新的Keil工程,我们需要点击菜单栏中的“Project”选项,选择“New µVision Project”:此时,打开一个弹窗窗口,在窗口上方选择一个适当的文件夹,然后在“Project Name”中输入项目名称:3. 添加源文件在Keil工程中,我们需要将所有的源文件添加到工程当中。
在此之前,我们需要先在Keil软件中新建一个源文件。
我们可以通过“Edit”菜单中的“New”选项新建一个源文件,或者通过快捷键CTRL + N。
当我们新建源文件后,我们需要将其添加到Keil工程中。
我们可以在“Project”选项中选择“Add Files to Project ”,然后选择我们新建的源文件并将其添加到工程中。
4. 选择器件型号在Keil工程中,我们需要设置我们所使用的器件型号。
这样我们才能编写出正确的代码,在正确的硬件平台上运行。
在Keil软件中,我们可以通过“Project”-“Options for Target”菜单项进入“Target”选项卡。
在这里,我们可以选择我们所使用的芯片型号,并设置相关的编译和仿真选项。
5. 编写程序代码当我们完成了Keil工程的基本设置后,我们就可以开始编写程序代码。
我们可以在Keil软件中使用C语言或汇编语言编写代码。
为了让代码在Keil工程中正确编译,并在正确的器件上运行,我们需要使用一些特定的关键字。
例如,在C语言中,我们需要使用特定的头文件和函数来实现程序的串口通信。
基于KEIL MDK新建LM3S8962工程
基于KEIL MDK新建LM3S8962工程注:以下的test,main.c等文件命名为个人习惯1、首先需要新建一个工程文件,名字命名为当前工程的名称,这里用test来代替。
在工程文件里需要新建三个文件夹,分别是listing,output,lib2、打开keil,新建工程打开Project/New Uvision Project选择在保存test下,文件名就为test3,选择器件在弹出来的器件选择框里选择TI(Texas Instraments)/LM3S8962OK在下面需要注意的是要点击“是”4配置工程首先是对输出文件的配置Flash/Configure Flash Tools(1)对output进行设置,把编译文件保存在之前所建的output文件夹里,(2)对listing进行设置,设置保存为listing文件夹里,(3)对C/C++进行设置,在Include Paths里增加库的路径,图示数字表示顺序,1是增加路径,2是增加新的一条路径,3是选择路径路径的具体位置跟大家所保存的StellarisWare的位置有关系E:\StellarisWare\driverlib\rvmdk-cm3(举例)(4)对下载器和调试进行配置首先要选择硬件调试,即选择右边的USE,下拉选择Stellaris ICDI在Utilties下拉选择Stellaris ICDI完成后点击OK(5)对工程最后的配置。
如图点击图中品字形的图标,这是配置界面,需要做如下更改在Project Targets把Targets更改为test;在Group把Sourse Group更改为startup;并且增加lib和user选择新建的Lib,点击Add Files增加库,库的路径为StellarisWare\driverlib\rvmdk-cm3 driverlib-cm3.lib点OK完成需要的注意的是:在选择driverlib-cm3.lib的时候,需要把文件类型选择为*.lib,如下所示最后要新建一个C文件,File/New,马上保存,保存在test下,文件名为main.c 双击user,把新建的C文件加入到工程到此为止,LM3S8962的工程已经完成,我们来加入一段程序来试验下成果编译通过,OK。
如何新建一个KEIL工程
方法/步骤
接下来我们需要把文件添加到工程里, 我们可以选择这个图标新建一个文件, 写入自己的代码。
方法/步骤
代码写完之后,可以点击这个图标进 行保存。
方法/步骤
保存的时候要输入文件的名字。
方法/步骤
保存成功之后就把这个文件添加到我 们的工程里面
(1)双击Source Group 1,在标号1 处。
如何新建一个KEIL工程
参考资料:51单片机逆向学习实战教程
《51单片机逆向学习实战教程》是2016年7月清华大学出版社出版的图书,作者是刘韶轩、尚弘 琳。
内容介绍
学习单片机的人,肯定是都要知道如何新建一个KEIL工程的。在这里就教一教大家如何新建一个 KEILKeil4来进行举例,首 先双击Keil4图标,打开这个软件
方法/步骤
接下来就是选择单片机的型号,初学 者一般使用的是51单片机。如果是51 系列单片机的话,找到Atmel
方法/步骤
在Atmel下选择具体的单片机型号, 在这里选择AT89C52,选择好之后, 点击下面的OK即可。
方法/步骤
接着会出现一个弹框,询问你是否需 要复制启动代码到你的工程,是或否 都可以。不过没什么用,一般我们选 择否。
(2)在文件夹下找到我们要添加的 文件,如标号2处。
(3)点击标号3处的Add
(4)添加好之后,点击标号4处的 Close
方法/步骤
如果在Source Group 1下,看到了我 们刚才添加的文件,就说明我们添加 成功了。
方法/步骤
如果想添加其他的文件到工程下,按照上面的步骤(步骤8 -步骤12)重复添加即可。到这里, 我们的工程就新建成功了。
参考资料:单片机课程同步实验指导
(keil设置)第一个keilMDK工程
(keil设置)第一个keilMDK工程最傻瓜的指引手册第一个keil工程熟悉Keil C 51的朋友对于Keil MDK上手应该比较容易,毕竟界面是很像的。
但ARM 内核毕竟不同于51内核,因此无论在设置上还是在编程思想上,都需要下番功夫研究的。
本文以MDK V4.03为例,详细的写一下MDK的设置、界面、工具。
可能会有些杂乱,但我想所涉及的东西都是最常用的;可能不是那么的严谨清晰,我想谁也没把我期望成专家!哈,有问题欢迎留言。
正式开始。
首先启动MDK.当然要先安装好MDK,如果找不到在哪里下载,可以翻翻我以前的博文。
启动后的MDK界面如图1所示。
图1 MDK界面第二.新建一个工程。
单击Project -New Vision Project...菜单项,Vision 4将打开一个标准对话框,见图2,输入希望新建工程的名字即可创建一个新的工程,建议对每个新建工程使用独立的文件夹。
最傻瓜的指引手册例如,这里先建立一个新的文件夹,然后选择这个文件夹作为新建工程的目录,输入新建工程的名字Project1,Vision将会创建一个以Project1.uvproj2为名字的新工程文件,它包含了一个缺省的目标(target)和文件组名。
这些内容在Project Workspace-Files中可以看到。
图2第三.选择设备在创建一个新的工程时,Vision要求为这个工程选择一款CPU。
选择设备对话框显示了Vision的设备数据库,只需要选择用户所需的微控制器即可。
例如,选择Philips *****微控制器,这个选择设置了*****设备的必要工具选项、简化了工具的配置。
最傻瓜的指引手册图3注意:当创建一个新的工程时,Vision会自动为所选择的CPU添加合适的启动代码。
对于一些设备而言,Vision需要用户手动地输入额外的参数。
请仔细阅读这个对话框右边的信息,因为它可能包含所选设备的额外配置要求。
无语了,一个钟头写的东西上传之后竟然丢失了一大段。
用keil新建工程的具体步骤
新建工程项目的具体步骤:
1.双击打开keil软件。
2.new uvision project
3.随便给工程起个名字保存。
4.选择atmel公司的AT89C52单片机。
5.对话框选否
6.新建空白文档
7.点击保存按钮,给文件起名要与工程名一致,并且以.c结
尾保存
8.在屏幕左侧的project框框中点开Target 1前面的加号,会
出现一个source group 1的空文件夹,在这个文件夹上右击,然后选择add feils to group source group1;会冒出一个对话框,选中你要添加的.c文件,点add 文件就成功的添加到项目中了。
9.在编程序之前需要点一下工具栏中的像小锤头一样的东
西,然后out put 然后点生成HEX文件打钩,ok;
10.工程项目建立完毕,你可以编程序了。
需要注意几点:每次新建工程都别忘了生成HEX文件打钩,新建空白文件要先保存,命名要以.c结尾;
程序编写完毕要先保存在编译,我觉得就不用我告诉你哪个是保存哪个是编译了吧。
戚振勇。
mdk建立工程的方法和步骤
mdk建立工程的方法和步骤:
以下是使用MDK建立工程的一般方法和步骤:
1.打开Keil MDK软件,选择“File”菜单下的“New”选项,创建一个新的工程。
2.在创建工程的过程中,需要选择目标微控制器型号。
根据您的项目需求选择合适的微控制器型号。
3.在工程创建完成后,您将看到一个包含源代码文件、头文件、库文件等资源的工程目录结构。
4.在工程目录结构中,您可以添加或删除文件和文件夹,以便组织您的代码和资源。
5.在工程中添加源代码文件,可以通过右键单击工程目录结构中的“Source Group”文件夹,然后
选择“Add New Item to Group ‘Source Group’”。
6.在弹出的对话框中,选择您要添加的源代码文件类型(如C或汇编文件),并指定文件名和保存
位置。
7.添加完源代码文件后,您可以在工程中添加其他资源,如头文件、库文件等。
8.在工程中添加或修改完资源后,您可以通过Keil MDK的编译和调试功能来编译和调试您的代码。
9.在编译和调试过程中,您可以使用Keil MDK提供的各种工具和功能,如代码编辑器、编译器、
调试器等。
10.当您完成代码开发和调试后,可以生成可执行文件或固件,并将其下载到目标设备中进行测试和
验证。
keil工程的建立步骤
keil工程的建立步骤以keil工程的建立步骤为标题,写一篇文章。
一、新建工程在使用Keil软件进行开发之前,首先需要新建一个工程。
打开Keil 软件,选择“Project”菜单,然后选择“New uVision Project”。
接着选择保存工程的路径和名称,点击“Save”按钮即可新建一个工程。
二、选择芯片型号在新建工程的过程中,需要选择芯片的型号。
在弹出的对话框中,可以选择具体的芯片型号。
Keil支持各种不同的芯片型号,选择与自己项目相匹配的芯片型号,点击“OK”按钮确认选择。
三、添加源文件新建工程后,需要添加源文件。
选择“Project”菜单,然后选择“Add Files to Project”。
在弹出的对话框中,选择需要添加的源文件,点击“Add”按钮即可将源文件添加到工程中。
四、配置工程属性在进行开发之前,还需要配置工程的属性。
选择“Project”菜单,然后选择“Options for T arget”。
在弹出的对话框中,可以配置各种参数,如编译器选项、链接器选项等。
根据项目需求进行相应的配置,点击“OK”按钮确认配置。
五、编写代码配置完工程属性后,就可以开始编写代码了。
在Keil软件中,可以使用C语言或汇编语言进行编程。
根据项目需求,编写相应的代码并保存。
六、编译代码编写完代码后,需要对代码进行编译。
选择“Project”菜单,然后选择“Build Target”。
Keil会自动编译代码,并生成可执行文件。
编译过程中,如果出现错误,需要根据错误提示进行修改。
七、下载程序编译成功后,可以将程序下载到目标芯片中进行调试。
选择“Debug”菜单,然后选择“Start/Stop Debug Session”。
连接好目标芯片后,Keil会自动下载程序到芯片中,并打开调试窗口。
八、调试程序下载程序后,可以进行程序的调试。
在调试窗口中,可以设置断点、单步执行代码、查看变量的值等。
通过调试,可以检查程序的运行状态,查找问题并进行修复。
实验:MDK新建工程
新建工程步骤:STM32F40_41xxx,USE_STDPERIPH_DRIVER1. 在建立工程之前,我们建议用户在电脑的某个目录下面建立一个文件夹,后面所建立的工程都可以放在这个文件夹下面,这里我们建立一个文件夹为Template。
这是工程的根目录文件夹。
然后为了方便我们存放工程需要的一些其他文件,这里我们还新建下面3个子文件夹:CORE ,FWLIB,USER。
至于这些文件夹名字,实际上是可以任取的,我们这样取名只是为了方便识别。
对于这些文件夹用来存放什么文件,我们后面的步骤会一一提到。
新建好的目录结构2.接下来,打开Keil,点击Keil的菜单:Project –>New Uvision Project ,然后将目录定位到刚才建立的文件夹Template之下的USER子目录,同时,工程取名为Template之后点击保存,我们的工程文件就都保存到USER文件夹下面。
操作过程如下图:3.接下来会出现一个选择Device的界面,就是选择我们的芯片型号,这里我们定位到STMicroelectronics下面的STM32F407ZE(针对我们的ExplorerSTM32板子是这个型号)。
这里我们选择STMicroelectronics→STM32F4Series→STM32F407→STM32F407ZE特别注意:一定要安装对应的器件pack才会显示这些内容哦!!)。
点击OK,MDK会弹出Manage Run-Time Environment对话框。
这是MDK5新增的一个功能,在这个界面,我们可以添加自己需要的组件,从而方便构建开发环境,不过这里我们不做介绍。
我们直接点击Cancel,即可。
4) 现在我们看看USER目录下面包含2个文件,5) 下面我们要将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面。
打开官方固件库包,定位到我们之前准备好的固件库包的目录:\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\STM32F4xx_StdPeriph_Driver下面,将目录下面的src,inc文件夹copy到我们刚才建立的FWLib文件夹下面src存放的是固件库的.c文件,inc存放的是对应的.h文件,您不妨打开这两个文件目录过目一下里面的文件,每个外设对应一个.c文件和一个.h头文件。
ARM的KEIL工程建立及编译过程
ARM 的KEIL 工程建立及编译过程 精简:1)添加:Ext_RAM.ini 和RuninRAM.sct; 2)选中,去掉3)注意LOAD 1.axf INCREMENTAL // Download program 这个名要与工程名保持一致。
第一步:新建工程点击Project-new uvision Project 新建工程,注意工程名没有后缀。
点是,自动生成启动代码,否,要自己写启动代码。
第二步:自己写c 程序(用户程序):点击File-New 新建文件:注意文件名尾缀为.c。
Un Re gi st er ed第三步:添加C 文件选中Source Group1点击右键,进行文件添加。
第四步:COPY 三个文件:(第一个是用户程序,自己写就不需要添加,最后一个如果自动生成启动代码也不需要添加)Ext_RAM.ini 和RuninRAM.sct必须添加。
Ext_RAM.ini :J-LINK 初始化脚本,必须添加。
代码执行前必须要初始化CPU 内部的一些寄存器。
该文件就是做初始化工作,给J-LINK 用。
J-LINK 通过读取该配置文件,初始化目标板主CPU 相关的寄存器。
RuninRAM.sct:代码编译时需要的链接文件,其主要作用就是组织代码的到该脚本指定的地址。
S3C2440A.s:初始化代码(启动代码) 小知识点:RuninRAM.sct:代码分析Un Re gi st er ed; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* ; Run in RAMLR_ROM1 0x30000000 {; load region 程序运行起始地址。
用keil新建工程
回到主页面,在file栏目下选择新建 文件,并保存在之前建好的文件夹中, 注意用C语言编程的话一定将文件扩 展名改为“.c”格式
左图表示了本步骤的内容,以图片内 容为准。
保存好文件后在左边窗口可以看到 source group1,此时文件还没有添 加到工程
选中source group1,点击右键,选 择第三项,Add Existing Files to Group “Source Group1”,这时跳 出窗口,选择刚刚新建的c文件,点 击添加
《RT-Thread内核实现与应用开发实战指南基于STM32》是2018年机械工业出版社出版的图书, 作者是刘火良,杨森 。
《物联智能硬件编程技术实训》是清华大学出版社2021年出版图书,作者王洪泊
《跟工程师学嵌入式开发 ——基于STM32和μC/OS-III》是电子工业出版社于2017年出版的图 书,作者是谭贵。
《C语言程序设计项目教程(基于Keil C)》是2017年5月电子工业出版社出版的图书,作者是 李建兰。
谢谢观看
左图表示了本步骤的内容,以图片内 容为准。
这样,用keil就建好一个工程文件了, 打开source group1可以看到新建的c 文件就在工程中啦
《新编51单片机C语言教程》是 2017年电子工业出版社出版的图书,作者是蔡杏山、蔡玉山。
《51单片机逆向学习实战教程》是2016年7月清华大学出版பைடு நூலகம்出版的图书,作者是刘韶轩、尚弘 琳。
用keil新建工程
《单片机开发与应用技术》是2012年清华大学出版社出版的图书,作者是余军、梁蓓。
今天教教新手们用keil新建工程
打开keil软件,在project栏目下选 择第一项新建工程
左图表示了本步骤的内容,以图片内 容为准。
MDK(Keil)建立一个STM32工程
MDK(Keil)建立一个STM32工程上有进行了分享,也可以到ST公司的官网进行查找并下载。
不过,如果英文不好的话,要在官网上找到STM32固件库确实是件很吃力的事。
在官网上可以根据英文提示按不同条件进行筛选,具体操作如下图所示:第二步:新建工程文件夹——《STM32工程模板》首先,新建工程文件夹《STM32工程模板》(自己的程序文件名),然后再在该文件夹下新建6个文件夹,分别为:《Doc》、《Libraries》、《Listing》、《Output》、《Project》和《User》。
其中,《Doc》用于存放各种说明文档;《Libraries》用于存放各种库文件;《Listing》用于存放编译时产生的中间文件;《Output》用于存放生成的下载所需的文件;《Project》用于存放工程文件;《User》用于存放用户文件,即我们自己编写的各种源文件。
具体情况如下图所示:在Libraries文件夹中新建CMSIS和FWLib两个文件夹将下图中文件复制到FWLib文件夹中将下图文件复制到CMSIS文件夹中1、将库文件中CoreSupport文件夹下的文件复制到工程模板文件夹下的CMSIS文件夹。
将库文件中DeviceSupport文件夹下的相关文件复制到工程模板文件夹下的CMSIS文件夹复制完成后将下图文件复制到User文件夹下面第四步:使用MDK(Keil)新建工程模板1.1首先得选择CPU,这个在新建工程时,会有一个选择芯片的界面,我们只需按提示以及自己的实际情况来选择就好了。
具体操作情况如下图:2. 2更改工程名(将默认的工程名改为“Template”的方法:选中工程,按“F2”键)并为工程添加项目组(Add group to project)。
具体操作情况如下图:STARTUP、CMSIS、FWLIB、USER、DOC、3.3分别向各个项目组中添加我们刚刚从库中复制过来的文件文件(Add files to group)。
单片机实践-KEIL新建工程和文件
11 操作步骤
第六步:新建文件 选择菜单栏上面的file—New,
新建文件。
选择file 新建文件
新建的文件
11 操作步骤
第七步:保存文件 点击工具栏上面的保存图标,
然后选择前面新建的test文件夹, 并给文件重新命名,务必加上后缀 .c,如:led.c,最后保存文件。
①
保存文件
②
将新建的文件和项目保存在同一个文件夹
新建工程及文件
CONTENTS
操作步骤 其它问题
11 操作步骤
第一步:新建工程 打开keil5,点击 project ,再
新建 uVision project工程,按如 图操作。
工程/项目 新建工程/项目
11 操作步骤
第二步:选择工程路径 选择工程保存的路径,不要使用
默认路径,方便查找,同时新建一个 文件夹,用于存放工程。
第三个按钮(Rebuild):重新编译工程中所有的源文件,与上次的编译结果无关,不管 工程的文件之前有没有编译过,都会对所有文件重新进行编译并生成可执行文件,因 此花费时间较长,平时使用较少。
2 其它问题
(1) 添加STC单片机到KEIL中
①
②
③
2 其它问题
(2) 编程窗口放大缩小 将鼠标对准编程窗口,按键ctrl键,同时滚动鼠标中间的滚轮即可放大和缩小。
② ②
在空白处单击鼠标右键 插入.h文件
11 操作步骤
① 第十步:设置输出HEX文件
该文件用于下载到单片机程序存 储器,具体操作见右图所示。
选择output
点击魔术棒图标
② 将√选上
点击OK
1 操作步骤
第十一步:编译代码
编编编 译译译 当已整 前修个 源改工 文后程 件的中
Keil 工程如何建立
参考资料:单片机使用速成
《单片机使用速成》是2010年国防工业出版社出版的图书,作者是张剑平、黄刚。
内容介绍
学习单片机就得学会编程,那我们用什么软件编程的呢?答案就是Keil软件。如何创建一个 Keil工程,接下来我们介绍一下如何建立Keil工程。
方法/步骤
在桌面上找到keil图标双击打开。
参考资料:c51单片机技术教程
《c51单片机技术教程》是2007年人民邮电出版社出版的图书,作者是田希晖、薛亮儒。
参考资料:51单片机编程基础与开发实例详解
《51单片机编程基础与开发实例详解》是2008年人民邮电出版社出版的图书。
参考资料:51单片机原理、接口技术及工程实践
《51单片机原理、接口技术及工程实践》是清华大学出版社2021年出版图书,作者刘丹丹、杨芳、 王计元、刘洪利
接下来就能在创建的11.中创建第一 个工程了
注意事项
记住要先新建文件然后保存
参考资料:增强型8051单片机快速实践教程
《增强型8051单片机快速实践教程》是2013年电子工业出版社出版的图书,作者是朱华、方路 平、应时彦。
参考资料:单片机项目设计与实训:项目式教学
《单片机项目设计与实训:项目式教学》是2011年高等教育出版社出版的图书,作者是浙江天煌 科技实业有限公司。
参考资料:51单片机开发快速上手
《51单片机开发快速上手》是2015年电子工业出版社出版的图书,作者是杜树春。
参考资料:单片机原理及应用:基于STC15系列单片机+C51编程
《单片机原理与应用:基于汇编C51及混合编程/高等学校计算机专业特色教材》以 STCl2C5A60S2单片机为主线,详细介绍了MCS5l内核单片机的结构、汇编指令系统、C51程序设 计、C51与汇编语言混合编程,以及STCl2C5A60S2单片机的PCA/PWM、AD转换电路、EPRO骤的内容,以图片内 容为准。
工程篇:搭建KEIL-MDK开发平台及制作MDK工程文件模板
深入浅出STM32NUCLEO开发平台STM32-NUCLEO--基于STM32-NUCLEO-072RB开发板实例讲解本章节内容•软件安装:搭建KEIL-MDK开发平台•工程项目:制作MDK工程文件模板搭建KEIL MDK开发平台搭建KEIL-MDK开发平台软件安装步骤:1、ST-LINK Utility v3.4.0.exe安装ST LINK Utility_v3.4.0.exe2、安装ST-LINKV2-1仿真器驱动3、通过ST-LINK Utility工具读取STM32-NUCLEO-0723、通过ST LINK Utility工具读取STM32NUCLEO 0724、安装KEIL-MDKV511A.EXE软件包5、载入STM32Cube FW F0V100固件包工程文件调试5、载入STM32Cube_FW_F0_V1.0.0固件包工程文件调试搭建KEIL MDK开发平台搭建KEIL-MDK开发平台软件安装步骤:ST-LINK Utility v3.4.0.exe1、安装ST LINK Utility_v3.4.0.exe搭建KEIL MDK开发平台搭建KEIL-MDK开发平台软件安装步骤:ST-LINKV2-1仿真器驱动2、安装ST LINKV21仿真器驱动从“”看是否按照成功从我的电脑/属性/任务管理器看是否按照成功搭建KEIL MDK开发平台搭建KEIL-MDK开发平台软件安装步骤:3、通过ST-LINK Utility工具读取STM32-NUCLEO-072搭建KEIL MDK开发平台搭建KEIL-MDK开发平台软件安装步骤:4、安装KEIL-MDKV511A.EXE软件包搭建KEIL MDK开发平台搭建KEIL-MDK开发平台软件安装步骤:5、载入STM32Cube_FW_F0_V1.0.0固件包工程文件调试端口:SW制作MDK工程文件模板一、工程文件模板作用1、便于程序代码模块化,封装化便于程序代码模块化,封装化2、便于多人合作分工开发STM32项目二、制作步骤1、建立项目文件夹2、移植官网提供的固件库软件包3、移植官网提供的宏定义文件/时钟配置文件/开发板宏定义配置文件/中断配置文件/启动文件4、建立MDK工程文件,在里面设置好工作路径及其他配置制作MDK工程文件步骤1、建立项目文件夹Driver: 自己编写的驱动•Driver:•Lib:固件库Mdk: 工程文件名•Mdk:•Startup:放置启动文件•Stm32f072rbt6:放置宏定义文件和MCU寄存器配置文件•User:放置主程序,包含预处理文件制作MDK工程文件步骤2、移植官网提供的固件库软件包制作MDK工程文件步骤3、移植官网提供的宏定义文件/时钟配置文件/开发板宏定义配置文件/中断配置文件/启动文件以上文件来源于STM32-072DISCOVERY和STM32_NUCLEO_FW_1.2.1制作MDK工程文件步骤4、建立MDK工程文件,在里面设置好工作路径及其他配置a、建立工程建程b、设置正确的器件型号c、建立工作组建立工作组d、设置工作路径e、设置仿真器。
新手入门keilMDK5建立STM32工程
新⼿⼊门keilMDK5建⽴STM32⼯程keil uvison 是⽤来开发单⽚机的,Keil mdk 是⽤来开发 ARM 的。
芯⽚型号是:STM32F103RB61,新建⼯程配置属性晶振为8M 根据实际晶振选择⽣成 HEX ⽂件,选中2,复制启动⽂件,头⽂件,这⾥为了简单,全部放在了项⽬⽂件夹中,不像有的教程,要建这个,配置那个,新⼿容易头⼤。
启动⽂件在,STM32F10x_StdPeriph_Lib_V3.5.0.rar ⾥⾯,解压LIB库⽂件。
复制 STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport ⾥⾯的 core_cm3.h core_cm3.c 到项⽬⽂件夹中。
复制 STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x ⾥⾯的 3个⽂件 stm32f10x.h system_stm32f10x.c system_stm32f10x.h 到项⽬⽂件夹中。
复制启动⽂件 STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm ⾥⾯的 startup_stm32f10x_md.smd hd ld 根据芯⽚FLASH 容量决定⽤哪个。
16K < FLASH < 32K ld64K < FLASH < 128K md256K < FLASH < 512K hd⽂件复制好以后就是这个样⼦。
双击,添加⽂件到项⽬中。
新建⼀个 main.c ⽂件,并添加到项⽬中。
1 #include "stm32f10x.h"2 #include "bitband.h"34void delay()5 {6int i=30000;7while(i--);8 }910int main(void)11 {12//初始化引脚13//PA2 接 BEEP14//初始化 PA 时钟15 RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;16//配置引脚模式17 GPIOA->CRL &= ~(0x3<<(4*2+2));18 GPIOA->CRL |= 0x3<<(4*2);1920while(1)21 {22 GPA_ODR(2) = 1;23 delay();24 GPA_ODR(2) = 0;25 delay();26 }27return0;28 }bitband.h 是⼀个 bit 位映射功能操作时简单,不⽤⽐较位,节省时间。
keil MDK建立工程步骤方法
KEIL工程建立步骤KEIL MDK开发工具源自德国Keil 公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。
KEIL MDK集成了业内最领先的技术,包括µVision4集成开发环境与RealView编译器。
支持ARM7、ARM9和最新的Cortex-M3/M1/M0 内核处理器,自动配置启动代码,集成Flash 烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。
KEIL MDK出众的价格优势和功能优势,已经成为ARM软件开发工具的标准,目前,KEIL MDK在国内ARM开发工具市场已经达到90%的占有率。
使用MDK前当然要先把KEIL MDK安装好。
读者首先要从/下载到最新的KEIL MDK,笔者使用的是KEIL MDKV4.13a。
下载完毕之后双击开始安装。
首先看到欢迎界面:点击Next,勾选安装协议:下一步,选择安装路径(笔者因硬盘空间不足安装在E盘,但若读者硬盘资源充裕,则建议安装在C盘,跑起来快些):下一步,填写用户信息,个人用户随意填入即可:点击Next 就进入实质的安装过程啦,Wait for a Whle… …很快安装完毕,看到2 个可选项:1、保持当前uVision 的设置。
2、载入以下选择的工程实例,默认即可。
点击Next,来到最后一个安装界面:1.是否安装ULINK Pro Driver V1.0驱动?2.是否显示软件发布说明?读者可以按照自己的需求勾选。
点击Finish,KEIL MDK就完成安装了,可以发现桌面上生成了名为“Keil uVision4”的可执行文件快捷方式。
双击“Keil uVision4”图标打开Keil uVision4开发环境,此时Keil uVision4会自动载入一个工程项目(依安装的倒数第二步勾选而定),我们就此可以简单地看看KEIL MDK 的用户界面。
keil mdk4.0新建stm32工程
1、进入/s/1gdej2SF下载stm工程原件.rar,开始新建一个文件夹:
2、在z文件夹中新建HARDWARE、SYSTEM、USER文件夹,HARDWARE文件夹是用来存放
用户所调用第三方函数库、SYSTEM是用来存放系统库、USER是用来存放主函数。
3、在SYSTEM文件夹新建delay、sys、usart文件夹。
4、System文件夹是用来存放系统官方库:
其他的存放相关库:
5、HARDWARE存放相关库
6、在USER文件夹下存放官方引导库:
打开新建工程,并命名为test,关键选芯片型号:这里我选STM32F103RB:
点OK后选择否,因为我已经加入引导库了。
7、新建空文件,保存到USER文件夹并命名为mian.c
8、加入.c文件,右击target 选择Manage Components
9、新建HARDWARE、SYSTEM、USER文件夹
10、分别在Source Group 1、HARDWARE、SYSTEM、USER中加入文件:
同理其他:
加入STM32F10x.s时文件类型要选
为这样就可以看到STM32F10x.s这个了
完了点击OK
11、点击这个,再到C/C++,在选择,添加:
选择好即可。
12、在主函数加入这些:
然后在结尾后退两行:
点击编译:可以看到大功告成了:。
(keil添加文件)建立一个最简单工程
Keil添加文件 - 建立一个最简单的工程Keil是一款被广泛使用的嵌入式开发IDE。
在Keil中,用户添加新的源文件、头文件和库文件后,需要对工程进行重新构建。
在本文中,我们将介绍如何通过在Keil中添加文件,建立一个最简单的工程。
1. 创建一个新工程首先,我们需要在Keil中创建一个新的工程。
在Keil中,通过Project->New Project...来创建一个新工程。
在弹出的窗口中,选择新的工程的文件夹和文件名。
然后选择设备系列和型号。
2. 添加源文件和头文件在我们的最简单工程中,我们只需要一个简单的源文件和一个头文件。
这些文件可以被用来创建一个基本的程序,完成工程。
我们可以通过在Project->AddFile to Project...菜单中添加这些文件。
点击Add File to Project...后,选择菜单中的Add Existing Files,选择你的文件,并添加到Keil工程中。
3. 构建工程在添加完文件后,我们需要构建我们的工程来为新的文件分配内存并生成 hex文件。
在Keil中,通过Project->Build Target来构建工程。
点按该项后,Keil将自动编译源代码,并生成.hex文件。
4. 工程查看在完成工程构建后,我们可以查看Project->Output来查看构建输出。
在这里,我们可以找到构建进度以及任何可能的错误和警告。
5.在本文中,我们介绍了如何通过在Keil中添加文件,建立一个最简单的工程。
我们通过如下步骤完成了这个工程的创建:1.创建一个新工程2.添加源文件和头文件3.对工程进行重新构建4.查看构建输出这些步骤展示了Keil如何简单而又有效地创建一个嵌入式工程。
使用Keil MDK新建工程V3
使用Keil MDK新建工程V3.5固件库作者:Eamonn 发布时间:2011-12-05 14:27 访问:132 分类:ARM用到STM32开开发,当然得从最简单的例子开始下手,但是建立一个最简单的Project 原型就出现问题。
0 背景MCU芯片型号:STM32F103VEKeil版本:V4.13a固件库版本:STM32F10x_StdPeriph_Lib_V3.5.0一、工程建立前的准备:1.新建一个文件夹“proj1”作为工程的目录,在其下分别建立如下几个目录:a. startup:启动代码。
拷贝"STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\star tup\arm"目录下的"startup_stm32f10x_hd.s"到该目录下b. cmsis:与Cortex-M3内核设备访问相关的代码。
拷贝"../STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport"目录下的"core_cm3.c"、"core_cm3.h"以及"STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x"目录下的"stm32f10x.h"、"system_stm32f10x.c"、"system_stm32f10x.h"放到该目录下c. libraray:外设库文件。
拷贝"STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver"目录下的"inc"和"src"文件夹放到该目录下d. source:用户应用开发文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KEIL工程建立步骤点击Next,勾选安装协议:下一步,选择安装路径(笔者因硬盘空间不足安装在E盘,但若读者硬盘资源充裕,则建议安装在C盘,跑起来快些):下一步,填写用户信息,个人用户随意填入即可:点击Next 就进入实质的安装过程啦,Wait for a Whle……很快安装完毕,看到2 个可选项:1、保持当前uVision 的设置。
2、载入以下选择的工程实例,默认即可。
点击Next,来到最后一个安装界面:1.是否安装ULINK Pro Driver V1.0驱动?2.是否显示软件发布说明?读者可以按照自己的需求勾选。
点击Finish,KEIL MDK就完成安装了,可以发现桌面上生成了名为“Keil uVision4”的可执行文件快捷方式。
双击“Keil uVision4”图标打开Keil uVision4开发环境,此时Keil uVision4会自动载入一个工程项目(依安装的倒数第二步勾选而定),我们就此可以简单地看看KEIL MDK 的用户界面。
如图所示,KEIL MDK的基本用户界面也是很简洁的,也是由一些菜单栏,工具栏,状态栏等区域构成。
当然KEIL MDK的软件界面远远不止这么简单,读者可以在日后漫长的工程师生涯逐一熟悉。
至此,KEIL MDK的安装工作已经完毕了。
接下来我们要开始建立我们的第一个工程。
在开始之前,请读者先从网上获取ST公司提供的STM32固件库“stm32f10x_fw_archive v2.0 (May 2009)”,然后将其解压。
首先请读者在任意一个地方建立一个空文件夹,并将其命名为“STM32_FW”。
然后在STM32_FW 里新建6个文件夹,分别命名为“boot”、“library”、“src”、“obj”、“list”、“library”。
如下图所示:接下来请执行如下操作:1、在刚才解压“stm32f10x_fw_archive v2.0(May2009)”得到的文件夹里按照路径\stm32f10x_fw_archive v2.0 (May 2009)\Archive,找到um0427.rar并将其解压。
2、在第1步解压到的um0427文件夹里按路径“\um0427\FWLib\project\RVMDK”找到文件:“cortexm3_macro.s”和“stm32f10x_vector.s”,并将其复制到前面所新建的“STM32_FW\boot”文件夹中。
此二者为STM32 在MDK 环境下的启动文件,是每一个STM32 工程所必需的。
3、在“\um0427\FWLib\project”中找到文件:“stm32f10x_it”和“stm32f10x_it”,并将其复制到“STM32_FW\interrupt”中。
此二者包含了STM32 在MDK 下的中断服务入口函数。
4、将“\um0427\FWLib\library”中的“inc”文件夹和“src”文件夹复制到“STM32_FW\library”中。
此二文件夹为STM32 的固件函数库文件,一般情况下这两个文件夹里的文件都不推荐改动,可以设置只读属性。
5、最后请新建一个名字为“main.c”文件,放入“STM32_FW\src”中。
执行完以上操作后,应该得到如下结构:STM32_FW\boot:“cortexm3_macro.s”和“stm32f10x_vector.s”文件;STM32_FW\interrupt:“stm32f10x_it”和“stm32f10x_it”文件;STM32_FW\src:“main.c”文件;STM32_FW\library:“inc”文件夹和“src”文件夹;建立“STM32_FW”文件夹的用意在于,它可以作为我们以后进行STM32程序开发时候的一个目录结构。
以后我们新建任何一个工程时,只要直接复制这个文件夹里面的四个文件夹就可以完成一个工程最基本的文件结构的建立了。
这样可以提高我们的开发效率。
下一步,我们来真正着手建立第一个工程。
首先新建一个文件夹,笔者将其命名为“MyFirstJob”。
并将“STM32_FW”中的“boot”、“library”、“src”、“obj”、“list”、“library”文件夹复制到“MyFirstJob”中。
如下图所示:然后执行如下操作:1、打开Keil uVision4,依次点击Project-New uVision Project(如果当前有工程正在打开,请先执行Project-Close Project将其关闭),弹出窗口,填写工程名和保存路径(保存在我们刚才新建的“MyFirstJob”下,命名为MyFirstJob),然后点击保存。
如下图:2、接着第1 步的保存之后,弹出窗口,选择CPU 类型。
此处根据实际情况选取,作者使用的是STMicroelectronics的STM32F103RB 系列。
如图所示,我们可以看到右侧显示了该型号STM32 器件的一些特性,比如72MHz,128K Flash,20K SRAM……资源都是非常丰富的。
如图所示:3、选择好CPU 型号之后点选确定,弹出如下图对话框:此处是询问需不需要给工程添加STM32 的启动代码(Startup Code),记得此处点选No。
4、至此STM32 的工程已经新建完毕,可以看到如下界面:5、接下来是将一系列必要的工程文件添加到当前工程中,执行如下操作:(1)将“Target”重命名为“MyFirstJob”,并删除Source Group1。
在“MyFirstJob”上点击右键,在弹出的菜单中选择Add Group...,依次添加四个Group,分别命名为“boot”、“library”、“src”、“interrupt”。
完成后如下图所示:(2)在boot 上点击右键,在弹出的菜单中选择“Add File to Group ‘boot’... ”,将“MyFirstJob\boot”文件夹中的“cortexm3_macro.s”和“stm32f10x_vector.s”添加进来;(3)依照(2)的方法,给library添加“MyFirstJob\library\src”路径下的“stm32f10x_flash.c”、“stm32f10x_gpio.c”、“stm32f10x_lib.c”、“stm32f10x_rcc.c”四个文件;(4)给src 添加“main.c”;(5)给interrupt 添加“stm32f10x_it.c”;(6)以上操作完毕之后,应该得到如下界面(请在main.c 文件键入一个空main 函数,如图所示):6、右键点击Project 区的“MyFirstJob”,在弹出的菜单中选择“Option forTarget‘MyFirstJob’…”,弹出选项配置界面,如下所示:做如下操作:1)点击Output——Select Folder for Objects...,在弹出的窗口中选择“MyFirstJob\obj”;2)点Listing——Select Folder for Lisitings...,在弹出的窗口中选择“MyFirstJob\list”;3)点击OK退出“Option for Target ’MyFirstJob’”界面。
7、按下F7(“Build”的快捷键),进行编译。
应该看到如下界面:最下面的Build Output 区是编译信息框,可以从中获取编译信息,如代码量,错误和警告信息等,我们可以发现此次编译结果为“0 Error(s),1 Warning(s)”,即“0个错误,1个警告”,而我们可以看到这个警告的解释为:“src\main.c(6): warning: #1-D: last line of file ends without a newline”,这是gcc编译器一个很常见的警告,意思是当前文件(src\main.c)并不是以一个空行结尾,读者只要在“main.c”的最后加上一个空行在编译就可以去掉这个警告了。
8、一个完整的STM32 工程至此就完成建立了。
可以发现“MyFirstJob”文件夹多了几个文件。
可以看到KEIL MDK的工程目录是很简洁的,此处也得益于我们的obj 文件夹和list文件夹存放了编译所生成的大部分文件。
但是此工程仍未可以用于进行STM32 的开发,原因是我们还未对STM32的调试开发工具进行设置,在下一节里将会有具体说使用Keil进行stm32的程序开发本章的上一节向读者介绍了Keil MDK的安装流程与在Keil MDK的μVision4集成开发环境下进行stm32工程的建立方法。
本节我们就来看看如何使用Keil MDK开发工具进行stm32应用程序的开发。
在此之前有必要向大家介绍几个名词,Keil、MDK、μVision4、RealView、RVCT、JLINK还有RVDS,这些名词分别表示什么,有什么从属关系呢?相信很多读者并没有明确的概念,现在简单的说明一下:Keil:这个大家应该最为熟悉,Keil其实是一家公司的名字,而这家Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software组成。
大家很熟悉的keil C51就是从Keil Software手中诞生的。
但是在2005年,Keil公司被ARM 公司收购。
值得一提的是,Keil公司只有区区20多名员工,却仍然做出了伟大的作品。
MDK:MDK全称Microcontroller Develop Kit,意为微控制器开发套件。
ARM收购Keil公司的意图在于进军微控制器(也就是我们常说的单片机)领域,MDK就是这种意图下的产物。
但我们一般仍称之为Keil MDK而不是ARM MDK,Keil MDK作为一个套件,包含了一系列软件模块。
包括Keil公司的IDE 环境”μVision”,ARM公司的编译器RVCT,Flash烧写软件模块等。
μVision4:μVision4是Keil公司的IDE环境”μVision”的第四个版本,从根本上来说μVision4是一个开发环境,并不必须包含编译器、仿真、烧写等模块。
比如AVR单片机的一个开发环境WinAVR(又称GCCAVR)就不包含仿真调试器,也不包含烧写模块。
值得一提的是,家喻户晓的Keil C51正是基于μVision2开发环境,所以μVision4的界面和μVision2非常的相似,很有利于广大习惯于μVision2开发环境的开发人员转向使用μVision4进行stm32的开发。
RealView:是ARM公司编译工具的名称。
其首字母就是下文提到的RVCT中的’R’。