keil调试经验3.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
keil调试经验3

KEIL调试高级技巧 在调试状态,Debug 菜单项中的命令可以使用了,有关编译的工具栏按钮消失了,出现了一个用于运行和调试的工具栏,Debug 菜单上的大部份命令都有相应的快捷按钮。 从 左到右依次是复位、运行、暂停、单步跟踪、单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮命令; 然后按一下图示第二个“运行”按钮。连接上相关的实验资源,本实验用一条8PIN的数据排线把实验仪的CPU部份的P1口(JP44)连接到八路指示灯部份的JP32。这时你会看到实验仪的八个红色LED,轮流点亮,表示运行成功,也可以查看相关的变量和参数,非常方便。 ⒈单步 跟踪运行 使用菜单Debug-Step 或上图第四个单步运行按钮或使用快捷键 F11 可以单步跟踪执行程序,在这里我们按下 F11 键,即可执行该箭头所指程序行,每按一次 F11,可以看到源程序窗口的左边黄色调试箭头指向下一行,如果程序中有Delay延时子程序,则会进入延时程序中运行。 ⒉单步 运行 如果Delay 程序有错误,可以通过单步跟踪执行来查找错误,但是如果 Delay 程序已正确,每次进行程序调试都要反复执行这些程序行,会使得调试效率很低,为此,可以在调试时使用 F10 来替代 F11(也可使用菜单 Step Over 或相应的命令按钮),在 main 函数中执行到 Delay时将该行作为一条语句快速执行完毕。为了更好的进行对比,我们重新进入仿真环境,将反汇编窗口关闭,不断按 F10 键,可以看到在源程序窗口中的左边黄色调试箭头 不会进入到延时子程序。 ⒊全速 运行 点击工具栏上的“运行”按钮或按F5 键启动全速运行,全速执行程序,此时用户板上的 P1 口所接 LED 以流水灯状态显示。 ⒋ 暂停 点击工具栏上的按钮,此时用户板上的P1 口所接 LED 停止以流水灯状态显示,只有一个 LED 灯点亮(取决于暂停前的 P1 的值)。 ⒌观察/修改寄存器的值 Project 窗口在进入调试状态后显示 Regs 页的内容,包括工作寄存器 R0~R7 的内容和累加器 A、寄存器 B、堆栈指针 SP 的内容。 用户除了可以观察以外还可自行修改,例如将寄存器a 的值 0x62 改为 0x85。 方法一:用鼠标点击选中单元a, 然后再单击其数值位置,出现文字框后输入 0x85 按回车键即可; 方法二:在命令行窗口,输入A=0x85,按回车键将把 A 的数值设置为 0x85 6.观察/修改存储器的数据 点击菜单“视图View-储存器窗口Memory Windows”,便会打开 储存器Memory 窗口(如窗口已打开,则会关闭), Memory 窗口可以同时显示 4 个不同的存储器区域,点击窗口下部分的编号可以相互切换显示。 在储存器1(Memory#1) 的地址输入栏内输入“D:0e0h”,按回车键后,可以从内部可直接寻址 RAM 的e0H 地址处开始显示, e0H 地址的值就是寄存器 a 的值,应与主寄存器窗口下的值相同。 点击窗口下部分的储存器2(Memory#2),在 Address 输入栏内输入“D:0e0h”,按回车键后,可以从内部可间接寻址 RAM 的 e0H 地址处开始显示。 点击窗口下部分的Memory#3,在 Address 输入栏内输入“C:0x0021”,按回车键后,可以从代码区域 0000H 地址处开始显示,这时各地址值应与在反汇编窗口中的值相同。 点击窗口下部分的Memory#4,在 Address 输入栏内输入“X:00h”,按回车键后,可以从xdata RAM 区域 0000H 地址处开始显示。 通过 Memory 窗口修改数据 在Memory 窗口中显示的数据可以修改。例如,要改动 data 区域 OXE0 地址的数据内容: 把鼠标移动到该数据的显示位置,按动鼠标右键在弹出的菜单中选中:更新储存器“Modify Memory at D:0xE0”,在弹出对话框的文本输入栏内输入相应数值,按回车键或点击 OK,修改完成。 通过命令行查看数据 例如,我们想查看data 空间从 0x01 到 0x03 地址的内容,可在命令输入窗口输入“d d:0x01,03H”, 回车即可完成,d 表示 data 空间,0x01 表示起始地址,03H 表示结束地址(注意两种 16 进制的表示方法在这里都可以接受),输出结果在信息输出窗口中显示出来。 通过命令行修改数据 例如,我们想把 p1口的值从0x02数据修改成 0x04 ,可在命令输入窗口输入p1=0x04”,回车即可完成,此时如果p1口接有led,将立即看到led状态改变。 通过 Memory 窗口可以看到

文档评论(0)

haowendangqw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档