|
一.原理
AT91SAM7S64内部“隐藏”着一段程序叫SAM-BA BOOT,
它是在出厂时被固化的,不会被擦除,也不会被重写。由于ATMEL没有说明
这段程序在哪里所以叫“隐藏”,哈哈
在特定的条件下它会被复制到内部FLASH首部,这个复制的过程叫恢复系统程序(System
Recovery Procedure)
系统程序恢复后下一次上电或手动复位时SAM-BA BOOT 就会得到运行,
它使用片上集成的USB或DBGU(其实就是UART)与上位机通信
实现自编程。
二.恢复系统程序
1.TST PA0
PA1 PA1 四个引脚保持高的状态下复位并等待10秒,要注意的是复位时TST引脚内部下拉,为此要通过外部电路将此引脚拉高
在设计电路时这个引脚上通常外接一个跳线(请参考AT91SAM7S-EK板),PA0,PA1,PA2复位时内部上拉,为些这三个引脚可以悬空,外部电
路要保证不会在复位时将此三个引脚拉低。
2.再次复位系统,系统就会运行SAM-BA BOOT,即你的上位机SAM-BA才会与之成功连接。
三.ERASE引脚
要注意的是恢复系统程序的过程是在ERASE引脚悬空或拉低的情况下进行的,ERASE引脚内部有一下拉电阻为此可以悬空,在任意时刻上
电状态下外部拉高ERASE引脚会擦除片内FLASH和NVM位,并且会在很短的时间内完成。
当你使用SAM-BA对器件编程后执行了Enable Security
Bit脚本,即编程了FLASH安全位,那么下一次恢复系统程序前必须拉高引脚ERASE
擦除这个安全位,不然恢复系统程序不会成功。
四.SAM-BA软件使用简介
1.连接
USB连接需要一个USB驱动程序,但这已经在安装SAM-BA时已经安装到了系统,但第一次USB连接时还是会提示安装驱动,这时只需
要系统自动查找并安装即可,如果你运行SAM-BA
2.5时看到如下图的界面说明你已经做好了所有准备工作,如果年不到原因可能
有以下几点:
(1)恢复系统程序未成功
(2)硬件连接存在问题
(3)USB驱动程序未被指定
2.使用SAM-BA

(1) AT91SAM7xxx
Memory Display
这是查看器件内FLASH或RAM内容的区域,指定开始地址(Start Address)查看区域的大小(Size in
byte)后按Refresh即可从下
边列表中看到器件内部数据
(2) Download/Uploade File
这是我们主要使用栏,在Send File
Name中选择要写入的程序文件,要注意的是这是个二进制格式,而不是HEX或其它格式,写入前
还要注意的是写入的开始地址,即要正确填写Address输入框,由于内部Flash从0x100000地址处开始的,所以应真此值。
Size输入框与从器件读取数据到文件相关,写入时可不用理会。
(3)Scripts
通过这个栏可以设置一些器件的NVM位。
芯艺设计室(http://www.chipart.cn) 2007.8.1
转载请注明出处!
|