菜单 English Ukrainian 俄语 主页

面向爱好者和专业人士的免费技术图书馆 免费技术库


无线电电子与电气工程百科全书
免费图书馆 / 无线电电子和电气设备方案

使用 ROM 仿真器调试微控制器。 无线电电子电气工程百科全书

免费技术库

无线电电子与电气工程百科全书 / 微控制器

文章评论 文章评论

包含微处理器的电子设备的工作程序的开发和调试的复杂性往往决定了其整体开发的成本。 在具有集成存储器和一些外围设备的微控制器(MC)中,这一点尤其明显。 极大地方便调试的工具之一是 [1] 中描述的 ROM 仿真器。 拟议的文章描述了使用它的技术。 调试功能不限于所概述的方法。 这个过程以及一般的设计在某种程度上是一门艺术:对于同一种乐器,每个人都创造出“自己的音乐”。 我们将感谢那些分享他们调试 MK 程序的原始工具和方法的读者。

MC软件调试过程的复杂性和费力由以下因素决定[2]:

  • 系统的软件和硬件部分之间的强大互连;
  • 无法直接访问 MC 的内部资源和控制点;
  • 信号的多比特性,时间复杂分布;
  • 系统中信号的非周期性或非常低的重复频率;
  • 各种各样的外部设备和与它们交换信息的协议。

传统的测试设备(例如示波器)只能在有限的范围内用于调试MCU。

最简单(同时也是效率最低)的调试方法是“试错法”:将程序加载到可重编程只读存储器(EPROM)中,尝试执行它,检测并纠正程序中的错误,然后e、对EPROM芯片进行擦除和写入数据的过程需要较长的时间,经过一定次数的重新编程周期后,一般会失败。 微电路的重复安装和拆卸降低了EPROM插座中电触点的可靠性。 实际上不存在获得有关系统的调试信息的可能性。

目前MK最常采用基于个人电脑的交叉工具进行调试。 这可以最大限度地减少对 MC 资源的干扰。 待调试设备如图所示,通过某种工具(例如ROM仿真器)连接到计算机。 这样的综合体允许您下载和编辑程序、在其中输入测试模块、获取有关系统的某些信息等等,我们将在下面讨论。

尽管 ROM 仿真器不是唯一的,也不是最强大的调试工具,但它们仍然很受欢迎。 它们的“长寿”在于独立于 MC 类型(仅需要使用外部程序存储器的能力)、实时操作、低廉的价格以及可供广泛的设备开发商和无线电爱好者使用。 我们将以 MCS-51 系列 MK(8031、8051、80C31、80C51、KR1816BE31、KR1816BE51、KR1830BE31、KR1830BE51 等)为例,考虑使用 ROM 仿真器调试程序的技术。

开始调试时,需要检查系统硬件和MC本身的可操作性。 为此,您可以使用“自由计数”测试 [3]。 其中包括 MK 端口行上所有可能的代码组合的枚举。 在测试过程中,端口线将被设置为输出状态,因此首先根据正在调试的设备,确保它们没有加载到其他元件的输出上。 暂时断开此类负载(如果有)。

在 MCU 程序的整个地址空间内加载带有无操作 (NOP) 命令代码的 ROM 仿真器。 对于 MCS-51,这是代码 00H。 当执行这样的“程序”时,MK顺序地遍历程序存储器的所有地址。 用示波器监视ALE、PME和P0、P2端口的信号。 考虑到地址和数据的低字节在 P0 上的复用,端口线上的波形必须与二进制计数器的时序图匹配。

接下来,通过将表1所示的测试程序加载到ROM仿真器中来检查端口P1和P00。 0、在指定端口线上输出XNUMXH到XNUMXFFH的一系列代码,模拟八位二进制计数器。 如果波形图符合要求,则恢复端口断开的负载,然后继续调试MK的工作程序。 请记住,您正在同时调试系统的软件和硬件,并且不要忘记使用示波器定期监视测试点的信号。 信号类型与您对它们的想法不一致是需要认真反思和额外检查的原因。

使用 ROM 仿真器调试微控制器

为了方便开发和调试,编程时应遵循模块化原则,即将MK程序按照功能特征划分为多个部分。 这将使您能够轻松移动各个模块,并在必要时将它们应用到其他项目中。 上电或MK复位后控制权转移到的模块称为主模块或主模块。 将控制权转移到程序入口点应该是跳转命令,而不是子程序调用,以免返回地址污染堆栈。

为了避免意外的程序结果,请记住在第一次使用每个变量之前为其分配一个初始值。 在某些情况下,您可能需要初始化外围设备。 初始化块放置在主程序模块的开头。

调试开始时主程序模块的大概情况如表所示。 2. 它仅包含程序的入口点和出口处理程序。 尽管这种输出很少在微控制器系统中使用,但必须提供它以正确终止紧急情况。 在所考虑的示例中,工作完成后,程序“循环”。 只有使用硬件复位信号重新启动系统才能使其脱离此状态。

使用 ROM 仿真器调试微控制器

在调试过程中,其他程序模块准备好后就添加到主模块中。 它们的连接和调试顺序起着重要作用。 您应该从信息输出设备(显示器、数模转换器等)的驱动程序开始,将它们的调用放在主模块中。 然后调试其他外围设备的驱动程序、数据处理例程,然后检查所有程序模块的联合运行情况。 如果有字母数字显示器,则首先调试其驱动程序,然后使用它来显示调试信息,例如MK内部数据存储器的内容。 如果使用这样的ROM仿真器,其中包含的信息可以被控制计算机和被调试设备读写,则MK可以将调试数据放置在ROM仿真器的空闲存储区域中,并且控制计算机读取它们并将它们显示在显示器上。

例如,要输出 MCU 内部数据 RAM 的内容,请将其外部数据存储器写 (WR) 信号输出连接到 ROM 仿真器的写信号输入,并使用表 3 所示的子程序。 32. 假设被调试设备的程序存储器容量不超过8000 KB,因此放置在仿真器存储器中的调试信息从地址0H 开始。 寄存器 R1 和 R8000 的内容被单独发送,因为它们稍后在子程序中用于组织循环。 输出调试信息后,MK程序暂停,控制计算机读取807H-XNUMXFH ROM仿真器存储单元的内容,并显示和分析。 同样,可以显示所有可通过编程访问的 MC 寄存器的内容。

使用 ROM 仿真器调试微控制器

当开始调试外围设备驱动程序时,请暂时禁用 MK 生成的控制信号,以避免由于程序错误而可能导致设备故障。 如果该过程是一次性的,则“循环”它并在必要时对示波器时钟信号进行编程。通过监视示波器生成的信号来调试驱动程序。 确认控制信号时序图与所需的对应后,连接外围设备,继续在真实硬件上调试驱动程序。 最后,从程序模块中删除调试元素,并在最终形式中检查其运行情况。

不同模块使用共享的MK资源经常会导致添加另一个子程序时被调试的程序停止工作,因此,在调试下一个模块后,请确保所有先前调试的驱动程序和子程序继续正常工作。 如果您的程序使用中断,除非绝对必要,否则不要禁用它们。 不应从程序中删除已调试的模块,即使当前不需要该模块。

当 MK“冻结”时,以下错误定位方法很有用:将控制点输入到显示顺序递增数字的程序中。 “悬挂”后,显示屏将显示上次成功通过控制点对应的编号。 如果几个这样的点陷入无限循环,显示屏上的数字将迅速变化。 为了准确地确定哪些点在循环中,您必须在输出每个点时设置程序延迟,例如以空闲循环的形式人为地减慢数字的变化。 如果被调试的系统没有内置显示器,可以通过ROM仿真器的空闲内存区域将信息显示在主机的显示器上。

调试完所有设备驱动程序后,开始调试其他子程序。 如果它们中的任何一个实现了处理或转换数据的复杂算法,则显示一个或多个变量的中间值通常不能提供足够的信息来进行错误分析,克服困难并将所需数量的调试信息写入到空闲内存区域ROM模拟器将有助于克服困难。

当所有程序模块都正常运行后,就可以一起进行调试了。 在这种情况下出现的困难分为两类。 第一个问题包括共享公共 MK 资源的问题:算术逻辑单元、数据存储器、输入输出端口。 第二个与微控制器设备的实时操作有关。

实时系统通常是多线程的。 多个程序任务(线程)并行执行,彼此交互并使用公共资源。 但由于其结构,MC 在每一时刻仅解决其中一个问题,并根据优先级依次切换到其他问题。 由于缺乏资源和缺乏数据处理时间,任务之间会出现冲突。 因此,要特别注意程序模块中使用的MK资源,常常通过显示调试信息来控制其状态的变化。 尝试减少全局变量的数量,尽可能用局部变量替换它们。 监视堆栈的状态。 估计程序关键部分的执行时间,用实际可能的输入信号的各种值检查系统。

使用 ROM 仿真器,您还可以调试设计用于在 MK 内部存储器中运行的程序(如果您将其临时放置在外部程序存储器中)。 由于在这种情况下,端口 P0 和 P2 将被外部存储器服务占用,因此,如果 MK 剩余的空闲 I/O 线不够,则将 P0 和 P2 替换为寻址为外部数据存储器单元的 I/O 端口。 它们根据标准方案连接,使用触发寄存器来增加输出线的数量和输入线的数量 - 具有三种输出状态的元件。

使用仿真器调试系统后,从中删除调试元素,将程序写入ROM(或MK的内部程序存储器)并检查最终形式的设备操作。

文学

  1. Vydolob G.、Kudryashov V.、Samoilov V. ROM/RAM 仿真器 RE020。 - 广播,1997 年。第 11 期,第 30-32 节。
  2. Zelenko GV、Ivannikov AD、Sypchuk PP 微处理器系统的设计和调试。 - M. 工程。 1982年。
  3. William G. B. 调试微处理器系统:Per。 来自英语。 - M Energoatomizdat。 1988年

作者:G.Vydolob,V.Samoylov,莫斯科(泽列诺格勒)

查看其他文章 部分 微控制器.

读和写 有帮助 对这篇文章的评论.

<< 返回

科技、新电子最新动态:

用于触摸仿真的人造革 15.04.2024

在现代科技世界,距离变得越来越普遍,保持联系和亲密感非常重要。萨尔大学的德国科学家最近在人造皮肤方面的进展代表了虚拟交互的新时代。萨尔大学的德国研究人员开发出了超薄膜,可以远距离传输触觉。这项尖端技术为虚拟通信提供了新的机会,特别是对于那些发现自己远离亲人的人来说。研究人员开发的超薄膜厚度仅为 50 微米,可以融入纺织品中并像第二层皮肤一样穿着。这些薄膜充当传感器,识别来自妈妈或爸爸的触觉信号,并充当将这些动作传递给婴儿的执行器。父母触摸织物会激活传感器,对压力做出反应并使超薄膜变形。这 ... >>

Petgugu全球猫砂 15.04.2024

照顾宠物通常是一项挑战,尤其是在保持房屋清洁方面。 Petgugu Global 初创公司推出了一种有趣的新解决方案,这将使猫主人的生活变得更轻松,并帮助他们保持家中干净整洁。初创公司 Petgugu Global 推出了一款独特的猫厕所,可以自动冲掉粪便,让你的家保持干净清新。这款创新设备配备了各种智能传感器,可以监控宠物的厕所活动并在使用后激活自动清洁。该设备连接到下水道系统,确保有效清除废物,无需业主干预。此外,该厕所还具有较大的可冲水存储容量,非常适合多猫家庭。 Petgugu 猫砂碗专为与水溶性猫砂一起使用而设计,并提供一系列附加功能 ... >>

体贴男人的魅力 14.04.2024

长期以来,女性更喜欢“坏男孩”的刻板印象一直很普遍。然而,英国莫纳什大学科学家最近进行的研究为这个问题提供了新的视角。他们研究了女性如何回应男性的情感责任和帮助他人的意愿。这项研究的结果可能会改变我们对男性对女性吸引力的理解。莫纳什大学科学家进行的一项研究得出了有关男性对女性吸引力的新发现。在实验中,女性看到了男性的照片,并附有关于他们在各种情况下的行为的简短故事,包括他们对遇到无家可归者的反应。一些人无视这名无家可归的人,而另一些人则帮助他,比如给他买食物。一项研究发现,与表现出同理心和善良的男性相比,表现出同理心和善良的男性对女性更具吸引力。 ... >>

来自档案馆的随机新闻

Neurolink - 迷你大脑植入物 19.07.2019

甚至在埃隆·马斯克因成功开发返回太空火箭、电动汽车和无聊公司而走红之前,他的声誉就直接表明他是一个有特殊思想的人——而今天,埃隆·马斯克已经正式宣布他打算接手在不久的将来还有一些其他的发展。 特别是,今天他和他最亲密的团队一起向公众介绍了他新的独特的 Neurolink 项目,这是一种概念上新型的大脑微型植入物,其主要功能是允许其佩戴者远程控制某些设备。

这个想法真的很不寻常,期待已久,因为许多未来学家和技术爱好者长期以来一直梦想着这样的事情 - 然而,埃隆马斯克指出,到目前为止,发展是理论上的。 然而,尽管如此,该项目已经展示了一些非常有趣的想法 - 特别是,Neurolink 芯片基于使用非常薄 - 比人类头发更细的神经节点和电线系统,这些神经节点和电线直接连接到神经元的各个部分大脑并通过颅骨上 2 毫米的孔取出。

这听起来很不舒服,但鉴于使用了最新的激光技术,很明显 Neurolink 项目有权存在。 特别是考虑到 N1 芯片的第一次临床测试——这是大脑芯片第一个原型的名称——最早将于 2020 年开始。 因此,Elon Musk 的项目很有可能成为该细分市场中的第一个独特项目。

仍有待确认这一信息,以及与马斯克团队对 Neurolink 项目的初步计划直接相关的信息——因为很有可能随着 2020 年的开始,公司的优先事项将发生变化,我们将看到的并不完全是我们现在所期望的。 另一方面,可以预见,该项目将不断发展和补充,从而越来越接近我们共同期待的技术未来。

其他有趣的新闻:

▪ 大卫的药膏

▪ 智能生活传感器

▪ 发现地球上放射性最强的地方

▪ WonderMedia Prizm WM8880 移动处理器

▪ 吃饱的女人变得更浪漫

科技、新电子资讯

 

免费技术图书馆的有趣材料:

▪ 网站 LED 部分。 文章精选

▪ 文章粗略地说,但说得温和。 流行表达

▪ 文章 在哪里以及花费多少钱可以克隆您最喜欢的狗? 详细解答

▪ 文章切割和填充接缝的机械师。 劳动保护标准说明

▪ 文章 供驾车者使用的电子电压调节器。 无线电电子电气工程百科全书

▪ 文章自动调光器。 无线电电子电气工程百科全书

留下您对本文的评论:

Имя:


电子邮件(可选):


点评:





本页所有语言

主页 | 图书馆 | 用品 | 网站地图 | 网站评论

www.diagram.com.ua

www.diagram.com.ua
2000-2024