基于ARM的单片机应用及实践课件-第四章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.5.0\3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\ CoreSupport文件目录中的core_cm3.c和core_cm3.h也拷贝到STM32Template\CMSIS文件夹下。
3.5.0\3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\ DeviceSupport\ST\STM32F10x文件目录中的stm32f10x.h、 system_stm32f10x.c、system_stm32f10x.h拷贝到STM32Template\CMSIS文件夹下。最终效果如下图所示。
4.2新建MDK工程
4.2新建MDK工程
此时工程新建成功,接下来需要添加文件,具体操作如下 所述: 在STM32-Template文件夹下,新建四个文件夹,分别为 FWlib、CMSIS、Uotput、Listing。原先新建的USER用来 存放工程文件和用户代码,包括主函数main.c。 FWlib用 来存放STM32库里面的inc和src这两个文件,这两个文件 包含了芯片上的所有驱动。CMSIS用来存放库为我们自带 的启动文件和一些M3系列通用的文件。CMSIS里面存放 的文件适合任何M3内核的单片机。Output用来保存软件编 译后输出的文件,Listing用来存放一些编译过程中产生的 文件。最终效果如下图所示。
4.2新建MDK工程
在单击Include Paths栏,在这里添加库文件的搜索路径, 这样就可以屏蔽掉默认的搜索路径。最终效果如下图所 示。
4.2新建MDK工程
但当编译器在我们指定的路径下 搜索不到的话还是会回 到标准目录去搜索,就像有些ANSIC C 的库文件,如 stdin.h 、stdio.h。库文件路径修改成功之后如下所示:
4.3RVMDKS使用技巧
4.3RVMDKS使用技巧
然后点击各个元素修改为你喜欢的颜色,当然也可以在 Font栏设置你字体的类型,以及字体的大小等。设置成之 后,点击 OK,就可以在主界面看到你所修改后的结果, 例如我修改后的代码显示效果如下图所示:
4.3RVMDKS使用技巧
TAB键的妙用 MDK的 TAB键和一般编译器的 TAB键有不同的地方,和 C++的 TAB键差不多。MDK的 TAB键支持块操作。也就 是可以让一片代码整体右移固定的几个位,也可以 SHIFT+TAB键整体左移固定的几个位。假设我们前面的 串口 1中断响应函数如下图所示。
4.2新建MDK工程
4.2新建MDK工程
此时我们新进的工程目录如下所示:
4.2新建MDK工程
到我们刚刚新建的MDK工程中,将Target改为STM32DEMO(不改也行)。最终效果如下图所示。
4.2新建MDK工程
在STM32-DEMO上右键选中Add Group…选项,新建四个组,分别 命名为STARTCODE、USER、FWlib、CMSIS。STARTCODE用它 来放我们的启动代码的,最终效果如下图。
■行业领先的ARM C/C++编译工具链。
■确定的Keil RTX ,小封装实时操作系统(带源码)。
■TCP/IP网络套件提供多种的协议和各种应用。
4.2新建MDK工程
如何新建MDK工程? ■安装开发环境和调试驱动程序
■创建一个工程并配置工程
■编写程序、下载、调试4.2新Βιβλιοθήκη MDK工程4.2新建MDK工程
4.3RVMDKS使用技巧
4.3RVMDKS使用技巧
上图中这样的代码大家肯定不会喜欢,这还只是短短的 30来行代码,如果你的代码有几千行,全部是这个样子, 不头大才怪。看到这样的代码我们就可以通过 TAB键的妙 用来快速修改为比较规范的代码格式。选中一块然后按 TAB键,你可以看到整块代码都跟着右移了一定距离,如 下图示。
4.3RVMDKS使用技巧
4.3RVMDKS使用技巧
在该对话框中我们选择 Colors&Fonts选项卡,在该选项卡 内,我们就可以设置自己的代码的子体和颜色了。由于我 们使用的是 C语言,故在 Text File Types下面选择 ARM:Editor C Files在右边就可以看到相应的元素了。最终 效果如下图所示。
基于ARM的单片机应用及实践课件第四章
4.1MDK-ARM 4.70简介
Keil公司开发的ARM开发工具MDK,是用来开发基于 Cotex-MA、Cotex-R4、ARM核的系列微控制器的嵌入 式应用程序。它适合不同层次的开发者使用,包括专业 的应用程序开发工程师和嵌入式软件开发的入门者。 MDK包含了工业标准的Keil C编译器、宏汇编器、调试 器、实时内核等组件,支持所有基于ARM的设备,易于 学习和使用,同时具有强大的功能,适用于多数要求严 苛的嵌入式应用程序开发。
4.2新建MDK工程
至于有些文件有个锁的图标,是因为这些都是库文件, 不需要我们修改,属性为只读。至此,工程基本建好。 接下来配置一下MDK的配置选项,单击 按钮,在弹 出来的窗口中选中“Output”选项。 点击Select Folder for Objects... 设置编译,输出文件保存 的位置。同时选上 Create HEX File 和 Browse information这两个选项框。最终效果如下图所示。
3.5.0\3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\ DeviceSupport\ST\STM32F10x\startup\arm的全部文件拷贝到STM32Template\CMSIS\startup(需先在CMSIS新建好startup文件夹)文件 夹下。我们把startup_stm32f10x_hd.s添加到我们的工程中。
4.3RVMDKS使用技巧
文本美化
文本美化,主要是设置一些关键字、注释、数字等的颜色 和字体。前面我们在介绍 RVMDK新建工程的时候看到 界面如下图所示。
4.3RVMDKS使用技巧
4.3RVMDKS使用技巧
这是 MDK默认的设置,可以看到其中的关键字和注释等 字体的颜色不是很漂亮,而 MDK提供了我们自定义字体 颜色的功能。我们可以在工具条上点击 (编辑配置对话 框)弹出如下图所示界面。
图1 MDK开发工具的组件
4.1MDK-ARM 4.70简介
MDK的特点 MDK-ARM软件主要特点如下: ■完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件 ■ULINKpro可实时分析运行中的应用程序,且能记录 Cortex-M指令的每一次执行。 ■为带图形用户接口的嵌入式系统提供了完善的GUI库支 持。
4.3RVMDKS使用技巧
4.3RVMDKS使用技巧
快速注释与快速消注释
在调试代码的时候,你可能会想注释某一片的代码,来看 看执行的情况,MDK提供了这样的快速注释/消注释块代 码的功能。也是通过右键实现的。这个操作比较简单,就 是先选中你要注释的代码区,然后右键,选择Advanced>Comment Selection就可以了。以 Stm32_Clock_Init函数 为例,比如我要注释掉下图中所选中区域的代码,如下图 所示。
4.3RVMDKS使用技巧
4.3RVMDKS使用技巧
接下来我们就是要多选几次,然后多按几次 TAB键就可以 达到迅速使代码规范化的目的,最终效果如下图所示。
4.3RVMDKS使用技巧
快速定位函数/变量被定义的地方
大家在调试代码或编写代码的时候,一定有想看看某个函 数是在那个地方定义的,具体里面的内容是怎么样的,也 可能想看看某个变量或数组是在哪个地方定义的等。只要 你把光标放到这个函数/变量(xxx)的上面(xxx为你想要 查看的函数或变量的名字),然后右键,弹出如下图所示 的菜单栏。
4.3RVMDKS使用技巧
4.3RVMDKS使用技巧
在上图中,我们找到 Go to Definition Of ‘STM32_Clock_Init ’这个地方,然后单击左键就可以快 速跳到 STM32_Clock_Init函数的定义处(注意要先在 Options for Target的 Output选项卡里面勾选 Browse Information选项,再编译,再定位,否则无法定位!)。 如下图所示。
4.2新建MDK工程
4.2新建MDK工程
选择芯片型号,我们使用ST公司的STM32F103VET6,则 选择对应型号,单击“ok”键。弹出窗口问我们是否需要 拷贝STM32的启动代码到工程文件中,这份启动代码在 M3系列中都是适用的,一般情况下我们都点击是,但我们 这里用的是ST的库,库文件里面也自带了这一份启动代码, 所以为了保持库的完整性,我们就不需要开发环境为我们 自带的启动代码了,稍后我们自己手动添加,这里我们点 击“否”。最终效果如下图所示。
4.2新建MDK工程
4.2新建MDK工程
3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F1 0x_StdPeriph_Driver的inc跟src这两个文件夹拷贝到STM32Template\FWlib文件夹中。最终效果如下图所示。
4.2新建MDK工程
4.4RVMDKS调试技巧
4.4RVMDKS调试技巧
上图中提供的例程IO口翻转的例子在 GPIO目录下的 IOToggle下,我们将这个目录下面的所有文件拷贝到 D: \KEIL3.80A\ARM\Examples\ST\STM32F10xFWLib\Project 里面,这里会提示下图所示的信息:
创建一个工程并配置工程
选择工具栏Project->New μVision Project…新建我们的工 程文件,我们将新建的工程文件保存在桌面的STM32Template\USER文件夹下(先在电脑桌面上新建一 STM32-Template文件夹,在STM32-Template里面新建一 个USER文件夹),文件名取为STM32-DEMO,名字可 以随便取,点击保存。最终效果如下图所示。
4.2新建MDK工程
4.2新建MDK工程
同样在Listing这个选项卡中,我们也点击 Select Folder listings…定位到模板中的Listing文件夹。选中C/C++选项 卡,在Define 里面输入添加USE_STDPERIPH_DRIVER, STM32F10X_HD。最终效果如下图所示。
4.4RVMDKS调试技巧
我们选择全部就可以了。然后单击 Project.Uv2,打开工 程,如下图所示:
4.4RVMDKS调试技巧 然后点击 ,编译一遍。可以看到如下图所示的编译结果:
4.4RVMDKS调试技巧
提示没有错误,没有警告。说明这个工程是可以用的。关 于这个工程是如何使用的,在readme.txt里面是有详细说 明的,在使用之前最好先看看这个说明。重点看看硬件环 境的说明,如下所示:
4.2新建MDK工程
4.2新建MDK工程
3.5.0\3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM 32F10x_StdPeriph_Template下的 main.c、stm32f10x_conf.h、 stm32f10x_it.h、 stm32f10x_it.c 、system_stm32f10x.c 拷 贝到STM32-Template\USER目录下。 最终效果如下图所 示。
4.3RVMDKS使用技巧
4.3RVMDKS使用技巧
我们只要在选中了之后,选择右键,再选择 Advanced>Comment Selection就可以把这段代码注释掉了。执行这 个操作以后的结果如下图所示:
4.4RVMDKS调试技巧
接下来我们用一个实例,来说明如何参考 MDK的例子为 自己所用。这里以一个 IO口翻转为例,其实就是 LED的 闪烁,看看如何借用 MDK的代码。首先打开 D\KEIL3.80A\ARM\Examples\ST\STM32F10xFWLib\Exam ples目录,可以看到很多例子,如下图所示。
相关文档
最新文档