新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 实现MAXQ2000微控制器的JTAG加载主机

实现MAXQ2000微控制器的JTAG加载主机

作者: 时间:2012-03-19 来源:网络 收藏
的启动加载程序命令子集。关于这方面的详细信息,请参考您正在使用的MAXQ用户指南附录(English only)。对于这一情况,可以参考用户指南附录(English only)中"在系统编程"一节的启动加载程序命令。

对于其他的MAXQ启动加载程序,启动加载程序提供的命令被划分成从0到15的命令集。每一命令以命令字节开始,它包括命令集(前四个比特)以及命令专用数(后四个比特),如表5所示。作为一般规则,命令集0的命令本质上用于提供信息,所有器件均采用它;其他命令集可选。为确定某一MAXQ器件支持的命令集,请参考器件文档。命令集0的命令05h (获得支持的命令)返回一个位掩码,说明启动加载程序支持的其他命令集。

支持以下的启动加载程序命令集。
  • 命令集0—信息和状态。该集的命令可用于获得MAXQ器件的基本信息,包括ROM/启动加载程序的标识和版本,最近命令的结果(状态码),程序和数据存储器的容量等。该集还包括主机擦除命令,清除器件所有的程序和数据存储器。
  • 命令集1—装入可变长度。该集中的这一命令可用于装入程序(闪存)或者数据(RAM)存储器。
  • 命令集2—卸载可变长度。该集中的这一命令可用于读取程序或者数据存储器的内容。
  • 命令集3—CRC可变长度。该集中的这一命令可用于获得对某一范围程序或者数据存储器计算得到的CRC-16值。
  • 命令集4—验证可变长度。该集中的这一命令可用于验证某一范围的程序或者数据存储器是否和主机提供的数据匹配。
  • 命令集5—装入和验证可变长度。该集中的这一命令在一个命令中结合了装入和验证命令的功能。
  • 命令集6—擦除可变长度。对于MAXQ2000,该命令可用于把数据RAM中的某一区域清零。
  • 命令集7—擦除固定长度。对于MAXQ2000,该命令可用于擦除闪存程序存储器中的每一页面,而不必利用主机擦除命令将所有闪存一次擦除。
一旦MAXQ的TAP控制器被用于使进入加载模式(对于所有MAXQ微控制器,这一过程是相同的),第一步是确定加载程序能否响应。最快的方法是重复发送启动加载程序命令代码00h (无操作)。每一启动加载程序命令完成后,启动加载程序以提示符('>'或者3Eh)字节响应。如果发送00h导致收到3Eh,则表明启动加载程序正在运行,准备接收命令。

表5. MAXQ加载程序命令集
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0CodeFamily/Command
0000xxxx0 x hFamily 0—Informational Commands
0000000000hNo Operation
000101hExit Loader
001002hMaster Erase
001103hPassword Match
010004hGet Status
010105hGet Supported Commands
011006hGet Code Memory Size
011107hGet Data Memory Size
100008hGet Loader Version
100109hGet Utility ROM Version
10100AhSet Word/Byte Access Mode
11010DhGet ID Information
0001xxxx1 x hFamily 1—Variable-Length Load
0001000010hLoad Code Variable Length
0001000111hLoad Data Variable Length
0010xxxx2 x hFamily 2—Variable-Length Dump
0010000020hDump Code Variable Length
0010000121hDump Data Variable Length
0011xxxx3 x hFamily 3—Variable-Length CRC
0011000030hCRC Code Variable Length
0011000131hCRC Data Variable Length
0100xxxx4 x hFamily 4—Variable-Length Verify
0100000040hVerify Code Variable Length
0100000141hVerify Data Variable Length
0101xxxx5 x hFamily 5—Variable-Length Load and Verify
0101000050hLoad/Verify Code Variable Length
0101000151hLoad/Verify Data Variable Length
0110xxxx6 x hFamily 6—Variable-Length Erase
0110000060hErase Code Variable Length
0110000161hErase Data Variable Length
0111xxxx7 x hFamily 7—Reserved (for expansion)
1000xxxx8 x hFamily 8—Reserved (for expansion)
1001xxxx9 x hFamily 9—Fixed-Length Load
1001000090hLoad Code Fixed Length
1001000191hLoad Data Fixed Length
1010xxxxA x hFamily A —Fixed-Length Dump
10100000A0hDump Code Fixed Length
10100001A1hDump Data Fixed Length
1011xxxxB x hFamily B—Fixed-Length CRC
10110000B0hCRC Code Fixed Length
10110001B1hCRC Data Fixed Length
1

关键词: MAXQ2000 微控制器 JTAG

评论


相关推荐

技术专区