AVR069 : AVRISP mkII使用的通信协议
特点
通用命令
ISP命令
返回值
参数
8-bit
微控制器
应用说明
1引言
本文档介绍了AVRISP mkII使用的协议。该固件发布
于AVR Studio 4.12或更高版本。从爱特梅尔网站下载最新的AVR Studio的
现场,
http://www.atmel.com/products/AVR/ 。
所有的命令,响应,参数和其他定义的值的定义
可以在6.1章节中找到。
所有设备的具体数值可以在XML部分说明文件中找到。看
第4章如何找到AVRISP mkII使用的参数值。
图1-1 。
AVRISP mkII使用
牧师8015B -AVR- 2月6日
2个USB通信
了AVRISP mkII使用与PC之间的通信通过其USB做
界面。 USB接口采用了两个批量端点;一进一出。该
USB描述符可以在6.2章节中找到。
2.1报文格式
PC机发送命令到AVRISP mkII的,这是为了响应一个答案。每
命令将生成一个答案。
命令和应答可以是大于最大数据包大小为大
批量端点,所以命令或答案可以分成几个IN / OUT数据包。一
短包
表示命令或答复的末端。
该命令及其各自的答案,在第三章中描述。
2.2 USB驱动程序
为了与AVRISP mkII的沟通,驱动程序必须在主机上安装
计算机。驱动程序可以重新编写或使用驱动程序开发工具包。
AVR Studio 4的束从Jungo公司( www.jungo.com )授权的USB驱动程序。通过
获得从Jungo公司的许可,第三方软件可以访问相同的驱动程序
AVR Studio中。然后,用户可以同时使用了AVR Studio和其他工具,而不
变化的驱动程序。
注:固件升级AVRISP mkII的只能用专用的升级上传
软件捆绑了AVR Studio中。这就要求与AVR Studio中提供的驱动程序是
安装。
3命令
本节介绍可以输入到AVRISP mkII的所有命令,并且所有
的可能响应,每个命令可以给回主机。
对于所有的命令,在AVRISP mkII使用会返回一个答案与答复的ID是
等于命令ID 。在一个命令的第一字节总是命令ID,该
在回答第一个字节总是答案ID 。
3.1一般命令
3.1.1 CMD_SIGN_ON
该命令返回一个唯一的签名字符串AVRISP mkII使用本
执行协议。
表3-1 。
命令格式
场
命令ID
SIZE
1个字节
价值
CMD_SIGN_ON
描述
命令ID
2
AVR069
8015B-AVR-02/06
AVR069
表3-2 。
答案格式
场
解答ID
状态
签名长度
SIZE
1个字节
1个字节
1个字节
10个字节
价值
CMD_SIGN_ON
STATUS_CMD_OK
10
“AVRISP_MK2”
描述
解答ID
该命令将一直
返回STATUS_CMD_OK
签名字符串的长度
签名字符串(不为null
终止)
3.1.2 CMD_SET_PARAMETER
主机可设置多种在AVRISP mkII使用的参数。请参阅3.4 :
参数的每个参数的描述。所有参数是1字节的值。
表3-3 。
命令格式
场
命令ID
参数ID
价值
SIZE
1个字节
1个字节
1个字节
价值
CMD_SET_PARAMETER
描述
命令ID
表3-4 。
答案格式
场
解答ID
状态
SIZE
1个字节
1个字节
价值
CMD_SET_PARAMETER
STATUS_CMD_OK或
STATUS_CMD_FAILED
描述
解答ID
一个状态值,指示
该操作的结果
3.1.3 CMD_GET_PARAMETER
主机还可以读取从AVRISP mkII使用不同的参数。
表3-5 。
命令格式
场
命令ID
参数ID
SIZE
1个字节
1个字节
价值
CMD_GET_PARAMETER
描述
命令ID
它的参数来获得
表3-6 。
答案格式,如果命令执行成功
场
解答ID
状态
签名长度
SIZE
1个字节
1个字节
1个字节
价值
CMD_GET_PARAMETER
STATUS_CMD_OK
描述
解答ID
一个状态值,指示
成功
参数值
表3-7 。
如果失败,答案格式
场
解答ID
SIZE
1个字节
价值
CMD_GET_PARAMETER
描述
解答ID
3
8015B-AVR-02/06
场
状态
SIZE
1个字节
价值
STATUS_CMD_FAILED
描述
一个状态值,表示
操作失败。
对于操作失败的唯一原因就是非法的参数要求。
3.1.4 CMD_OSCCAL
在应用笔记描述了这个命令执行标定程序
AVR053.
表3-8 。
命令格式
场
命令ID
SIZE
1个字节
价值
CMD_OSCCAL
描述
命令ID
表3-9 。
答案格式
场
解答ID
状态
SIZE
1个字节
1个字节
价值
CMD_OSCCAL
STATUS_CMD_OK或
STATUS_CMD_FAILED
描述
解答ID
一个状态值,指示
该操作的结果
3.1.5 CMD_LOAD_ADDRESS
该命令将加载一个地址到AVRISP mkII使用。接下来的程序闪存,
读取闪存, EEPROM编程或读EEPROM命令将从操作
地址设置使用此命令。该命令适用于所有的编程模式。所有
上述命令将增加一个内部地址计数器,所以这
唯一的命令需要发送一次。
表3-10 。
命令格式
场
命令ID
地址
SIZE
1个字节
4个字节
价值
CMD_LOAD_ADDRESS
描述
命令ID
的地址, 4个字节,高位
第一次
对于字寻址存储器(程序存储器) , Address参数是单词
地址。
如果位31被置位,则表示以下的读/写操作将被执行
在存储器上,它比64K字节大。这是一个指示,以AVRISP mkII使用的那一个
负载扩展地址
必须执行。请查阅技术资料与回忆设备
超过64K字节大。
表3-11 。
答案格式。
场
解答ID
状态
SIZE
1个字节
1个字节
价值
CMD_LOAD_ADDRESS
STATUS_CMD_OK
描述
解答ID
该命令将一直
返回STATUS_CMD_OK
4
AVR069
8015B-AVR-02/06
AVR069
3.1.6 CMD_FIRMWARE_UPGRADE
当主机试图连接到编程器,它检查固件版本。
如果有新版本可用在PC上的固件升级开始。
该AVRISP mkII的可以“重启”进入升级模式使用此命令。
表3-12 。
命令格式
场
命令ID
参数ID
SIZE
1个字节
9个字节
价值
CMD_FIRMWARE_UPGRADE
“ fwupgrade ”
描述
命令ID
字符串,以便升级
模式( NOT NULL结束)
表3-13 。
答案格式
场
解答ID
状态
SIZE
1个字节
1个字节
价值
CMD_FIRMWARE_UPGRADE
STATUS_CMD_OK或
STATUS_CMD_FAILED
描述
解答ID
一个状态值,指示
该操作的结果
如果返回的状态是STATUS_CMD_OK ,在AVRISP mkII使用将断开与
进入升级模式。
3.1.7 CMD_RESET_PROTECTION
这个命令重置短路保护系统后短路状态有
由PARAM_STATUS_TGT_CONN被退回。
表3-14 。
命令格式
场
命令ID
SIZE
1个字节
价值
CMD_RESET_PROTECTION
描述
命令ID
表3-15 。
答案格式
场
解答ID
状态
SIZE
1个字节
1个字节
价值
CMD_RESET_PROTECTION
STATUS_CMD_OK
描述
解答ID
该命令将一直
返回STATUS_CMD_OK
3.2 ISP编程命令
这些命令处理FLASH , EEPROM ,熔丝字节,锁定位,签名,
振荡器校准编程ISP模式。
3.2.1 CMD_ENTER_PROGMODE_ISP
这个命令将在目标设备进入编程模式。
XML路径:
/AVRPART/ICE_SETTINGS/STK500_2/IspEnterProgMode/
表3-16 。
命令格式
场
SIZE
价值
描述
5
8015B-AVR-02/06