MAXQ7665评估板快速入门
有一个简单的方法来确定MAXQ7665的状态:“Get”所有的内部寄存器。Get命令向调试引擎发送几个基本命令,使MAXQ7665发送其所有的内部寄存器。MTK目录中快速启动CD的protocol.txt文件中含有该命令。使用下面的命令来获得所有的寄存器。请确定使用了大写键(CAP),因为MTK区分大小写。圆括号中的是注释。
>I (初始化调试引擎,按下回车键。)
>D (输入调试背景模式, 按下回车键。)
>E (输入调试模式,按下回车键。)
>G (获得所有寄存器,按下回车键。)
如果MAXQ7665工作正常,它应该以图6中所示的寄存器映射进行响应。注意,寄存器开始是Module 0 Register 0,然后是Module 0 Register 1,依此类推。还需要注意,可以在一行上组合多条命令。例如,>IDEG会产生同样的结果。
图6. 如果MAXQ7665配置正确,寄存器映射应该以Module 0,Register 0开始。
从上面的寄存器映射中,Module 0和Index 0 M[00,00]的第一个寄存器是Port 0 Output Register (PO0)。该寄存器的上电复位值(POR)是0x3F,这是正确的。后面的两个寄存器是Port 1 M[01,00] 和Port 2 M[02,00]输出寄存器,其POR值是0xFF,也是正确的。
如果没有得到图6所示的寄存器映射,而是得到了图7所示的寄存器映射,那么按下并释放SW10,复位MAXQ7665。一旦进行这一操作后,重复IDEG命令,应该得到图6所示的寄存器映射。注意,图7所示的寄存器映射也是调试引擎可以接受的状态。
图7. 另一种Get寄存器映射
如果成功完成了前面的步骤,那么PC至微控制器JTAG至MAXQ7665调试引擎的通信链路工作正常。您应该能够关闭MTK的通信端口,关闭MTK应用程序。IAR Embedded Workbench可以下载代码,调试MAXQ7665评估板的应用程序代码。调试引擎状态
调试引擎还返回其状态以及上面的数据。例如,第一个寄存器M[00,00]是003F:03。左面四个字符是寄存器的十六进制数值。不管寄存器长度如何,返回的数据总是16位宽。在这个例子中,有一个冒号和03。03是主机和调试引擎之间的握手信号。在这个例子中,03表示调试有效。下表列出了可能的状态。
Status Condition 00 Default Condition. Background mode or debug engine inactive (MAXQ7665 in reset) 01 Debug Idle. Ready to receive data from the host (ready for download and debug) 02 Debug Busy. Debug engine is busy without valid data (Password Lock State) 03 Debug Valid. Debug engine is busy with valid data (ready for download and debug) 问题排查
如果上面的操作不起作用,或者得到的结果与这里显示的不同,那么需要进行以下操作。
没有提示符
如果不能从MAXQ7665评估板得到提示符,从评估板断开RS-232电缆,拔下直流电源插头。然后,重新连接RS-232电缆和直流电源插头。如果需要,重复这一过程。同时还要确定Options菜单中的串口选择是您正在使用的端口。如果需要了解可用的串口,运行下面的应用程序。打开控制面板System application,选择Hardware标签。选择Device Manager和Ports (COM和LPT),查看可用的串口。
无效数据–调试忙
有时IDEG返回的数据和下面的数据相似,例如调试引擎状态数据含有:02。这一数值通常表明锁定了MAXQ7665的密码,防止擦除闪存,防止IAR Embedded Workbench和MAXQ7665之间的任何通信。请参考图8。
图8. IDEG屏幕的:02表明MAXQ7665密码锁定。擦除MAXQ7665闪存
可以利用MTK接口来擦除MAXQ7665闪存。图9详细介绍了擦除所需要的步骤。
图9. 屏幕显示擦除MAXQ7665闪存的步骤。>I (Type I. Initialize the debug engine and press Enter.) $ (Debug engine replies.) >L (Type L. Enter the bootstrap loader and press Enter.) r R r (Loader replies.) >00 (Type 00. Press Enter.) 0000:00 (Loader replies.) >02 (Type 02. Erase the flash and press Enter.) 0000:02 (Debug engine replies still busy if unsuccessful.) 003E:03 (Debug engine replies debug valid. Flash is erased.)
如果在擦除闪存时,上面的步骤没有成功,则重复整个过程。去掉直流电源,按下复位开关,输入上面的命令。如果擦除成功,利用上面说明的IDEG命令,您应该能成功“Get”所有的寄存器。IAR Embedded Workbench应能够下载应用程序代码。支持
应用工程师为您提供MAXQ7665评估板支持。关于电子邮件支持,请联系Maxim支持中心。联络北美地区的Maxim办事机构,请拨打免费电话:(800) 998-9872 (English only)。
- Lattice ECP3 FPGA评估板解决方案(04-10)
- 12位串行A/D转换器MAX187的应用(10-06)
- AGC中频放大器设计(下)(10-07)
- 低功耗、3V工作电压、精度0.05% 的A/D变换器(10-09)
- PIC16C5X单片机睡眠状态的键唤醒方法(11-16)
- 用简化方法对高可用性系统中的电源进行数字化管理(10-02)