第4章-Keil-MDK-ARM集成开发环境课件

上传人:文**** 文档编号:242022346 上传时间:2024-08-10 格式:PPT 页数:104 大小:7.29MB
返回 下载 相关 举报
第4章-Keil-MDK-ARM集成开发环境课件_第1页
第1页 / 共104页
第4章-Keil-MDK-ARM集成开发环境课件_第2页
第2页 / 共104页
第4章-Keil-MDK-ARM集成开发环境课件_第3页
第3页 / 共104页
点击查看更多>>
资源描述
Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,Click to edit Master title style,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,*,ppt课件,*,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,*,ppt课件,*,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,*,ppt课件,*,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,*,ppt课件,*,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,*,ppt课件,*,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,*,ppt课件,*,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,*,ppt课件,*,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,*,ppt课件,*,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,*,ppt课件,*,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,*,ppt课件,*,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,*,ppt课件,*,Embedded System Development,嵌入式系统与应用,Embedded System Development嵌入式,第,4,章,Keil MDK-ARM,集成开发环境,3.1 Keil MDK-ARM简介,3.2 Keil MDK-ARM安装,3.3 Keil MDK-ARM集成开发环境,3.4 新建Thumb汇编程序项目,3.5 Thumb汇编程序编译与调试,第4章 Keil MDK-ARM集成开发环境3.1 Keil,3.1 Keil MDK-ARM简介,Keil MDK-ARM(Microcontroller Development Kit)开发工具源自德国Keil(),被全球超过10万的嵌入式开发工程师使用。,支持 1200 多种基于 ARM Cortex-M 系列、ARM7、ARM9 和 Cortex-R4 处理器的设备。,它包含众多示例、项目模板和中间件库,具有广泛的 TCP/IP 软件堆栈、Flash 文件系统、USB 主机和设备堆栈、CAN 访问以及舒适的图形用户界面解决方案。,易于使用的 IDE 和带有高级分析功能的全功能调试器可帮助开发人员快速启动项目,并集中精力实现其应用程序的差异功能。,MDK-ARM四种版本:MDK-Lite、基础版、标准版和专业版。都提供C/C+开发环境,专业版包括丰富的中间件库。,3.1 Keil MDK-ARM简介Keil MDK-ARM,Keil MDK-ARM简介,PC、IDE开发环境、仿真器、开发板,宿主机,仿真器,开发板,IDE,开发环境,逻辑分析仪,示波器,Keil MDK-ARM,Keil MDK-ARM简介PC、IDE开发环境、仿真器、开,Keil MDK-ARM简介,支持,Cortex-M,、,Cortex-R4,、,ARM7,和,ARM9,设备,行业领先的,ARM,、,C/C+,编译工具链,采用,Vision,4,IDE,、调试器和模拟环境,Keil RTX,占用空间小的实时操作系统(具有源代码),TCP/IP,网络套件提供多个协议和各种应用程序,USB,设备和,USB,主机堆栈配备标准驱动程序类,ULINK,pro,支持对正在运行的应用程序进行即时分析并记录执行的每条,Cortex-M,指令,Keil MDK-ARM简介支持 Cortex-M、Cort,Keil MDK-ARM简介,有关程序执行的完整代码覆盖率信息,执行性能分析器和性能分析器支持程序优化,大量示例项目可帮您快速熟悉,MDK-ARM,强大的内置功能,符合,CMSIS,,,Cortex,微控制器软件接口标准,在,ARM,公司的网站,(,),注册、下载最新的,Keil MDK-ARM,开发工具软件,,MDK-Lite,版:受限制的,32K,编译、链接、部分模块功能。,Keil MDK-ARM简介有关程序执行的完整代码覆盖率信息,Keil MDK-ARM简介,MDK-Lite版:mdk_514.exe,约280M,下载后直接安装。,Keil MDK-ARM简介MDK-Lite版:mdk_5,第三章,Keil MDK-ARM,集成开发环境,3.1 Keil MDK-ARM简介,3.2 Keil MDK-ARM安装,3.3 Keil MDK-ARM集成开发环境,3.4 新建Thumb汇编程序项目,3.5 Thumb汇编程序编译与调试,第三章 Keil MDK-ARM集成开发环境3.1 Keil,3.2 Keil MDK-ARM安装,3.2 Keil MDK-ARM安装,Keil MDK-ARM安装,软件安装后,会自动打开Pack Installer包安装向导,选择相应芯片的驱动包进行在线安装、或下载包离线安装。,包含了软件包、例子、接口驱动、板子驱动等。,Keil MDK-ARM安装软件安装后,会自动打开Pack,Keil MDK-ARM安装,在线安装pack或example:先从右侧Device栏筛选某芯片型号,左边Packs(或Example)栏就会出现相应的pack(或example),再点击install等待即可。,离线安装包:在,Summary,栏可跳转到对应页面下载安装包,DFP,文件。下载后的,DFP,文件,可直接安装到开发环境内。,Keil MDK-ARM安装在线安装pack或example,Keil MDK-ARM安装,下载后的,DFP,文件,可直接安装到开发环境内。,Keil MDK-ARM安装下载后的DFP文件,可直接安装到,Keil MDK-ARM安装,本课程后续学习,根据你的开发板选择下载安装包:,CMSIS(Cortex Microcontroller Software Interface Standard),:,ARM.CMSIS.4.2.0.pack,芯片型号选择包如:,STMicroelectronics STM32F1 Series Device Support,Drivers and Examples,:,Keil.STM32F1xx_DFP.1.1.0.pack,在安装后目录下可找到帮助文件:,uv4.chm,Keil MDK-ARM安装本课程后续学习,根据你的开发板选,第,3,章,Keil MDK-ARM,集成开发环境,3.1 Keil MDK-ARM简介,3.2 Keil MDK-ARM安装,3.3 Keil MDK-ARM集成开发环境,3.4 新建Thumb汇编程序项目,3.5 Thumb汇编程序编译与调试,第3章 Keil MDK-ARM集成开发环境3.1 Keil,3.3 Keil MDK-ARM集成开发环境,安装后在桌面快捷图标,或开始菜单启动即可。,Toolbars,WatchWindow,MemoryWindow,Logic Analyzer,EditorWorkspace,Menu Bar,ProjectWorkspace,OutputWindow,Toolbox,Page Tabs,PeripheralDialog,3.3 Keil MDK-ARM集成开发环境安装后在桌面快捷,1、File 菜单,芯片数据库,Licenses,注册管理,新建、保存源程序文件,1、File 菜单芯片数据库Licenses注册管理新建、,2、Edit 菜单,2、Edit 菜单,Edit菜单-Configuration,编辑器设置菜单:,代码编辑器设置,颜色与字体设置,用户关键字,快捷键,代码模板,Edit菜单-Configuration编辑器设置菜单:代,3、View 菜单,显示或隐藏状态栏,显示或隐藏文件工具条,显示或隐藏编译工具条,显示或隐藏调试工具条,显示或隐藏工程空间,显示或隐藏输出窗口,显示或隐藏浏览窗口,显示或隐藏反汇编窗口,显示或隐藏,Watch&Call Stack,窗口,显示或隐藏存储器窗口,显示或隐藏代码覆盖窗口,显示或隐藏性能分析窗口,显示或隐藏逻辑分析仪窗口,显示或隐藏符号窗口,显示或隐藏,Call Stack,显示或隐藏,Trace,显示窗口,显示或隐藏串行窗口,显示或隐藏,SFR,寄存器,显示或隐藏工具箱,运行时更新调试窗口,显示或隐藏源文件中的头文件,3、View 菜单显示或隐藏状态栏显示或隐藏文件工具条显示,4、Project菜单,创建一个新项目,创建一个新工作区,导入一个项目,打开一个项目,关闭当前项目,维护工程组件、配置环境及管理书,从设备库中选择,CPU,改变目标、组、文件的工具选项,清除编译生成的文件,编译已修改的文件,批处理编译,编译当前文件,停止编译,重新编译所有的源文件,打开最近使用的项目文件,4、Project菜单创建一个新项目创建一个新工作区导入一个,5、Flash 菜单,擦除,Flash,配置,Flash,工具,下载程序映象到,Flash,中,5、Flash 菜单擦除Flash配置Flash工具下载程序,6、Debug 菜单,运行到下一个活动断点,单步运行进入一个函数,单步运行跳过一个函数,从当前函数跳出,运行到当前行光标处,启动或停止,Vision3,调试模式,停止运行,打开断点对话框,在当前行设置断点,Enable/disable,当前行的断点,使程序中的所有断点无效,去除程序中的所有断点,显示下一条要执行的指令,DEBUG,设置,使能,Trace,跟踪,查看,Trace,结果,记录代码执行次数或时间,打开逻辑分析仪对话框,打开存储器映射对话框,打开性能分析仪对话框,打开在线汇编对话框,编辑调试函数及调试初始化文件,6、Debug 菜单运行到下一个活动断点单步运行进入一个函数,其他菜单,7、Peripherals 外设菜单,8、Tools 菜单,9、SVCS 菜单,10、Windows菜单,11、Help 菜单,其他菜单7、Peripherals 外设菜单,第,3,章,Keil MDK-ARM,集成开发环境,3.1 Keil MDK-ARM简介,3.2 Keil MDK-ARM安装,3.3 Keil MDK-ARM集成开发环境,3.4 新建Thumb汇编程序项目,3.5 Thumb汇编程序编译与调试,第3章 Keil MDK-ARM集成开发环境3.1 Keil,3.4 新建Thumb汇编程序项目,第一步:打开Vision5集成开发环境,在Project菜单中新建项目,在弹出框中选择项目存放路径、填写项目名称,3.4 新建Thumb汇编程序项目第一步:打开Vision,新建Thumb汇编程序项目,第二步:进入Select Device for Target 选项卡,选择CPU芯片型号,如ARMCM4:,新建Thumb汇编程序项目第二步:进入Select Devi,新建Thumb汇编程序项目,第三步:弹出Manage Run-Time Environment选项卡,管理运行时环境,选择已安装的软件包(软件组件)。,设置汇编程序时直接点击OK跳过即可完成项目设置。,新建Thumb汇编程序项目第三步:弹出Manage Run-,第四步:Options for Target-1,第四步:Options for Target,目标板硬件和开发环境配置。,Debug 设置调试器,选择Use Simulator使用模拟器。,第四步:Options for Target-1第四步:O,Options for Target-2,其余选项卡默认即可,Device,选择芯片型号,Target,配置硬件,Output,设置输出文件,Listing,设置表单文件,User,设置用户自定义程序,C/C+,设置,C/C+,编译器,Asm,设置汇编器,LInker,设置链接器,Utilites,设置,Flash,下载工具,设置,RTX,库,设置,ROM,设置,RAM,设置使用微库,创建,HEX,文件,设置目标文件路径,设置头文件路径,设置分散加载,Options for Target-2其余选项卡默认即可,第五步:编写简单的,Thumb,汇编程序,File,文件菜单,新建源程序文件,然后另存为,TEST1.S,;,文件名:,TEST1.S,AREA|test1.s|,CODE,READONLY;,声明只读代码段,DCD _Vectors,DCD Reset_Handler,EXPORT _Vectors,EXPORT Reset_Handler,_Vectors,Reset_Handler PROC ;PROC/ENDP,函数起始,START,MOV R0,#15 ;R0=15,MOV R1,#8 ;R1=8,ADDS R0,R0,R1;R0=R0+R1,BSTART,ENDP ;,此处函数起始标记可省,END,使用“;”进行注释,标号顶格写,实际代码段,声明文件结束,第五步:编写简单的Thumb 汇编程序File文件菜单,新,第4章-Keil-MDK-ARM集成开发环境课件,第六步 汇编程序源文件添加到项目中,第六步 汇编程序源文件添加到项目中,第六步 汇编程序源文件添加到项目中第六步 汇编程序源文件添加,新建Thumb汇编程序项目,经过上述六步,即可进行程序的编译、调试、模拟运行等。,项目文件窗口,新建Thumb汇编程序项目经过上述六步,即可进行程序的编译、,第四章,Keil MDK-ARM,集成开发环境,4.1 Keil MDK-ARM简介,4.2 Keil MDK-ARM安装,4.3 Keil MDK-ARM集成开发环境,4.4 新建Thumb汇编程序项目,4.5 Thumb汇编程序编译与调试,第四章 Keil MDK-ARM集成开发环境4.1 Keil,4.5 Thumb汇编程序编译与调试,常用工具栏3个编译按钮,第一个按钮:Translate 翻译当前源文件,检查语法错误,并不去链接库文件,也不生成可执行文件。,第二个按钮:Build 编译文件,它包含语法检查,链接动态库文件,生成可执行文件。,第三个按钮:Rebuild 重新编译整个工程,跟 Build 这个按钮实现的功能是一样的,耗时大。,4.5 Thumb汇编程序编译与调试常用工具栏3个编译按钮,Thumb汇编程序编译与调试,启动调试,进入调试状态,反汇编窗口,汇编程序窗口,寄存器窗口,Thumb汇编程序编译与调试启动调试,进入调试状态反汇编窗口,调试状态下工具栏:,调试状态下工具栏:,第4章-Keil-MDK-ARM集成开发环境课件,工程管理窗口,工程文件窗口,寄存器窗口,电子文档窗口,函数窗口,函数模板,工程管理窗口工程文件窗口寄存器窗口电子文档窗口函数窗口函数模,源代码窗口,源代码彩色显示,文本的选择,任意数量的文本,在文本上拖曳,一个单词,双击这个单词,一行文本,移动指针到这个行的左端直到它变成向右指示的箭头并单击它,多行文本,移动指针到这个行的左端直到它变成向右指示的箭头并拖拽它,垂直文本,按住,Alt,并拖拽,源代码和汇编混合显示,源代码窗口源代码彩色显示文本的选择任意数量的文本在文本上拖曳,调试窗口及对话框,Breakpoint,对话框,可在此对话框中定义程序执行停止的条件;,Code Coverage,窗口统计了程序中被执行部分及未被执行部分的执行信息;,Disassembly Window,可以反汇编方式来查看及测试程序;,Logic Analyzer,窗口可以以图形的方式来显示变量及外设寄存器值的变化;,Memory Window,对话框可查看及修改内存内容;,Memory Map,指定程序代码及数据变量所用的内存空间;,Output Window-Command,窗口可进行命令输入和信息输出;,Execution Profiler,窗口被集成在编辑和反汇编窗口中,用于时间及调用信息统计;,Performance Analyzer,窗口可以显示执行时间的统计信息;,Serial Window,用串口通信,显示串口通信内容;,Symbol Window,用于显示应用程序中的调试符号信息;,Toolbox,提供一个可配置的按钮,此按钮可用于调试命令及调试函数的执行;,Watch Window,可以查看及修改程序变量,并列出当前的函数调用关系。,调试窗口及对话框Breakpoint 对话框,可在此对话框中,Breakpoint对话框,Debug-Breakpoint,Execution Break(E),:当表达式是代码地址时,断点被定义。,Access Break(A),:当所指定的内存访问发生时,此断点有效。,Conditional Break(C),:当表达式不能转化为内存地址时,一个类型的断点被定义。,Breakpoint对话框Debug-Breakpoi,代码统计对话框,View-Code Coverage Windows,代码统计对话框提供了程序中各个模块及函数的执行情况。,在,Current Module(,当前模块,),下拉列表框中列出了程序所有要模块,每个模块或函数的指令执行百分比,代码统计对话框View-Code Coverage W,反汇编窗口,View-Disassembly Window,反汇编窗口可以将源程序和汇编程序一起显示,也可以只显示汇编程序。,通过,Debug-View Trace Records,可以查看前面指令的执行记录。,反汇编窗口View-Disassembly Windo,逻辑分析仪,Debug-Logic Analyzer Window,Vision3,逻辑分析仪可以将指定的变量或,VTREGs,值的变化以图形方式表示出来。,逻辑分析仪,信号配置,详细设置,使用限制,逻辑分析仪Debug-Logic Analyzer W,内存窗口,View-Memory Window,通过内存窗口可以查看存储器内容。,内存窗口最多可将四个不同的存储域显示在不同的页中。,窗口中的右键菜单可以选择输出格式。,在,Address,域内,可以输入一个表达式,此表达式的值为所显示内容的地址。,在某个单元的值上双击可打开一个编辑框,它允许键入一个新的存储值改变存储内容。,使能,View Periodic Window Update,,可以在运行目标程序时更新此窗口中的值。,内存窗口View-Memory Window 通过内,内存映射窗口,Debug-Memory Map,内存映射对话框可以用来设定那些地址空间用于存储数据、那些地址空间用于存储程序。,被访问的地址空间没有被明确声明时就必须进行地址映射,如存储映射,I/O,空间。,在目标程序运行期间,保证让程序不进行非法的存储区访问。,内存映射窗口Debug-Memory Map 内存映,输出窗口,View-Output Window,输出窗口:编译信息输出、命令输出、文件查找结果输出。,命令输出可以是“,调试命令,”、“,变量及寄存器,”、“,调试函数,”。,输出窗口View-Output Window 输出窗,执行剖析器,Debug-Execution Profiling-Time/Calls,执行剖析器,它可以记录执行全部程序代码所需的时间。,它具有两种显示方式:,Call,(显示执行次数)和,Time(,显示执行时间,),。,将鼠标放在指定的入口处即可显示有关执行时间及次数的详细信息。,执行剖析器Debug-Execution Profil,性能分析仪,Debug-Performance Analyzer,性能分析仪用于记录和显示程序的执行时间。,Vision ARM,仿真器记录整个程序代码的时间统计信息。,性能分析仪Debug-Performance Anal,串行窗口,View-Serial Window,printf -,int fputc(int ch,FILE*f),;,getchar -int fgetc(FILE*stream),;,串行窗口View-Serial Window pri,符号窗口,View-Symbol Window,显示定义在当前被载入的应用程序中的公有符号、局部符号及行号信息。,CPU,特殊功能寄存器,SFR,符号也显示在此窗口中。,符号窗口View-Symbol Window 显示定,工具箱,View-Toolbox,Toolbox,中包含用户可配置的按钮。点击工具箱上的按钮可以执行相关的调试命令(,debug command,)或调试函数(,debug function,)。工具箱按钮可以在任何时间执行,甚至是运行测试程序时。,参考,实例:,DEFINE BUTTON My Status Info,MyStatus(),DEFINE BUTTON Analog0 0.3V,analog0(3),DEFINE BUTTON Stop Analog0,signal kill analog0,工具箱View-Toolbox Toolbox中包含,Watch窗口,View-Watch&Call stack Window,Locals,页列出了当前函数中全部的局部变量。,Watch,页列出了用户指定的程序变量。,Call Stack,页显示了当前的函数调用嵌套关系,。,Watch窗口View-Watch&Call st,第4章-Keil-MDK-ARM集成开发环境课件,MDK开发的四个步骤,Step 1:,选择设备和指定硬件对象,Step 2:,配置设备和,创建应用程序代码,Vision,包含了工程管理器、编辑器和调试器,网上庞大地设备数据库,&Vision,简单化地芯片选择与设置,MDK开发的四个步骤Vision 包含了工程管理器、编辑器,MDK开发的四个步骤,通过,ULINK,进行,Flash Download,和,Target Debugging,通过,Vision Debugger,和,Device Simulator,调试,Step 3:,用,Vision,设备仿真器,分析代码,Step 4:Flash,下载,最后在目标硬件上测试,MDK开发的四个步骤通过 ULINK 进行Flash Dow,添加管理源文件,组织源码结构;,添加源文件:,从,C:KeilARMExamplesMeasure,拷贝源文件。,建立软仿真工程:,Simulator,为设备仿真工程。,Startup,启动代码,Source,实验源文件,System,系统调用源文件,IniFile,初始化命令文件,ReadMe,说明文件,添加管理源文件组织源码结构;Startup启动代码Sourc,添加管理源文件,点击工具栏“”管理工程,添加源码。,注:为了说明操作,直接拷贝附带例程源码。,添加管理源文件点击工具栏“”管理工程,添加源码。,配置启动代码,图形化配置,图形化对话框,直观方便,免除手写几百行汇编代码,快速生成启动代码,配置启动代码图形化配置 图形化对话框,直观方便,Debug调试,点击工具栏“”下载程序到目标板进入调试状态,Debug调试点击工具栏“”下载程序到目标板进入调试,单步、查看各个窗口,单步、断点、全速运行:,查看Debug状态下各个窗口:,单步、查看各个窗口单步、断点、全速运行:,设置编程工具,Flash下载,Flash-Configure Flash Tools:,Flash,芯片型号,设置编程工具Flash下载Flash-Configur,设备仿真实例,内容五,设备仿真实例内容五,MDK的设备仿真,目标设备的所有组件都可仿真,.,代码可在整个设备上运行,完全的目标硬件仿真,完整的目标,高效指令集仿真,中断仿真,片内外围设备,ADC,DAC,EBI,Timers,UART,CAN,I2C.,包含外部信号和,I/O,包含外部信号和,I/O,充足的仿真信息,包含在设备数据库里,Supports 250 ARM based MCUs,Included in RealView MDK,C:KeilARMExamplesMeasure;,uVision Simulator for LPC2129;,该例程描述了如何使用uVision的,信号函数,功能来仿真LPC21XX一个模拟量的输入。,Measure程序介绍默认路径:C:KeilARME,编译、链接、调试,打开Measure工程,编译、链接程序,点击Debug进入调试状态。,编译、链接,Debug,编译、链接、调试打开Measure工程,编译、链接程序,点击,虚拟串口,打开虚拟串口2,全速运行程序查看结果;,Retarget,库文件,/Serial.c,int sendchar(int ch),if(ch=n),while(!(U1LSR,U1THR=CR;,while(!(U1LSR,return(U1THR=ch);,int getkey(void),while(!(U1LSR,return(U1RBR);,/Retarget.c,int fputc(int ch,FILE*f),return(sendchar(ch);,RealView,微控制器开发工具集带有一个预定义的,retarget,库文件,它是许多例程的一部分。,retarget,文件修改了底层的,I/O,程序,并禁止了,semi-hosting SWI,中断的使用。,虚拟串口打开虚拟串口2,全速运行程序查看结果;Retarge,查看程序代码,代码块彩色显示,显示混合的源代码与反汇编代码,改变显示模式并且使用,context menu,中的其他命令,(,在,Disassembly,窗口中点击右键,),查看程序代码代码块彩色显示,调用栈,View-Watch&Call stack Window,View-Call stack Unwinder,显示函数的嵌套情况,双击此页中的某行,将会在工作区中显示调用所选择函数的源代码。,显示函数的嵌套情况,显示函数参数的值或者地址,双击此页中的某行,将会在工作区中显示调用所选择函数的源代码。,调用栈View-Watch&Call stack,通过设置Trace功能,可以跟踪代码,跟踪代码,要求设置,Enable/Disable Trace Recording,可以查看到在到达断点前,CPU,所执行的指令,在工程工作空间的,Regs,页面会显示执行所选择的指令在执行过程中相应的,CPU,寄存器内容。,通过设置Trace功能,可以跟踪代码跟踪代码要求设置Enab,双击一行代码,在代码的左面出现一个红点,表示断电设置成功,断点,使用工具栏的断点相关按钮:,调试状态下:,Debug-Breakpoint,,可以设置高级断点,在不具备,trace,功能的硬件环境下,不具备条件触发中断的能力,条件触发中断只能在软件仿真的情况下实现,当对变量,current.time.sec,进行写操作且值恒等于,3,的产生断点,双击一行代码,在代码的左面出现一个红点,表示断电设置成功断点,查看变量,View-Watch Window,可以随时查看变量、结构体以及数组的内容。,在空白行双击鼠标左键或者按,F2,键即可添加变量,通过同样的方式也可以修改变量的值。,在源文件编辑窗口选择需要添加的变量名,单击鼠标右键,在弹出的局部菜单中选择,Add to Watch Window,选项将其加入。,查看变量View-Watch Window可以随时查看,查看片上外设,Vision,里提供了片上外设对话框:,I/O,端口,中断,定时器,,A/D,转换器,串口和一些芯片特有的外设。,对话框会显示当前外设的状态,同时也可以直接在对话框中改变相应的输入值。,查看片上外设Vision里提供了片上外设对话框:I/O端口,性能分析仪&代码覆盖统计,Debug-Performance Analyze,View-Code Coverage Windows,性能分析仪&代码覆盖统计Debug-Performan,信号函数,信号函数可以在后台实现信号输入、脉冲输入等重复操作。,信号函数可用于模拟和测试串行,I/O,、模拟,I/O,、端口通讯和其他一些重复发生的外部事件。,FUNC void MyStatus(void),printf(=n);,printf(Analog-Input-0:%fn,ain0);,printf(Analog-Input-1:%fn,ain1);,printf(Analog-Input-2:%fn,ain2);,printf(Analog-Input-3:%fn,ain3);,printf(Port 0:%08Xn,port0);,printf(=n);,/*MEASURE.INI:Measure Debug Init File*/,Signal void analog0(float limit),float volts;,printf(Analog0(%f)entered.n,limit);,while(1)/*forever*/,volts=0;,while(volts=0.0),ain0=volts;,swatch(0.01);/*wait 0.01 seconds*/,volts-=0.1;/*decrease voltage*/,初始化文件,信号函数,信号函数信号函数可以在后台实现信号输入、脉冲输入等重复操作。,Toolbox,View-Toolbox,;,DEFINE BUTTON My Status Info,MyStatus(),DEFINE BUTTON Analog0 0.3V,analog0(3),DEFINE BUTTON Stop Analog0,signal kill analog0,Toolbox,中包含用户可配置的按钮。,点击工具箱上的按钮可以执行相关的调试命令或调试函数。,工具箱按钮可以在任何时间执行,甚至是运行测试程序时。,添加按钮语法:,删除按钮语法:,DEFINE BUTTON button_label,command“,Kill Button num,ToolboxView-Toolbox;DEFINE,逻辑分析仪,Debug-Logic Analyzer Window,可以是变量或,VTREGs,值,逻辑分析仪Debug-Logic Analyzer W,综合,全速运行程序,串口输入“,d,”,在终端显示,ADC,采样值;,点击,Toolbox,的“,Analog0 0.3,”按钮,输出外部信号;,查看各个调试窗口状态。,综合全速运行程序,串口输入“d”,在终端显示ADC采样值;,调试命令,/,函数、分散加载文件,内容六,调试命令/函数、分散加载文件内容六,调试命令,Vision3,支持大量命令,可以通过,Output Window Command Line,键入命令,在命令入口处,语法生成器会显示命令,选项和参数。,仅需键入命令名单词的首字符。,类别,描述,断点命令,允许创建和删除断点。当遇到一个特定指令时可以使用断点停止程序执行或执行,Vision3,命令或用户函数。,普通命令,可以执行一些混合的调试操作。,存储器命令,显示和改变存储器内容,程序命令,执行目标程序并分析其性能,调试命令Vision3支持大量命令,可以通过 Output,调试命令-断点命令,命令,描述,BreakAccess,添加一个指定长度(地址域)的访问断点到断点列表。,BreakDisable,使一个或多个断点不可用。,BreakEnable,使能一个或多个断点。,BreakKill,从断点列表中移除一个或多个断点。,BreakList,列出当前断点。,BreakSet,添加一个断点表达式到断点列表。,调试命令-断点命令命令 描述 BreakAccess添加一个,调试命令-普通命令,命令,描述,ASSIGN,为串行窗口分配输入输出源。,DEFINE,创建一个工具箱按钮。,DIR,生成一个符号名目录。,EXIT,退出,Vision3,调试模式。,INCLUDE,读取并执行命令文件中的命令。,KILL,删除,Vision3,调试函数和工具箱按钮。,LOAD,载入目标模块和十六进制文件。,LOG,为调试窗口生成日志文件,查询日志状态及关闭日志文件。,MODE,为,PC,机的,COM,口设置波特率,奇偶位和停止位。,RESET,重启,Vision3,重设存储映射分配及重置预定义变量。,SAVE,在,Intel HEX386,文件中保存一个存储域。,SCOPE,显示目标程序的模块和函数的地址分配。,SET,为预定义变量设备字符串值。,SIGNAL,显示信号函数的状态和移除有效信号函数。,SLOG,为串行窗口生成日志文件,查询日志状态及关闭日志文件。,调试命令-普通命令命令 描述ASSIGN为串行窗口分配输入输,调试命令-存储器命令,命令,描述,ASM,汇编内嵌代码。,DEFINE,定义可能在,Vision3,中使用的符号。,DISPLAY,显示存储器的内容。,ENTER,把值键入到指定的存储域。,EVALuate,求表达式的值并输出结果。,MAP,为存储域指定访问参数。,Unassemble,反汇编程序存储域。,WatchSet,向观测窗口中添加一个观测变量。,WatchKill,删除观测窗口中的所有观测变量,调试命令-存储器命令命令 描述 ASM汇编内嵌代码。DEFI,调试命令-程序命令,命令,描述,COVERAGE,显示代码统计信息,Go,启动程序执行,LogicAnalyze,初始化逻辑分析仪,PerformanceAnalyze,初始化内置的性能分析仪。,Pstep,执行指令但不跳入过程或函数。,Ostep,跳出当前函数。,Tstep,跳过指令并跳入函数。,调试命令-程序命令命令 描述 COVERAGE显示代码统计信,调试函数,Vision3,中有一个内建的函数编辑器,通过,Debug-Function Editor,来打开。打开函数编辑器时需要输入一个文件名或者打开一个由,Options for Target Debug Initialization File,指定的文件。该编辑器的用法与,Vision3,编辑器相同,允许用户输入和编译调试函数。,调试函数Vision3 中有一个内建的函数编辑器,通过De,调试函数,Vision3,提高了一些可被调用的预定义调试函数,它们不能被重定义或者被删除。预定义函数用来帮助开发者定义用户和信号函数。,名字,参数,描述,void,exec,执行调试命令,double,getdbl,请求用户输入一个双精度浮点数据,int,getint,请求用户输入一个整型数据,long,getlong,请求用户输入一个长整型数据,void,memset,以常量填充内存,void,printf,输出函数,int,rand,返回介于,0,到,32767,之间的随即数,void,rwatch,延迟执行信号函数直到读取地址成功,更多函数,调试函数Vision3提高了一些可被调用的预定义调试函数,,装载域,BIN,ROM,RAM,文件映像域,装载域描述运行前输出段和域在,ROM/RAM,里的分布状态;,运行域描述了运行时输出段和域在,ROM/RAM,里的分布状态。,CODE,DATA,运行域,RO section,RW section,ZI section,STACK,Image$RO$Base,Image$RO$Limit,Image$RW$Base,Image$ZI$Base,Image$RW$Limit,Image$ZI$Limit,装载域BINROMRAM文件映像域装载域描述运行前输出段和域,运行时的数据搬移,RW段搬移&ZI段清零,装载域,BIN,ROM,RAM,CODE,DATA,运行域,RO,RW,ZI,STACK,Image$RO$Base,Image$RO$Limit,Image$RW$Base,Image$ZI$Base,Image$RW$Limit,Image$ZI$Limit,#Copy RW data,Initialize:,ldr r0,=Image$RO$Limit,ldr r1,=Image$RW$Base,ldr r3,=Image$RW$Limit,cmp r0,r1,beq F1,F0:,cmp r1,r3,LDRCC r2,r0,#4,strcc r2,r1,#4,bcc F0,#Paste zero initialized data,F1:,ldr r1,=Image$ZI$Limit,ldr r3,=Image$ZI$Base,mov r2,#0,F2:,cmp r3,r1,strcc r2,r3,#4,bcc F2,运行时的数据搬移RW段搬移&ZI段清零装载域BINROMRA,Scatterfile分散加载文件,分散加载,(Scatlerloading),,即工程里的,.scf,文件;,在,scatterfile,中可以为每一个代码或数据区执行时指定不同的存储区域地址。,分散加载文件,;,RUN IN FLASH,LR_ROM1 0 x00000000 0 x00200000 ,ER_ROM1 0 x00000000 0 x00200000 ,*.o(RESET,+First),*(InRoot$Sections),.ANY(+RO),RW_RAM1 0 x30000000 0 x04000000 ,.ANY(+RW+ZI),;,RUN IN RAM,LR_ROM1 0 x30000000 0 x00010000 ,ER_ROM1 0 x30000000 0 x00010000 ,*.o(RESET,+First),*(InRoot$Sections),.ANY(+RO),RW_RAM1 0 x30010000 0 x00010000 ,.ANY(+RW+ZI),*(InRoot$Sections),它是,_main(),的一部分,Scatterfile分散加载文件分散加载(Scatlerl,基于硬件的开发调试,内容七,基于硬件的开发调试内容七,环境工具的准备,硬件:EduKit-IV+Mini2410平台一套;,仿真器:ARM RealView MDK套件一套;,其他:电脑一台(安装Windows XP系统、MDK环境);,拷贝出厂光盘DISK3_S3C241003-Codes01-MDKMini2410-IV文件夹到MDK安装路径:C:KeilARMBoardsEmbest;,正确安装Mini2410核心板,BOOT跳线断开,连接好交叉串口线、电源线;,以8.2_ADC_Test程序为例。,环境工具的准备硬件:EduKit-IV+Mini2410平台,硬件原理,随着数字技术,特别是计算机技术的飞速发展与普及,在现代控制、通信及检测领域中,对信号的处理广泛采用了数字计算机技术。由于系统的实际处理对象往往都是一些模拟量(如温度、压力、位移、图像等),要使计算机或数字仪表能识别和处理这些信号,必须首先将这些模拟信号转换成数字信号,这就必须用到,A/D,转换器。,参考资料:,基于,S3C2410,嵌入式,MDK,开发实验与实践,.pdf,0_EDUKIT-IV.pdf,1_Mini2410-IV.pdf,硬件原理随着数字技术,特别是计算机技术的飞速发展与普及,在现,连接仿真器查看设备信息,连接仿真器,给实验箱上电;,菜单栏Project-Options for Target-Debug,设置仿真器,仿真器信息,目标板信息,连接仿真器查看设备信息连接仿真器,给实验箱上电;设置仿真器仿,Debug调试,点击工具栏“”下载程序到目标板进入调试状态,Debug调试点击工具栏“”下载程序到目标板进入调试,配置XP下超级终端,点击,Windows XP-,开始,-,所有程序,-,附件,-,通讯,-,超级终端,建立一个新的终端,并设置如下:波特率,115200,、,1,位停止位、无校验位、无硬件流控制。,超级终端串口的选择根据用户的,PC,串口硬件不同,请自行选择,如果,PC,机只有一个串口,一般是,COM1,配置XP下超级终端点击Windows XP-开始-,运行程序查看实验现象,菜单栏,Debug-Run,,全速运行程序并查看串口打印消息;,调节实验平台位于,Area10,区域的,ADC,滑竿改变模拟量值,查看串口打印的采样值的变化。,运行程序查看实验现象菜单栏Debug-Run,全速运行,断点、单步、查看各个调试窗口,在合适的位置设置断点观察程序运行;,查看各个调试窗口;,单步跟踪代码运行。,断点、单步、查看各个调试窗口在合适的位置设置断点观察程序运行,程序固化,内容八,程序固化内容八,Flash编程,Vision 3 集成了Flash编程工具,所有的相关配置将被保存在当前工程中。,允许用户编写初始化文件进行总线配置、寄存器配置等初始化设置。,支持用户自定义编写Flash算法。,Flash编程Vision 3 集成了Flash编程工具,,Flash编程工具配置,菜单栏Flash-Configure Flash Tools;,初始化文件,Flash,芯片,Flash编程工具配置菜单栏Flash-Configu,初始化文件,Flash,初始化文件有两个典型的应用:,配置存储器或寄存器,这些存储器或寄存器是用来配置访问,Flash,的总线设置;,加载附加程序部分。,FUNC void Init_Board(void),_WWORD(0 x53000000,0 x00000000);,_WWORD(0 x4A000008,0 xFFFFFFFF);,_WWORD(0 x4A00001C,0 x000007FF);,_WWORD(0 x4C000014,0 x3);,_WWORD(0 x4C000004,0 x0005c042);,_WWORD(0 x56000070,0 x00280000);,_WWORD(0 x56000078,0 x00000000);,Init_Board();,初始化文件Flash初始化文件有两个典型的应用:FUNC v,映象固化,编译Run in Flash工程;,菜单栏Flash-Download开始下载映象到Flash。,.,Init_Board();,Erase Done.,Programming Done.,Verify OK.,Note:,固化的文件为工程配置菜单中所设置的输出文件(,axf,或者,hex,格式),映象固化编译Run in Flash工程;.Not,Flash编程算法,ULINK2,适配器允许用户定义附加的,Flash,编程算法:,C:KeilARMFlash,ARM,工具链已经包含许多,Flash,编程算法,可以作为用户自己编写算法的模板。,定义自己的,Flash,算法,Flash编程算法ULINK2适配器允许用户定义附加的Fla,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!