实现MAXQ2000微控制器的JTAG加载主机
对于其他的MAXQ启动加载程序,MAXQ2000启动加载程序提供的命令被划分成从0到15的命令集。每一命令以命令字节开始,它包括命令集(前四个比特)以及命令专用数(后四个比特),如表5所示。作为一般规则,命令集0的命令本质上用于提供信息,所有器件均采用它;其他命令集可选。为确定某一MAXQ器件支持的命令集,请参考器件文档。命令集0的命令05h (获得支持的命令)返回一个位掩码,说明启动加载程序支持的其他命令集。
MAXQ2000支持以下的启动加载程序命令集。
- 命令集0—信息和状态。该集的命令可用于获得MAXQ器件的基本信息,包括ROM/启动加载程序的标识和版本,最近命令的结果(状态码),程序和数据存储器的容量等。该集还包括主机擦除命令,清除器件所有的程序和数据存储器。
- 命令集1—装入可变长度。该集中的这一命令可用于装入程序(闪存)或者数据(RAM)存储器。
- 命令集2—卸载可变长度。该集中的这一命令可用于读取程序或者数据存储器的内容。
- 命令集3—CRC可变长度。该集中的这一命令可用于获得对某一范围程序或者数据存储器计算得到的CRC-16值。
- 命令集4—验证可变长度。该集中的这一命令可用于验证某一范围的程序或者数据存储器是否和JTAG主机提供的数据匹配。
- 命令集5—装入和验证可变长度。该集中的这一命令在一个命令中结合了装入和验证命令的功能。
- 命令集6—擦除可变长度。对于MAXQ2000,该命令可用于把数据RAM中的某一区域清零。
- 命令集7—擦除固定长度。对于MAXQ2000,该命令可用于擦除闪存程序存储器中的每一页面,而不必利用主机擦除命令将所有闪存一次擦除。
表5. MAXQ加载程序命令集
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | Code | Family/Command |
0 | 0 | 0 | 0 | x | x | x | x | 0 x h | Family 0—Informational Commands |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 00h | No Operation |
0 | 0 | 0 | 1 | 01h | Exit Loader | ||||
0 | 0 | 1 | 0 | 02h | Master Erase | ||||
0 | 0 | 1 | 1 | 03h | Password Match | ||||
0 | 1 | 0 | 0 | 04h | Get Status | ||||
0 | 1 | 0 | 1 | 05h | Get Supported Commands | ||||
0 | 1 | 1 | 0 | 06h | Get Code Memory Size | ||||
0 | 1 | 1 | 1 | 07h | Get Data Memory Size | ||||
1 | 0 | 0 | 0 | 08h | Get Loader Version | ||||
1 | 0 | 0 | 1 | 09h | Get Utility ROM Version | ||||
1 | 0 | 1 | 0 | 0Ah | Set Word/Byte Access Mode | ||||
1 | 1 | 0 | 1 | 0Dh | Get ID Information | ||||
0 | 0 | 0 | 1 | x | x | x | x | 1 x h | Family 1—Variable-Length Load |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 10h | Load Code Variable Length |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 11h | Load Data Variable Length |
0 | 0 | 1 | 0 | x | x | x | x | 2 x h | Family 2—Variable-Length Dump |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 20h | Dump Code Variable Length |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 21h | Dump Data Variable Length |
0 | 0 | 1 | 1 | x | x | x | x | 3 x h | Family 3—Variable-Length CRC |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 30h | CRC Code Variable Length |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 31h | CRC Data Variable Length |
0 | 1 | 0 | 0 | x | x | x | x | 4 x h | Family 4—Variable-Length Verify |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 40h | Verify Code Variable Length |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 41h | Verify Data Variable Length |
0 | 1 | 0 | 1 | x | x | x | x | 5 x h | Family 5—Variable-Length Load and Verify |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 50h | Load/Verify Code Variable Length |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 51h | Load/Verify Data Variable Length |
0 | 1 | 1 | 0 | x | x | x | x | 6 x h | Family 6—Variable-Length Erase |
0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 60h | Erase Code Variable Length |
0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 61h | Erase Data Variable Length |
0 | 1 | 1 | 1 | x | x | x | x | 7 x h | Family 7—Reserved (for expansion) |
1 | 0 | 0 | 0 | x | x | x | x | 8 x h | Family 8—Reserved (for expansion) |
1 | 0 | 0 | 1 | x | x | x | x | 9 x h | Family 9—Fixed-Length Load |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 90h | Load Code Fixed Length |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 91h | Load Data Fixed Length |
1 | 0 | 1 | 0 | x | x | x | x | A x h | Family A —Fixed-Length Dump |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | A0h | Dump Code Fixed Length |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | A1h | Dump Data Fixed Length |
1 | 0 | 1 | 1 | x | x | x | x | B x h | Family B—Fixed-Length CRC |
1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | B0h | CRC Code Fixed Length |
1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | B1h | CRC Data Fixed Length |
1 |
相关推荐技术专区 |
评论