3软件调试程序的流程和方法.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用KEIL uvsion 3软件调试程序的流程和方法
(1)用汇编语言或C语言创建源程序
使用菜单“File->New”或点击工具栏的新建文件按扭,即可在项目窗口的右侧打开一个新的文本编辑窗口。编辑完文件后,保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名)。
(2)创建一个项目,从器件库中选择目标器件,配置工具设置
点击“Project->New Project…”菜单,出现一个对话框,要求给将要建立的工程起一个名字(默认保存类型为uv3/uv2)
下一步,选择目标CPU(即你所用芯片的型号),(先选择生产该CPU的公司,然后点“+”,从下拉列表中即可看到具体的CPU),然后点击“确定”按钮回到主界面。此时在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,这时的工程是一个空的工程。
(3)向项目中添加源文件。
右击界面左边项目窗口中的“Source Group1”,选择“Add file to Group” Source Group1“,出现” Add file to Group” Source Group1“对话框。
在对话框下面的”文件类型“改为”*.*“,找到需加入的.asm文件,双击该文件名,即可把该文件加入项目。
(4)设置工程项目
点击左边Project窗口中的Target1,然后使用菜单”Project->Options for target “target1”“即出现对工程设置的对话框。共八个页面,大多数取默认值即可。
选几个比较重要的做下说明:
Target页
Xtal:晶振频率值,默认值是所选目标CPU的最高可用频率值,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。正确设置该数值可使用显示时间与实际所使用时间一致,一般将其设置成与你的硬件所用晶振频率相同。
Output页面
Creat Hex file:用于生成可执行代码文件,扩展名为HEX,可用编程器写入单片机芯片的文件。若要写片做硬件实验,必须选中该项。
(5)编译、连接
选择菜单Project->Build target,对当前工程进行连接,如果当前文件已修改,软件会先对该文件进行编译,然后再连接以产生目标代码;若选择Rebuild All target files将会对当前工程中的所有文件重新进行编译然后再连接,确保最终生产的目标代码是最新的。
编译过程中的信息将出现在输出窗口中的Build页中。如果源程序中有语法错误,会有错误报告出现,双击该行,可以定位到出错的位置。修改直至编译通过。
(6)调试
成功进行汇编、连接后,按Ctrl+F5或者使用菜单Debug->Start/Stop Debug Session即可进入调试状态,此时Debug菜单项中原来不能用的命令现已可以使用,工具栏会多出一个用于运行和调试的工具条。
调试手段:
单步执行(step或step over)
运行到当前光标处(Run to Cursor line)
设置断点(Insert/Remove Breakpoint),还可以开启或暂停光标所在行的断点功能(Enable/Disable Breakpoint)
(7)寄存器、RAM、ROM数据的查询(在debug方式有效)
a、工作寄存器R0~R7和主要SFR的内容显示在显示器左边;
b、查询存储器内容的方法:使用菜单“view->Memory Window”,右下方会显示出存储器内容显示窗口;
在Address输入框中输入d:某地址(如00H),则会显示内部RAM00H单元开始的内容;
在Address输入框中输入c:某地址(如0000H),则会显示ROM0000H单元开始的内容;
在Address输入框中输入x:某地址(如0000H),则会显示外部RAM0000H单元开始的内容;
c、目标程序(机器码)的查看:
使用菜单“view->Disassembly Window”,会显示出源程序和每条指令的机器码。