历史上的今天
今天是:2024年12月14日(星期六)
2021年12月14日 | ATmega88 片上调试系统
2021-12-14 来源:eefocus
特性
* 完全的程序流控制
* 仿真芯片上所有的模拟和数字功能,除了RESET引脚
* 实时操作
* 支持符号调试(C 与汇编级,或其它 HLL)
* 没有限制的程序断点数( 使用软件断点)
* 非插入式操作
* 与实际器件相同的电气特性
* 自动配置系统
* 高速操作
* 编程非易失性存储器
概述
debugWIRE片上调试系统使用单线双向接口来控制程序流,在CPU中执行AVR指令,对 不同的非易失性存储器进行编程。
物理接口
当ATmega88的debugWIRE使能熔丝位DWEN被编程且锁定位未编程时,目标器件中的debugWIRE 系统被激活。RESET 端口引脚配置为上拉使能的线与 ( 开漏 ) 双向 I/O,成为目标与仿真 器间的联系通路。

Figure114 给出 debugWIRE 使能的目标 MCU 及仿真连接器的示意图。系统时钟不受 debugWIRE 的影响,只由 CKSEL 熔丝位决定。
设计使用 debugWIRE 的系统时,必须进行下面的检查:
* dW/(RESET) 的上拉电阻不得小于 10k 。 debugWIRE 并不需要上拉电阻
* 将 RESET 引脚与 VCC 直接连接将无法工作
* 使用 debugWIRE 时必须断开与 RESET 引脚连接的电容
* 必须断开所有的外部复位源
软件断点
debugWIRE通过AVR断点指令来设置程序存储器断点。在AVR Studio 设置一个断点将 在程序存储器中插入 BREAK 指令。被 BREAK 指令所替代的指令将被保存。程序继续运行时,保存的指令得到执行,然后继续执行其他指令。断点也可以通过在程序中插入 BREAK指令进行手工设置。
每次断点改变后Flash必须要重新编程。这由AVRStudio 通过debugWIRE 接口自动处 理。断点的使用会降低 Flash 数据记忆时间。调试用的器件不能发给最终客户。
debugWIRE的局限
debugWIRE通讯引脚(dW)与外部复位(RESET)共用同一引脚。因此使能debugWIRE之后,系统不支持外部复位源。
当程序在 CPU 中全速运行时, debugWIRE 系统精确的仿真所有的 I/O 口功能;当CPU停止工作时,通过调试器访问某些 I/O 寄存器时要注意。详见 debugWIRE 文档。
DWEN 熔丝位的编程使部分时钟系统在所有的休眠模式下都保持运行。这会增加器件休眠模式的功耗。因此不使用 debugWire 时应该禁用 DWEN 熔丝位。
校准的ATmega88片内 RC 振荡器提供了固定的 8.0 MHz 的时钟 这是在 3V、25 C 下的标称数值。 器件出厂时CKDIV8熔丝位已经被编程,请参见 P31”系统时钟预分频器” 。按照Table11 对熔丝位 CKSEL 进行编程即可将其作为系统时钟。
I/O存储器中与debugWIRE相关的寄存器
下面说明在 debugWire 中用到的寄存器。

DWDR寄存器为在MCU中运行的程序与调试器提供了通信通路。该寄存器只能由debug-WIRE 访问且不能在通常操作中作为通用寄存器使用。
上一篇:ATmega168 简介
史海拾趣
|
自制一块2812的开发板,以前焊接的4块都可以用,目前这一块却无法写进程序,现象为: 1. 烧写时没有报错现象; 2. 但烧写进度条却没有任何提示,也就是停顿在原来位置; ...… 查看全部问答> |
|
医疗设备产业是关系到人类生命健康的新兴产业,近十余年来,在世界发达国家一直保持着很高的市场年增长率,因而被誉为朝阳产业。随着医疗水平的提高,越来越多先进的医疗设备广泛运用在了各种医疗场合。电源作为医疗设备的重要组成部分,它相对于其 ...… 查看全部问答> |
|
EVC的编译错误,主要是error LNK2019,高手请进,轻松拿分 ps2keybd.obj : error LNK2019: unresolved external symbol \"int __cdecl KernelIoControl(unsigned long,void *,unsigned long,void *,unsigned long,unsigned long *)\" (?KernelIoControl@@YAHKPAXK0KPAK@Z) referenced in function \"public: ...… 查看全部问答> |
|
WINCE里面,自己写的流接口驱动,怎么实现可以让应用程序向驱动里面注册一个回调函数?看到WINCE驱动里面有很多注册回调函数的驱动程序! WINCE里面,自己写的流接口驱动,怎么实现可以让应用程序向驱动里面注册一个回调函数?看到WINCE驱动里面有很多注册回调函数的驱动程序! 所以想实现这个机制,这样很方便的,也不用驱动给AP发消息了!!!… 查看全部问答> |
|
minicom启动后停在Uncompressing Linux......后不动了,为什么 虚拟机已经添加了串口设备,minicom的设置也已经设置好. 串口设置成/dev/ttyS0, BPS设置成:1152008N1. Hardware Flow Control:No. 启动minicom时出现以下这些字符,然后就停在那儿不动了,为什么? Uncompressing Linux.......................... ...… 查看全部问答> |
|
eVC or VC 如何调用tablet PC 手写输入?难 有一款华硕的平板PC, tabletPC 自带了一手写输入, 如何在程序中进行调用? 谢谢。。 手写输入有像其他文件那样的*.IME文件吗?谢谢!… 查看全部问答> |
|
用3.7V的锂电池供电,要得到2.5V,2.8V,3.3V的输出需要用电源芯片吗? 在做个mp3,想用3.7V的锂电池供电,要得到2.5V,2.8V,3.3V的输出需要用电源芯片吗?串联电阻或是二极管降压可以吗?… 查看全部问答> |
|
几个小方块(其实不是方的)反过来掉过去,可以组合很多形状。上面是STM32的产品简介,是个不错的宣传品。不知道香版那里有没有多余的,送我一个,在调程序累的时候,活活脑筋。… 查看全部问答> |




