|
文件: | SAM-BAS
PROG用户手册.pdf | 大小: | 452KB |
下载: | 下载 |
|
ATMEL SAM-BA? and SAM-PROG 用户手册
译者:www.mcuzone.com
版本:Rev2.0
日期:2007-06
目 录
一,SAM-BA? and SAM-PROG 简介
二,SAM-BA? 工作流程
三,SAM-BA? 安装
四,SAM-BA? 烧写 AT91SAM7S 的具体操作
五,SAM-BA? 烧写 AT91SAM7X 系列的注意事项
六,SAM-BA? 烧写 AT91SAM9260/9261 的具体操作
一,SAM-BA? and SAM-PROG: Atmel's Flasher Tools
术语:
——SAM-BA GUI(SAM-BA 图形用户界面)和 SAM-PROG 为 PC 端应用
程序
——SAM-BA BOOT 为固化于微控制器端的应用程序
SAM-BA? Boot
ATMEL 的应用程序(SAM-BA GUI 和 SAM-PRO)均使用了嵌入在 ROM
中的 SAM-BA Boot 固件.SAM-BA Boot 固件对芯片进行如下初始化:
——启动 PLL 输出,为 USB 外设提供一个 48MHz 的工作频率,
——连接 USB 外设,
——连接 USART 外设,
——等待一个来自于 USB 或者 COM 的主机连接(PC).
SAM-BA 的主要特性如下:
——通过 RS232 或者 USB 接口提供 ISP 操作,
——可以通过基于 Windows 的 GUI 或者基于 DOS 的命令行进行操作,
——运行于 Win2000 和 WinXP,
——可以显示存储器和外设的内容,
——目标器件存储器(FLASH)操作:读,写,擦除,配置,校验等
——允许使用用户脚本
二,SAM - Boot Assistant (SAM-BA?)
——第一点:
本快速入门适用于以下器件:
——AT91SAM7S32 和 AT91SAM7S64 适用于 REV E 及以上版本(产品 ID:
58814E)
——AT91SAM7S321 适用于 REV A 及以上版本(产品 ID:58837A)
——
AT91SAM7S128 和 AT91SAM7S256 适用于 REV B 及以上版本(产品
ID:58818B)
——第二点:
——AT91SAM7S-EK(或者用户自己的基于 AT91SAM7S 的应用)必须遵
从包含两个步骤的"系统恢复程序(System Recovery Procedure)"启动时序.
此步骤将在后面介绍.
——第三点:
——Win2000 或 XP 操作系统
——SAM-BA GUI 应用程序
——USB 或 RS232 端口
信息:
以下表格指示了在上电或者手工复位后通过一些引脚配置进入 SAM-BA
BOOT(ISP)状态:
Pin Name Level Level
Default State
after reset
TST 1 1 Pull-down
PA0/PGMEN0 1 1 Pull-up
PA1/PGMEN1 1 1 Pull-up
PA2/PGMEN2 0 1 Pull-up
Boot up Application -> FFPI
SAM-BA
Boot
Other pin setting about TST, PA[0,1,2]/PGMEN|0,1,2] are reserved.
系统恢复程序(System Recovery Procedure)1,目标板下电,2,重新对目标板上电之前请确保 TST,PA0/PGMEN0,PA1/PGMEN1,PA2/PGMEN2 信号已经置位(参见上面的表格),由于 PA0/PGMEN0,PA1/PGMEN1,PA2/PGMEN2 内置上拉电阻,且复位后上拉电阻使能,而 TST复位后为下拉电阻使能,故只要将 TST 信号上拉即可,对于 AT91SAM7S-EK,短接 JP5 即可,译者注:步骤 2 假设 TST,PA0-2 均未接外部上拉或者下拉电阻,如果有接则请自行保证信号的电平符合上表,3,目标板上电,并请等待 10 秒钟,4,下电,将 TST 信号悬空,对于 AT91SAM7S-EK 拔掉 JP5 短路帽即可,5,上电,此时目标板上的 SAM-BA Boot 应用程序已经运行于 FLASH 并等待来自于 USB 或者 DBGU 的主连接(PC),注意:当 FLASH 安全位(SECURITY BIT)置位后,该系统恢复程序(SystemRecovery Procedure)将不能执行.译者注:此时需要通过将 ERASE 信号拉高以清除安全位.信息:系统恢复程序(System Recovery Procedure)执行了哪些操作?执行了如下操作:——强制 AT91SAM7S 从内部 ROM 启动(第一次上电,TST=1),
——解锁 FLASH 的头两个区,
——擦除 FLASH 的头两个区(8KB),
——复制 SAM-BA Boot 到 FLASH 空间的头 4.5KB 空间,
——锁定 FLASH 头两个区,
——启动 SAM-BA Boot(第二次上电,TST=0).
SAM-BA Boot 运行在目标板的内部 FLASH,并等待通过 USB 插座来自
SAM-PRO 应用程序的串行连接.
注意:对于 AT91SAM7S32,用户只能使用 DBGU(USART)方式来进行连接,
因为 7S32 没有集成 USB 片上外设.
三,在 PC 端安装 SAM-BA 应用软件
首先下载 SAM-BA 软件,然后按照如下步骤进行安装:
点击 NEXT 按钮
点击"Install"进行安装:
SAM-BA 将安装到 PC,包含以下内容:
——SAM-BA GUI 应用程序;
——USB 驱动(通过 USB 连接的时候需要用到).
点击"FINISH"完成安装
重新启动以使设置生效
四,连接目标板和 PC
打开软件:
选择器件:
选择连接方式(先介绍 USB 连接方式):
译者注:似乎 AT91SAM7S 系列芯片出厂后并没有将 SAM-BA Boot 固件复
制到 FLASH 存储器的头两个区,所以当第一次通过 USB 连接目标板和 PC 机的
时候 Windows 将提示"无法识别的硬件",这时候就需要按照"系统恢复程序
(System Recovery Procedure)"步骤来复制 SAM-BA Boot 固件到 FLASH 并运行.
SAM-BA GUI 已经启动,目标板和 PC 已经连接:
如何将"Mass storage/File Manager"示例烧入 FLASH?
首先下载"Mass storage/File Manager Application"并解压,该压缩包包含了
为 AT91SAM7S 系列的各个不同芯片准备的 mass storage software 的 BIN 文件.
在 SAM-BA 的主界面,点击"Browse"选择文件:
为不同的目标芯片选择不同的 BIN 文件,参见下表:
File Name Target
AT91SAM7S64demo_fs_ms_1_2.bin -> AT91SAM7S64
AT91SAM7S128demo_fs_ms_1_2.bin -> AT91SAM7S128
AT91SAM7S256demo_fs_ms_1_2.bin -> AT91SAM7S256
点击"Send File"按钮将选中的 BIN 文件烧写到 FLASH:
SAM-BA 将会询问用户是否解锁需要写入的区域(系统恢复程序加的锁),
选择"YES":
FLASH 写入后 SAM-BA 会询问是否对写入的区加锁,用户可以视个人需要
进行选择:
点击"File"菜单下的"Quit"退出程序
拔下 USB 电缆并重新插入 Windows 将提示发现新硬件,并自动安装好驱动
程序,然后可以通过 IE 浏览器看到一个"USB Mass Storage Device".
DBGU 方式连接
通过 DBGU 接口连接 PC 和目标板:
选择目标芯片和 COM 端口:
点击"DBGU"进行连接.
注意:如果用 DBGU 连接的话不能将 USB 线连接到 USB 口上,不然 SAM7S
将默认从 USB 口进行 ISP 操作!! 即,使用 DBGU 的时候不能连接 USB 口,
或者将 USB 口的 1.5K 上拉电阻取消(对于 ATMEL 的 EK 而言,USB 口由一个
IO 控制,可以不考虑这个问题,如果用户自己的目标板上没有用 IO 来控制 USB
口的 1.5K 上拉电阻的话就要注意这个问题!Mcuzone 推出的 S64-DEK 和
GMCUAB-DMA16 均没有用 IO 来控制 USB 口的 1.5K 上拉电阻!所以使用
S64-DEK 或 GMCUAB-DMA16 进行 DBGU 操作的时候请注意!).
SAM-BA 已经通过 DBGU 连接了 PC 和目标板:
DBGU 连接方式下烧写 BIN 文件的过程和 USB 连接方式完全相同.
五,SAM-BA? 烧写 AT91SAM7X 系列的注意事项
在 SAM-BA V1.8 版本,Script 命令有所增加:
当用 SAM-BA V1.8 编程 AT91SAM7X256 的时候,需要在"Send File"完成后
执行"Boot from Flash(GPNVM2)"命令(见上图),不然下载下去的程序将不
能正确执行,系统复位后会仍然从 ROM 启动;设置了"Boot from Flash(GPNVM2)"
命令后,一旦复位,就会从 FLASH 启动,运行用户程序.当需要重新用 SAM-BA V1.8
烧写的时候,只需要短接一下 ERASE,然后复位(有可能复位不起作用,此时请
插拔电源)进入 Boot 状态,和 AT91SAM7S 系列相比,AT91SAM7X 系列可以省却
10 秒的等待时间.
利用 SAM-BA 编程 AT91SAM7X256 的步骤(基于 ATMEL 的 AT91SAM7X-EK):
1,短接 ERASE(J8)跳线;
2,AT91SAM7X EK 上电;
3,断开电源,拔掉 ERASE(J8)跳线;
4,重新上电,板子将从片内 ROM 启动,SAM-BA Boot Recovery 已经启动.
如果需要 AT91SAM7X-EK,请直接和 www.mcuzone.com 联系.
六,SAM-BA? 烧写 AT91SAM9260 的具体操作
随着新器件的不断推出,SAM-BA 也不停更新,当前版本是 2.5,可以到
ATMEL的网站下载"Install AT91-ISP v1.9.exe",这个软件包里面包好了SAM-BA
2.5 和 SAM-PROG V2.3,还有一些别的资料.安装过程和低版本基本一致:
在安装新版的 AT91-ISP 的时候,程序会检查是否有旧版本存在,如果发现
旧版本,安装软件会先卸载旧版本,然后安装新版本.安装完成建议重启一下电
脑.
AT91SAM9260 可以通过 USB Device 或者 DBGU 进行连接,下面分别进行
介绍.
安装好 AT91-ISP 后,插上 AT91SAM9260 的 USB Device,这个时候系统会
提示发现新硬件:
选择自动安装即可.
安装完成后,打开 SAM-BA,SAM-BA 会去查找它说认识的设备,如下图:
可以看到,SAM-BA 不仅找到了通过 USB 口连接的 AT91SAM9260,还找
到了 J-LINK,如果 J-LINK 连接到了 AT91SAM9260,点击 connect 按钮,将出
现相应的对话框:
如果 JLINK 没有连接目标板,点击 connect 后会提示:
注意:如果没有手段断开 AT45DBXXX 的片选,而实际又烧了启动代码进
去,现在又想重新烧写 AT45DBXXX,这个时候可以用 JLINK 来连接,然后擦
除 AT45DBXXX.
一般,我们选择 USB\ARM0 进行连接:
点 connect 后出现下图:
在这个界面,我们可以完成非常多的任务.
可以初始化 AT45DB/DCB 芯片,可以全片擦除 AT45DB/DCB 芯片,下载
文件到 AT45DB/DCB;还可以读取,下载到 SRAM,SRAM2,SDRAM;另外,
9260/9261 都包含了对 NAND FLASH 的支持,可以直接烧写 NAND FLASH,
注意:
用 SAM-BA 来擦除和烧写 AT45DB 器件的时候,需要耐心等待一段较长的
时间,以 AT45DB642 为例,擦除过程大概需要 1 分 30 秒,在此期间,SAM-BA
和死机没有两样,请勿结束 SAM-BA 进程;擦除 K9F1208,大概需要 30 秒左右
的时间.烧写的时候,如果文件较大,也会占用较长的时间,请一定耐心等待.
另外,在进行擦除操作之前,请先进行初始化操作.具体操作是通过"Scripts"
下拉菜单选择初始化,然后点"Execute".
注意:
把 AT91SAM9260 插上 USB 之前,请确认几个跳线的位置:
1,BMS 跳线:请悬空,即上拉到 VCC,这样子才从片内 ROM 启动;
2,OSCSEL 跳线:下拉到地,即使用片内 32K 时钟;
附录 版本说明
Rev2.0:
2007-06 修订,加入 SAM-BA2.5 的新特性,并列举 9260/9261 的操作步骤.
Rev1.2:
2006-05 修订,加入用 SAM-BA V1.8 编程 AT91SAM7X256 的注意事项.
Rev1.1:
2006-01 修订,加入 DBGU 连接部分的注意事项!重要!
Rev1.0:
2005-08 完成,原始版本,翻译自 ATMEL 官方 PDF.
请多多访问 www.mcuzone.com,以获取最近更新!