电子信息工程 外文翻译 外文文献 英文文献 嵌入式系统程序的和调试.doc

电子信息工程 外文翻译 外文文献 英文文献 嵌入式系统程序的和调试.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子信息工程 外文翻译 外文文献 英文文献 嵌入式系统程序的和调试

外文出处: Getting Started with μVision2 附件1:外文资料翻译译文 嵌入式系统程序的下载和调试 当你已经在主机上有了一个可执行二进制映像文件的时候,你就需要有一种途径来把这个映像文件下载到嵌入式系统运行了,可执行二进制影响一般是要下载到目标板上的存储器里并在那里执行,并且如果你配备了适当的工具的话,还可以在程序里设置断点或以一种不干扰的方式来观察运行情况,本章介绍了可用于下载,运行和调试嵌入式软件是各种技术。 4.1 在ROM中的时候……. 下载嵌入式软件的最明显的方式,是把二进制映像载入一片存储片并把它插在目标板上,虽然一个整整的只读是不能再覆盖写入的,不过你会在第六章“存储器”里看到,嵌入式系统通常使用了一种特殊的只读存储器,这种存储器可以用特殊的编程器来编程(或重新写入程序).编程器是一种计算机系统,它上面有各种各样的形状和大小的芯片插座,可以用来为各种存储芯片编程。 在一个理想的开发条件下,设备编程器应该和主机接在同一个网络上。这样,可执行二进制映像文件就很容易传给它来对ROM芯片编程。首先把映像文件传到编程器,然后把存储器芯片插入大小形状何时的插座里并冲编程器屏幕上的菜单里悬着芯片的型号。实际的编程过程可能需要几秒到几分钟,这要看二进制映像文件的大小和你所用的芯片型号来定。 变成结束以后,你就可以把ROM插进板上的插座了,当然,不能在嵌入式系统还在加电的时候做这件事。应该在插入芯片之前关掉电源,插入之后在打开。 一旦加电,处理器就开始从ROM里取出代码并执行。不过,要注意到每一种处理器对第一条指令的位置都有自己的要求。例如,当Intel80188EB处理器复位以后,它就会取位于物理地址FFFF0h的指令来执行。这个地址叫做复位地址,位于那里的指令就叫复位代码。 如果你的程序看起来像是没有正确运行,那可能是你复位代码出了问题。你必须保证ROM里你的二进制映像格式要遵从目标处理器的复位要求。在开发过程中,我发现在复位代码执行之后打开板子上的一个LED非常有用,这样我一眼就知道我的芯ROM程序是不是满足了处理器的基本要求。 注意:调试技巧#1:一个最简单的调试技巧就是利用LED来指示成功或者失败。基本思路是慢慢地从LED驱动代码过渡到更大的程序,把LED驱动代码挪到下一个运行标记的地方。这个方式最适合启动代码那样简单的,线性执行的程序。如果你没有本章后面提到的远程调试器或者任何其他调试工具的话,这也许是你唯一的调试办法了。 Arcom电路板 特殊的在线可编程存储器,叫做快闪存储器(简称闪存),它可以在不从板上移走的情况下编程。实际上,板上的另外一块存储器中已经包含了可以对这个快闪存储器编程的功能。你知道吗,Arcom电路板上实际带了两个只读存储器,一个是真正的ROM,其中包含了可以让用户对另外一片(即快闪存储器)在线编程的简单程序。主机只需通过一个串行通信口和一个终端程序就可以和这个监控程序沟通了。随板提供的“Target188EB Monitor User’s Manual”包含了把一个Intel十六进制格式文件,比如blink.hex,载入到闪存里的指令。 这种下载技术的最大缺点是没有一种简单的方法来调试运行在ROM外面的软件,处理器以一种很高的速度提取指令并执行,并没有提供任何使你观察程序内部状态的手段。这在你已经知道你的软件工作正常并且你在计划分发这个系统的时候看起来是不错的,不过对于正在开发的软件是一点用多没有。当然,你还是可以检查LED的状态和其他外部可视硬件指示,但这永远不会比一个调试器提供更多的信息和反馈。 4.2 远程调试器 如果可能的话,一个远程调试器可以通过主机和目标机之间的串行网络连接来下载、执行和调试嵌入式软件。一个远程调试器的前端和你可能用过的其他调试器都一样,通常有一个基于文本或GUI(图形用户界面)的主窗口和几个小一点的窗口来显示正在运行的程序的源代码、寄存器内容和其他相关信息。所不同的是,在嵌入式系统的情况下,调试器和被调试的软件分别运行在两台不同的计算机上。 一个远程调试器实际上包含两部分软件。前端运行在主机上并提供前述的人机界面。但还有一个运行在目标处理器上的隐藏的后端软件来负责通过某种通信链路和前端通信。后端一般被称作调试监控器,它提供了对目标处理器的低层控制。 监视控制器通常是你或生产厂以前讲过的方式放置在ROM里的,它在目标处理器复位的时候会自动启动。它监控和主机的通信链路并对远程调试器的请求做出回应。当然,这些请求和监控器的响应必须符合某种预先定义好的通信协议,而且这些协议通常是很底层的。远程调试器的请求的一些示例就如“读寄存器x”、“修改寄存器y”、读从address开始的内存的n字节”还有“修改位于addr

文档评论(0)

xjj2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档