




已阅读5页,还剩99页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EmbeddedSystemDevelopment,嵌入式系统与应用,1,第4章KeilMDK-ARM集成开发环境,3.1KeilMDK-ARM简介3.2KeilMDK-ARM安装3.3KeilMDK-ARM集成开发环境3.4新建Thumb汇编程序项目3.5Thumb汇编程序编译与调试,2,3.1KeilMDK-ARM简介,KeilMDK-ARM(MicrocontrollerDevelopmentKit)开发工具源自德国Keil(),被全球超过10万的嵌入式开发工程师使用。支持1200多种基于ARMCortex-M系列、ARM7、ARM9和Cortex-R4处理器的设备。它包含众多示例、项目模板和中间件库,具有广泛的TCP/IP软件堆栈、Flash文件系统、USB主机和设备堆栈、CAN访问以及舒适的图形用户界面解决方案。易于使用的IDE和带有高级分析功能的全功能调试器可帮助开发人员快速启动项目,并集中精力实现其应用程序的差异功能。MDK-ARM四种版本:MDK-Lite、基础版、标准版和专业版。都提供C/C+开发环境,专业版包括丰富的中间件库。,3,KeilMDK-ARM简介,PC、IDE开发环境、仿真器、开发板,宿主机,仿真器,开发板,IDE开发环境,逻辑分析仪,示波器,KeilMDK-ARM,4,KeilMDK-ARM简介,支持Cortex-M、Cortex-R4、ARM7和ARM9设备行业领先的ARM、C/C+编译工具链采用Vision4IDE、调试器和模拟环境KeilRTX占用空间小的实时操作系统(具有源代码)TCP/IP网络套件提供多个协议和各种应用程序USB设备和USB主机堆栈配备标准驱动程序类ULINKpro支持对正在运行的应用程序进行即时分析并记录执行的每条Cortex-M指令,5,KeilMDK-ARM简介,有关程序执行的完整代码覆盖率信息执行性能分析器和性能分析器支持程序优化大量示例项目可帮您快速熟悉MDK-ARM强大的内置功能符合CMSIS,Cortex微控制器软件接口标准在ARM公司的网站()注册、下载最新的KeilMDK-ARM开发工具软件,MDK-Lite版:受限制的32K编译、链接、部分模块功能。,6,KeilMDK-ARM简介,MDK-Lite版:mdk_514.exe,约280M,下载后直接安装。,7,第三章KeilMDK-ARM集成开发环境,3.1KeilMDK-ARM简介3.2KeilMDK-ARM安装3.3KeilMDK-ARM集成开发环境3.4新建Thumb汇编程序项目3.5Thumb汇编程序编译与调试,8,3.2KeilMDK-ARM安装,9,KeilMDK-ARM安装,软件安装后,会自动打开PackInstaller包安装向导,选择相应芯片的驱动包进行在线安装、或下载包离线安装。包含了软件包、例子、接口驱动、板子驱动等。,10,KeilMDK-ARM安装,在线安装pack或example:先从右侧Device栏筛选某芯片型号,左边Packs(或Example)栏就会出现相应的pack(或example),再点击install等待即可。,离线安装包:在Summary栏可跳转到对应页面下载安装包DFP文件。下载后的DFP文件,可直接安装到开发环境内。,11,KeilMDK-ARM安装,下载后的DFP文件,可直接安装到开发环境内。,12,KeilMDK-ARM安装,本课程后续学习,根据你的开发板选择下载安装包:CMSIS(CortexMicrocontrollerSoftwareInterfaceStandard):ARM.CMSIS.4.2.0.pack芯片型号选择包如:STMicroelectronicsSTM32F1SeriesDeviceSupport,DriversandExamples:Keil.STM32F1xx_DFP.1.1.0.pack在安装后目录下可找到帮助文件:uv4.chm,13,第3章KeilMDK-ARM集成开发环境,3.1KeilMDK-ARM简介3.2KeilMDK-ARM安装3.3KeilMDK-ARM集成开发环境3.4新建Thumb汇编程序项目3.5Thumb汇编程序编译与调试,14,3.3KeilMDK-ARM集成开发环境,安装后在桌面快捷图标,或开始菜单启动即可。,Toolbars,WatchWindow,MemoryWindow,LogicAnalyzer,EditorWorkspace,MenuBar,ProjectWorkspace,OutputWindow,Toolbox,PageTabs,PeripheralDialog,15,1、File菜单,芯片数据库,Licenses注册管理,新建、保存源程序文件,16,2、Edit菜单,17,Edit菜单-Configuration,编辑器设置菜单:,代码编辑器设置,颜色与字体设置,用户关键字,快捷键,代码模板,18,3、View菜单,显示或隐藏状态栏,显示或隐藏文件工具条,显示或隐藏编译工具条,显示或隐藏调试工具条,显示或隐藏工程空间,显示或隐藏输出窗口,显示或隐藏浏览窗口,显示或隐藏反汇编窗口,显示或隐藏Watch文件名:TEST1.SAREA|test1.s|,CODE,READONLY;声明只读代码段DCD_VectorsDCDReset_HandlerEXPORT_VectorsEXPORTReset_Handler_VectorsReset_HandlerPROC;PROC/ENDP函数起始STARTMOVR0,#15;R0=15MOVR1,#8;R1=8ADDSR0,R0,R1;R0=R0+R1BSTARTENDP;此处函数起始标记可省END,使用“;”进行注释,标号顶格写,实际代码段,声明文件结束,30,31,第六步汇编程序源文件添加到项目中,第六步汇编程序源文件添加到项目中,32,新建Thumb汇编程序项目,经过上述六步,即可进行程序的编译、调试、模拟运行等。,项目文件窗口,33,第四章KeilMDK-ARM集成开发环境,4.1KeilMDK-ARM简介4.2KeilMDK-ARM安装4.3KeilMDK-ARM集成开发环境4.4新建Thumb汇编程序项目4.5Thumb汇编程序编译与调试,34,4.5Thumb汇编程序编译与调试,常用工具栏3个编译按钮第一个按钮:Translate翻译当前源文件,检查语法错误,并不去链接库文件,也不生成可执行文件。第二个按钮:Build编译文件,它包含语法检查,链接动态库文件,生成可执行文件。第三个按钮:Rebuild重新编译整个工程,跟Build这个按钮实现的功能是一样的,耗时大。,35,Thumb汇编程序编译与调试,启动调试,进入调试状态,反汇编窗口,汇编程序窗口,寄存器窗口,36,调试状态下工具栏:,37,38,工程管理窗口,工程文件窗口,寄存器窗口,电子文档窗口,函数窗口,函数模板,39,源代码窗口,源代码彩色显示,文本的选择,源代码和汇编混合显示,40,调试窗口及对话框,Breakpoint对话框,可在此对话框中定义程序执行停止的条件;CodeCoverage窗口统计了程序中被执行部分及未被执行部分的执行信息;DisassemblyWindow可以反汇编方式来查看及测试程序;LogicAnalyzer窗口可以以图形的方式来显示变量及外设寄存器值的变化;MemoryWindow对话框可查看及修改内存内容;MemoryMap指定程序代码及数据变量所用的内存空间;OutputWindow-Command窗口可进行命令输入和信息输出;ExecutionProfiler窗口被集成在编辑和反汇编窗口中,用于时间及调用信息统计;PerformanceAnalyzer窗口可以显示执行时间的统计信息;SerialWindow用串口通信,显示串口通信内容;SymbolWindow用于显示应用程序中的调试符号信息;Toolbox提供一个可配置的按钮,此按钮可用于调试命令及调试函数的执行;WatchWindow可以查看及修改程序变量,并列出当前的函数调用关系。,41,Breakpoint对话框,Debug-Breakpoint,ExecutionBreak(E):当表达式是代码地址时,断点被定义。AccessBreak(A):当所指定的内存访问发生时,此断点有效。ConditionalBreak(C):当表达式不能转化为内存地址时,一个类型的断点被定义。,42,代码统计对话框,View-CodeCoverageWindows,代码统计对话框提供了程序中各个模块及函数的执行情况。在CurrentModule(当前模块)下拉列表框中列出了程序所有要模块,每个模块或函数的指令执行百分比,43,反汇编窗口,View-DisassemblyWindow,反汇编窗口可以将源程序和汇编程序一起显示,也可以只显示汇编程序。通过Debug-ViewTraceRecords可以查看前面指令的执行记录。,44,逻辑分析仪,Debug-LogicAnalyzerWindow,Vision3逻辑分析仪可以将指定的变量或VTREGs值的变化以图形方式表示出来。,逻辑分析仪,信号配置,详细设置,使用限制,45,内存窗口,View-MemoryWindow,通过内存窗口可以查看存储器内容。内存窗口最多可将四个不同的存储域显示在不同的页中。窗口中的右键菜单可以选择输出格式。在Address域内,可以输入一个表达式,此表达式的值为所显示内容的地址。在某个单元的值上双击可打开一个编辑框,它允许键入一个新的存储值改变存储内容。使能ViewPeriodicWindowUpdate,可以在运行目标程序时更新此窗口中的值。,46,内存映射窗口,Debug-MemoryMap,内存映射对话框可以用来设定那些地址空间用于存储数据、那些地址空间用于存储程序。被访问的地址空间没有被明确声明时就必须进行地址映射,如存储映射I/O空间。在目标程序运行期间,保证让程序不进行非法的存储区访问。,47,输出窗口,View-OutputWindow,输出窗口:编译信息输出、命令输出、文件查找结果输出。命令输出可以是“调试命令”、“变量及寄存器”、“调试函数”。,48,执行剖析器,Debug-ExecutionProfiling-Time/Calls,执行剖析器,它可以记录执行全部程序代码所需的时间。它具有两种显示方式:Call(显示执行次数)和Time(显示执行时间)。将鼠标放在指定的入口处即可显示有关执行时间及次数的详细信息。,49,性能分析仪,Debug-PerformanceAnalyzer,性能分析仪用于记录和显示程序的执行时间。VisionARM仿真器记录整个程序代码的时间统计信息。,50,串行窗口,View-SerialWindow,printf-intfputc(intch,FILE*f);getchar-intfgetc(FILE*stream);,51,符号窗口,View-SymbolWindow,显示定义在当前被载入的应用程序中的公有符号、局部符号及行号信息。CPU特殊功能寄存器SFR符号也显示在此窗口中。,52,工具箱,View-Toolbox,Toolbox中包含用户可配置的按钮。点击工具箱上的按钮可以执行相关的调试命令(debugcommand)或调试函数(debugfunction)。工具箱按钮可以在任何时间执行,甚至是运行测试程序时。,参考,实例:,53,Watch窗口,View-Watch,RealView微控制器开发工具集带有一个预定义的retarget库文件,它是许多例程的一部分。retarget文件修改了底层的I/O程序,并禁止了semi-hostingSWI中断的使用。,68,查看程序代码,代码块彩色显示显示混合的源代码与反汇编代码改变显示模式并且使用contextmenu中的其他命令(在Disassembly窗口中点击右键),69,调用栈,View-Watchprintf(Analog-Input-0:%fn,ain0);printf(Analog-Input-1:%fn,ain1);printf(Analog-Input-2:%fn,ain2);printf(Analog-Input-3:%fn,ain3);printf(Port0:%08Xn,port0);printf(=n);,/*MEASURE.INI:MeasureDebugInitFile*/Signalvoidanalog0(floatlimit)floatvolts;printf(Analog0(%f)entered.n,limit);while(1)/*forever*/volts=0;while(volts=0.0)ain0=volts;swatch(0.01);/*wait0.01seconds*/volts-=0.1;/*decreasevoltage*/,初始化文件,信号函数,76,Toolbox,View-Toolbox;,DEFINEBUTTONMyStatusInfo,MyStatus()DEFINEBUTTONAnalog00.3V,analog0(3)DEFINEBUTTONStopAnalog0,signalkillanalog0,Toolbox中包含用户可配置的按钮。点击工具箱上的按钮可以执行相关的调试命令或调试函数。工具箱按钮可以在任何时间执行,甚至是运行测试程序时。,添加按钮语法:,删除按钮语法:,DEFINEBUTTONbutton_label,command“,KillButtonnum,77,逻辑分析仪,Debug-LogicAnalyzerWindow,可以是变量或VTREGs值,78,综合,全速运行程序,串口输入“d”,在终端显示ADC采样值;点击Toolbox的“Analog00.3”按钮,输出外部信号;查看各个调试窗口状态。,79,调试命令/函数、分散加载文件,内容六,80,调试命令,Vision3支持大量命令,可以通过OutputWindowCommandLine键入命令在命令入口处,语法生成器会显示命令,选项和参数。仅需键入命令名单词的首字符。,81,调试命令-断点命令,82,调试命令-普通命令,83,调试命令-存储器命令,84,调试命令-程序命令,85,调试函数,Vision3中有一个内建的函数编辑器,通过Debug-FunctionEditor来打开。打开函数编辑器时需要输入一个文件名或者打开一个由OptionsforTargetDebugInitializationFile指定的文件。该编辑器的用法与Vision3编辑器相同,允许用户输入和编译调试函数。,86,调试函数,Vision3提高了一些可被调用的预定义调试函数,它们不能被重定义或者被删除。预定义函数用来帮助开发者定义用户和信号函数。,更多函数,87,文件映像域,装载域描述运行前输出段和域在ROM/RAM里的分布状态;运行域描述了运行时输出段和域在ROM/RAM里的分布状态。,CODE,DATA,ZIsection,STACK,Image
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育行业项目方案解读
- 安徽省合肥市庐江县柯坦中学2024-2025学年七年级下学期期末考试英语试题
- 国际教育交流项目2025年学生跨文化适应与教育国际化改革实践报告
- 新能源广告合规性2025年研究报告:技术创新与风险预警措施
- 2025年招标师职业资格考试招标采购管理与实务试卷及答案
- 采购申请与审批流程标准化作业表
- 2025版全新供用电合同发布
- 2025年企业车辆挂靠合同
- 2025年河南省三门峡市辅警考试题库(附答案)
- 2025年河南省公职人员时事政治考试试题(附含答案)
- 义务教育语文课程标准(2022)测试题带答案(20套)
- GB/T 27818-2011化学品皮肤吸收体外试验方法
- GB/T 22512.2-2008石油天然气工业旋转钻井设备第2部分:旋转台肩式螺纹连接的加工与测量
- GB/T 19137-2003农药低温稳定性测定方法
- 水利施工组织设计范文(完整常用版)
- DBJ53-T-40-2011 云南省城镇园林工程施工质量验收规程
- 《正确认识广告》课件3
- DB15T 2412-2021 蒙餐 蒙式牛肉丁
- 大学物理高斯定理课件-英文版
- GB∕T 15089-2001 机动车辆及挂车分类
- 班级自主化管理工作总结
评论
0/150
提交评论