×

如何不使用昂贵的仿真器调试51单片机

消耗积分:1 | 格式:pdf | 大小:0.12 MB | 2019-04-10

敷衍作笑谈

分享资料个

  这两天闲着没事在整整51,发现一个比较爽的东西----ISD51(In System Debug),这是一个在线仿真的好东西,只需串口无需昂贵的仿真器就能使用Keil IDE的大部分仿真功能。经过一番摸索,终于把它搞定。先把资料整理整理.

  ISD51 (在线调试器)为8051编程用户提供了新的监控调试技术。将 ISD51 进行配置后与您的用户程序连接起来用户就可以通过8051的一个串口直接在芯片上调试程序了。

  ISD51的软件和硬件可以工作于最小模式。它可以运行于带有外部或内部程序空间的系统并且不要求增加像冯。诺伊曼架构的数据存储器等的特殊硬件部件。

  ISD51 可以工作在像 Philips LPC 系列之类的微型单片机上并且可以完全访问其 CODE 和 XDATA 地址空间。

  特 点

  用单步和复合软件断点控制程序执行。

  观察和改变CPU寄存器和存储器。

  有权使用 SFR。

  支持一些8051单片机可用寄存器的硬件断点 。

  当没有设置软件断点时,8051用户程序可以全速运行。 硬件断点不影响运行速度。

  ISD51是如何工作的?

  ISD51 在你的8051系统里增加了一个串口中断函数 (ISD51 中断) 。 当 ISD51 连接到 uVision调试器时, 8051 输入 ISD51 的中断函数。只要到程序运行一被停止, 8051 就只运行 ISD51 中断服务程序。当 uVision2 调试器发出一个“Go”的指令, 8051就脱离 ISD51 中断函数并且运行用户程序。

  如果没有设置任何断点或者如果所有断点设置为硬件断点, 8051 就会全速运行用户程序。如果设置了软件断点, 8051在相应 8051 CPU指令后面输入 ISD51 中断函数 。ISD51 中断服务程序会检查是否8051程序到了一个断点地址,如果是,开始和 uVision调试器通讯。所以, 当使用软件断点时,8051 的程序运行速度会变得相当慢(相差100倍左右)。

  一旦“ISD51 系统在线调试器”被作为中断函数实现,其它和 ISD51 系统的中断优先级一样,甚至比ISD51优先级更高的中断函数中就不能再设置断点或者单步执行了。默认状态下, ISD51 中断函数使用的中断优先等级为0级。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !