4、MDK的介绍与使用.pdf

上传人:紫竹语嫣 文档编号:5514417 上传时间:2020-05-27 格式:PDF 页数:22 大小:1.01MB
返回 下载 相关 举报
4、MDK的介绍与使用.pdf_第1页
第1页 / 共22页
4、MDK的介绍与使用.pdf_第2页
第2页 / 共22页
4、MDK的介绍与使用.pdf_第3页
第3页 / 共22页
4、MDK的介绍与使用.pdf_第4页
第4页 / 共22页
4、MDK的介绍与使用.pdf_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《4、MDK的介绍与使用.pdf》由会员分享,可在线阅读,更多相关《4、MDK的介绍与使用.pdf(22页珍藏版)》请在三一文库上搜索。

1、 1.1. RVMDK简介简介 RVMDK源自德国的KEIL公司,是RealView MDK的简称,RealView MDK集成了业内 最领先的技术,包括Vision4集成开发环境与 RealView编译器。支持ARM7、ARM9和最 新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模 拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将 性能改善超过20。 1.2. MDK 4.12集成开发环境的组成集成开发环境的组成 MDK又称叫RVMDK, 源自德国的KEIL公司, 是RealView MDK的

2、简称, RealView MDK 集成了业内最领先的技术,包括Vision4集成开发环境与 RealView编译器。支持ARM7、 ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的 Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器 的最新版本可将性能改善超过20。 1.3. MDK工程的编辑工程的编辑 1.3.1. 新建新建RVMDK工程工程 1)点击 WINDOWS 操作系统的【开始】?【程序】?【Keil uVision4】启动 Keil uVision 或在桌面双击【Keil uVision

3、4】快捷方式启动。启动 MDK4.12 如图所示: 2)点击之后,出现启动画面: 1) 点击“project-New uVision Project”新建一个工程 2) 在对话框,选择放在刚才建立的“新建文件夹”下,给这个工程取个名后保存,不需要 填后缀: 3) 弹出一个框, 在 CPU 类型下我们找到并选中 “STMicroelectronics” 下的 STM32F103RB: 4) 出现一个提示框,是否复制 STM32 启动代码到工程文件夹,我们选择【是】 ,就可以看 到 STM32 的启动代码自动添加进来了: 5) 到这里工程全部建立完毕 1.3.2. 建立文件建立文件 建立一个文本文

4、件,以便输入用户程序。点击【File】?【New】图标按钮, 然后在新建的文件中编写程序,点击“Save”图标按钮将文件存盘,输入文件全名,如 demo.c。注意,请将文件保存到相应工程的目录下,以便于管理和查找。 当然,您也可以使用其他文本编辑器建立或编辑源文件。 1.3.3. 添加文件到工程添加文件到工程 选择 Target1 下面的组, 这里是 “Source Group1” , 单击右键, 选择 【Add File to Group.】 , 选定想要添加到文件,确认即可。 1.3.4. 管理工程目录以及源文件管理工程目录以及源文件 当我们的项目比较庞大时,我们就需要一个管理平台来管理我

5、们的工程文件,以及将一 些同类型的工程文件分好类, 放入相对应的文件夹中, 而这个管理工程文件以及目录的平台 就是下面介绍到的: 1. 右击工程窗口中的 Target1 选择“Manage Components” 2. 在 Project Target 中把 Target1 改成你想要的名字,可以不改,这里改为 project,然后在 groups 单击新建按钮,这些组对应我们实实在在的文件夹,方便源文件的分类和管理, 例如我们这里新建 User Source,Library,CMSIS,和 readme 四个组: 3. 先选中一个组之后,在 Files 点击 Add Files,例如在 Us

6、er Source 组添加 User 文件夹中 的源文件,添加完成该文件就成功添加到工程中了: 1.3.5. 编译和连接工程编译和连接工程 1.编译的几个选项介绍: 下面是编译程序的三种情况,具体请看上图: ? 编译当前文件:如果只是确认当前文件是否存在问题,可以选择这个按键 ? 编译修改过的文件并链接: 如果只是确认最近的修改是否存在问题, 可以选择这个 按键 ? 编译所有文件:选择这个按键将将重新编译链接整个工程文件。 1、关于工程设置框: 上面还有个红框是工程设置相关的,例如工程设置,如地址设置,输出文件设置,编译 选项等;如果我们点击它,就会出现下面的图框,我们可以在这里面根据需要进行

7、一系列详 细的设置。 2、 调试时输出的错误: 对于简单的软件调试,可以不进行连接地址的设置,直接点击工程窗口的“build”图 标按钮,即可完成编译连接。若编译出错,会有相应的出错提示,双击出错提示行信息,编 辑窗即会使用光标指出当前出错的源代码行。 4.清除编译之后的垃圾: 重新编译之前,建议将原来生成的目标文件都删除,方法如下,点选“project”下拉选 择“Clean Target” ,删除所有旧目标文件后再进行编译: 5.按键,编译工程,得到结果如下图所示(不同工程显示内容大同小异) : 可以看到没有错误,也没有警告。从编译信息可以看出,我们的代码占用 FLASH 大小 为:580

8、 字节(328+252) 这里我们解释一下,编译结果里面的几个数据的意义: Code:表示程序所占用 FLASH 的大小(FLASH) RO-data:即 Read Only-data,表示程序定义的常量(FLASH) RW-data:即 Read Write-data,表示已可以读写的变量(SRAM) ZI-data:即 Zero Init-data,表示已被初始化为 0 的变量(SRAM) 有了这个就可以知道当前使用的 flash 和 sram 大小了,所以,大家不要误解程序的大小 就是.hex 文件的大小,这是不对的,程序的大小是编译后的 Code 和 RO-data 之和。 1.3.6

9、. 打开旧工程打开旧工程 点击【File】菜单,选择【Open】即弹出”打开”对话框,找到相应的工程文件(*.uvproj) , 单击【打开】即可: 在工程窗口中,双击源程序的文件名即可打开该文件进行编辑: 1.4. RVMDK使用技巧使用技巧 前面介绍了 RVMDK 的基本使用,接下来简单的介绍一下 RVMDK 的几个使用技巧。 1.4.1. 快速定位函数快速定位函数/变量被定义的地方变量被定义的地方 你在调试代码或编写代码的时候, 一定有想看看某个函数是在那个地方定义的, 具体里 面的内容是怎么样的, 也可能想看看某个变量或数组是在哪个地方定义的等。 尤其在调试代 码或者看别人代码的时候,

10、如果编译器没有快速定位的功能的时候,你只能慢慢的自己找, 代码量比较少还好,如果代码量一大,那就郁闷了,有时候要花很久的时间来找这个函数到 底在哪里。幸好 MDK 提供了这样的快速定位的功能。只要你把光标放到这个函数/变量的 上面,然后右键,如下图所示 : 图 2.8.2.3 快速定位 在上图,我们点击 Go To Definition of GPIO_Pin_2,跳转查看 GPIO_Pin_2 是在何处, 如何被定义的。如下图所示 上面是演示的是一个变量的定义的查找, 对于函数, 我们也可以按这样的操作快速来定 位函数被定义的地方,大大缩短了你查找代码的时间。 1.4.2. 快速注释与快速消

11、注释快速注释与快速消注释 接下来,我们介绍一下快速注释与快速消注释的方法。在调试代码的时候,你可能会想注释 某一片的代码,来看看执行的情况,MDK 提供了这样的快速注释/消注释块代码的功能。也 是通过右键实现的。这个操作比较简单,首先选中你要注释的代码区,然后右键,选择 Advanced-Comment Selection 就可以了。 以 Turn_On_LED 函数为例,比如我要注释掉下图中所选中区域的代码,如下图所示: 我们只要在选中了之后,选择右键,再选择 Advanced-Comment Selection 就可以把这段代 码注释掉了。执行这个操作以后的结果如下图所示: 这样就快速的注

12、释掉了一片代码, 而在某些时候, 我们又希望这段注释的代码能快速的取消 注释,MDK 也提供了这个功能。与注释类似,先选中被注释掉的地方,然后通过右键 -Advanced,不过这里选择的是 Uncomment Selection。 1.4.3. 快速打开头文件快速打开头文件 将光标放到要打开的引用头文件上,然后右键选择 Open Document“XXX”,就可以快速打开 这个文件了(XXX 是你要打开的头文件名字) 。如下图所示: 图 2.8.2.7 快速打开头文件 关于 MDK 软件的使用就介绍到此,如需更深入和全面的了解请用户查看 KEIL 软件用户使 用手册。 1.5. 在在MDK开发

13、环境中开发环境中JLINK V8的调试技巧的调试技巧 接下来,点击启动在线仿真。软件窗口如下图所示。 可以发现,多出了一个工具条,这个工具条对于我们仿真是非常有用的,下面简单介绍 一下工具条相关按钮的功能,工具条部分按钮的功能如下图所示: ? 复位:复位:其功能等同于硬件上按复位按钮。相当于实现了一次硬复位。代码重新执行。 ? 执行到断点处:执行到断点处: 该按钮用来快速执行到断点处, 有时候你并不需要观看每步是怎么执行 的,而是 想快速的执行到程序的某个地方看结果,这个按钮就可以实现这样的功 能。 ? 挂起:挂起:此按钮在程序一直执行的时候会变为有效,通过按该按钮,就可以使程序停止下 来,进

14、入到单步调试状态。 ? 执行一条指令:执行一条指令:该按钮用来实现执行到某个函数里面去的功能,在没有函数的情况下, 是等同于执行当前行执行过去按钮的。 ? 执行当前行:执行当前行:在碰到有函数的地方,通过该按钮就可以单步执行过这个函数,而不进入 这个函数单步执行。 ? 跳出当前函数:跳出当前函数: 该按钮是在进入了函数单步调试的时候, 有时候你可能不必再执行该函 数的剩余部分了,通过该按钮就直接一步执行完函数余下的部分,并跳出函数,回到函 数被调用的位置。 ? 执行到光标处:执行到光标处: 该按钮可以迅速的使程序运行到光标处, 其实是挺像执行到断点处按钮 功能,但是两者是有区别的,断点可以有多个,但是光标所在处只有一个。 ? 汇编窗口:汇编窗口:通过该按钮,就可以查看汇编代码,这对分析程序很有用。 ? 观看变量窗口:观看变量窗口:该按钮按下,会弹出一个显示变量的窗口,在里面可以查看各种你想要 看的变量值,也是很常用的一个调试窗口。 ? 串口打印窗口:串口打印窗口:该按钮按下,会弹出一个串口调试助手界面的窗口,用来显示从串口打 印出来的内容。 其他几个按钮用的比较少,以上是比较常用的,当然也不是每次都用得着这么多,具体 看你程序调试的时候有没有必要观看这些东西,来决定要不要看。 关于如何一步一步进行仿真调试,请查看 MDK 相关资料。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料


经营许可证编号:宁ICP备18001539号-1