摘要:本篇应用笔记介绍了基于微控制器DS80C390和DS80C400的TINI®平台的通用引导下载程序命令集。注意DS80C400的引导下载程序是烧录在ROM中,因此无法改变;而DS80C390的引导下载程序占用部分flash存储器空间,可以重新编程。本文介绍了DS80C400引导下载程序、DS80C390的TINI 1.12引导下载程序和DS80C390的05-15引导下载程序。这篇文档也适用于那些早期低版本的TINI引导下载程序。
05-15引导下载程序
05-15引导下载程序是根据下载程序提示信息的日期来命名的,如下所示:
TINI Loader 05-15-00 17:45
Copyright (C) 2000 Dallas Semiconductor. All rights reserved.
>
05-15下载程序只存在于包含1.0x TINI平台改进版本的DS80C390中(或者可能不包括TINI硬件的DS80C390)。
TINI 1.12引导下载程序
TINI 1.12引导下载程序作为TINI 1.12平台的一部分安装在DS80C390中。在每一个TINI 1.1x平台安装中这个引导下载程序必须重新安装。TINI 1.12引导安装程序的提示信息如下:
TINI Software - Copyright (C) 1999-2003 Maxim Integrated Products
Detailed product information available at http://www.maxim-ic.com
Welcome to the TINI Boot Loader 1.12.
>
当更新的TINI平台发布时,下载程序提示信息和版本号也会改变,以反映平台的更新(例如TINI 1.13引导下载程序)。不管怎样,本文档仍然适用于1.1x后续的引导下载程序。
DS80C400引导下载程序
DS80C400微控制器的引导下载程序占用部分的片内ROM,ROM中还包括通过C或汇编程序调用的其它功能。由于下载程序在ROM之中,因此无法改动它,除非发布新版本的微控制器。DS80C400下载程序的提示信息如下:
DS80C400 Silicon Software - Copyright (C) 2002 Maxim Integrated Products
Detailed product information available at http://www.maxim-ic.com
Welcome to the TINI DS80C400 Auto Boot Loader 1.0.1
>
命令
命令是按字母顺序列出的,并注明了哪些引导下载程序支持这条命令。
注意,所有的数字都是16进制的。同时,仅指明输入数字有意义的部分。例如,从地址5到9的CRC只需要输入C 5 9,而不是C 0005 0009。
Control-C - 重新显示下载程序提示信息(05-15, 1.12, DS80C400)
用法:^C
重新显示下载程序提示信息。
? - 显示帮助信息(05-15)
用法:?
显示下载程序的版本信息,列出当前的激活bank。同时还显示与H命令相同的帮助信息。注意,这条命令在1.12和DS80C400下载程序中产生不同的执行结果。
? - 显示帮助信息(1.12,DS80C400)
用法:?
显示下载程序的版权信息、版本信息和当前的激活bank。在1.12和DS80C400下载程序中,该命令和H命令相同。
B - 选择激活bank (05-15,1.12,DS80C400)
用法:B XX,其中XX为16进制数,表示要使用的激活bank。
选择Dump、Fill和CRC这类操作要使用的激活bank。所选择的分区号将作为这些操作的高8位地址。
C - 对激活bank存储器内容执行CRC运算(05-15,1.12,DS80C400)
用法:C [XXXX [YYYY]],其中XXXX是计算CRC的起始地址,YYYY (包含此地址)是计算CRC的结束地址。XXXX和YYYY是可选参数,如果未指定参数,则XXXX确定为0,YYYY为0FFFFh。因此,没有指定任何参数就意味着对整个激活bank (64k节)进行CRC计算。
从指定的起始地址到结束地址计算CRC16。CRC计算结果以16进制显示,并发送到串口。
D - 上传(dump)存储器激活bank中的内容(05-15,1.12,DS80C400)
用法:D [XXXX [YYYY]],其中XXXX是数据上传的起始地址,YYYY (包含此地址)是数据上传的结束地址。XXXX和YYYY是可选参数,如果未指定参数,则XXXX确定为0,YYYY为0FFFFh。因此,没有指定任何参数就意味着上传整个激活bank (64k节)的内容。
将指定的起始和结束地址的数据上传至串口。以Intel Hex格式上传存储器数据。有关该格式的具体讨论,请参考Intel HEX文件格式 (English only)。
E - 退出下载程序(05-15)
用法:E
将DS80C390置于24位连续地址模式,无条件跳转到地址10000h。这通常是TINI平台软件驻留和开始运行的地址。注意,这条命令在1.12和DS80C4000下载程序中产生不同的结果。
E - 退出下载程序(1.12,DS80C400)
用法:E
确保处理器处于24位连续地址模式,并寻找可执行段。可执行段都具有'T'、'I'、'N'、'I'四个字符和bank号,起始于某个分区的第二个地址。可以由下面的汇编代码实现:
org 400000h
start:
sjmp over tag
db 'T','I','N','I'
db 40h
over_tag:
;
; Continue executing application...
;
标记符中包括了bank号,以确保不会执行随意出现的复制代码或映射代码。下载程序搜索起始标识和bank号0C0h,沿着bank号一直向下搜索,直到找到一个可执行段。
F - 填充激活bank存储器(05-15,1.12,DS80C400)
用法:F ZZ [XXXX [YYYY]],其中ZZ是要写入地址XXXX到地址YYYY (含此地址)的数据。XXXX和YYYY是可选择的参数。如果不指定,XXXX被认为是0,YYYY被认为是0FFFFh。 因此,命令F 0表示整个激活bank (64k节)都填充为0。
从开始地址到结束地址的存储器填充为某个值。采用直接存储器写命令(MOVX)写数据,因此这条命令对flash存储器不起作用。
G - 执行激活段(05-15,1.12,DS80C400)
用法:G
无条件地跳转到当前选择(激活) bank的0地址,离开下载程序,并执行存储在那里的代码。
H - 显示帮助信息(05-15)
用法:H
以基本字符串格式显示帮助信息,在每一个05-15下载程序命令后都有简短的注释其功能。注意,在1.12和DS80C400下载程序中该命令产生不同的结果。
H - 显示帮助信息(1.12,DS80C400)
用法:H
显示下载程序的版权信息、版本信息和当前的激活分区。对于1.12和DS80C400下载程序,这条命令和?命令的操作相同。
L - 下载hex记录(05-15,1.12,DS80C400)
用法:L,结尾行,紧跟Intel Hex文件的内容
将hex文件内容装载到外部存贮器(flash或RAM)中。Control-C或Intel Hex的文件结尾标识将终止hex记录的装载。注意,未擦除的flash将导致编程的内容出错。如果flash编程不正确,这一功能不会没有出错指示。
所有三个下载程序都支持hex记录类型0 (数据记录)、1 (文件结束记录)和4 (扩展线性地址记录)。
M - 将下载程序的内容移动(拷贝)到激活bank (05-15)
用法:M
复制引导下载程序的内容到上一次B命令选择的激活bank。
N - Netboot (DS80C400)
用法:N
启动netboot功能。关于netboot的详细内容,请参见高速微控制器用户指南:网络微控制器补充资料(English only)。
Q - 跳转到引导下载程序的开始(05-15,1.12,DS80C400)
用法:Q
跳转到引导下载程序的起始位置,准备继续接收命令。
S - 设置双倍的波特率(05-15)
用法:S
将串口波特率设置为原来的两倍。
T1 - 二进制下载和验证(05-15,1.12,DS80C400)
用法:T1 X YYYY <CR>,[二进制数据],其中X = 0,表示是没有回显的二进制数据下载;= 1表示带回显的二进制数据下载;= 2表示没有回显的二进制数据验证;= 3表示带回显的二进制数据验证。YYYY是下载数据的起始偏移地址。
下载或验证输入数据流和当前bank中指定地址的二进制数据。如果目标地址的值与刚刚写入的值不匹配,则通过串口发送出错信息,处理器等待复位。数据下载和验证的执行一直到复位才会结束。在05-15和1.12引导下载程序中,除非采用T3命令关闭bank 0保护,否则数据不能装载到bank 0。
T3 - 关闭bank 0保护(05-15,1.12)
用法:T3
关闭bank 0保护,以便改写bank 0。
T6 - 从地址10000H开始执行(1.12)
用法:T6
将DS80C390置于24位连续地址模式,无条件地跳转倒地址10000h。通常这是TINI平台软件驻留和运行的起始地址。注意,这条命令和05-15引导下载程序中E命令相同。
T7 - 拷贝至bank 0 (1.12)
用法:T7 BB
复制bank BB的内容到bank 0 (64k有效数据)。只有当被复制的bank中第一条指令是sjmp或ljmp时才会进行此复制操作。
V - 验证hex记录(05-15,1.12,DS80C400)
用法:V,结束行,紧跟Intel Hex文件的内容
将Hex文件的内容与外部存储器(flash或者RAM)的内容进行对比校验。Control-C或者Intel Hex文件结束字符将终止hex记录验证。如果记录没有通过验证,出错信息将发送到串行口。
X - 从目标地址开始执行(05-15,1.12,DS80C400)
用法:X AAAA,其中AAAA是一个16位的16进制地址。
无条件地跳转到当前bank的指定地址。注意,如果没有指定地址,从当前bank的起始地址(地址0)执行。
Z - Zap Flash Bank (05-15,1.12)
用法:Z BB,其中BB是要擦除的flash bank号。如果BB == 0AAh,bank 1到7将被擦除。如果BB == 0AFh,bank 0到7被擦除。
擦除指定bank的64k flash单元。注意,如果指定的bank不存在或者不是flash,可能需要通过复位才能再次进入下载程序。这个指定的bank (除了特殊情况的0AAh和0AFh)必须小于010h,否则下载程序将不作任何操作。
Z - Zap Flash Bank (DS80C400)
用法:Z BB,其中BB是要擦除的flash bank号。
擦除指定bank的64k flash块。注意,如果指定的bank不存在或者不是flash,可能需要通过复位才能再次进入下载程序。对于DS80C400的zap操作来说,任何bank号都是有效的。
更多信息:
TINI是Maxim Integrated Products, Inc.的注册商标。
我们期待您的反馈! 喜欢?不喜欢?有待改善?或为我们提供建议?请与我们联系 — 我们将根据您的意见或建议改善我们的工作。
网页评价或提供建议
自动更新
需要自动接收最新发布的应用笔记吗?请订阅EE-Mail™ (English only)。
| 更多信息 | |
APP 3013: Apr 26, 2004
|
|
|
|
下载,PDF格式 (28kB)
AN3013,
AN 3013,
APP3013,
Appnote3013,
Appnote 3013
|
|