香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
1
AVR32 UC3 ISP 下载
香港百特(集团)电子有限公司
2008 年 4 月
香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
2
AVR32 UC3 系列控制器在出厂时在内部 Flash 里已经固化了一个 USB
DFU bootloader,可以通过 AVR32 UC3 系列控制器的 USB 接口,利用内部固
化的 USB bootloader 进行 ISP(In-System Programming)下载。
一、 Bootloader 环境
USB DFU Bootloader 在芯片内部 Flash 的起始位置部分,其占用的空间受到
Flash 控制器的保护。Bootloader 占用大小可以最大可以达到 64 KB,Bootloader
受保护空间的大小至少应该是 bootloader 占用 Flash 空间的大小。对于 AT32UC3x
系列,一般设置为 8 KB。图 2 是 AT32UC3A0512 控制器 Flash 空间映射图,其
内部 Flash 已经固化了 USB DFU Bootloader。
图 1 Bootloader 的环境平台
图 2 AT32UC3A0512 控制器 Flash 空间映射图
香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
3
二、Bootloader 的配置
USB DFU Bootloader 的配置包括对 General-Purpose Fuses 和 Flash User Page
的设置。AT32UC3有一个 32位General-Purpose Fuse寄存器,General-Purpose Fuse
寄存器各位的含义及 Flash User Page 的配置可以参考 AT32UC3 的 datasheet 及
AVR32 UC3 USB DFU Bootloader 文档,可以到 ATMEL 官方网站去下载。
z AT32UC3 sriealdatasheet:
http://www.atmel.com/dyn/products/datasheets.asp?family_id=682
z AVR32 UC3 USB DFU Bootloader 文档
http://www.atmel.com/dyn/products/app_notes.asp?family_id=682
对于 AT32UC3A 和 AT32UC3B 系列,General-Purpose Fuse 寄存器一般设置
为 FC07FFFF。
三、ISP 实现
1. 硬件平台
AT32UC3A-EK 板
2. 相关软件
AVR32 Studio 2.0
avr32-gnu-toolchain
FLIP-3.3.1
AVR32 UC3 Software Framework
软件可以到 ATMEL 官方网站去下载,网址:
http://www.atmel.com/dyn/products/tools.asp?family_id=682
3. ISP 实现
下面将以 AT32UC3A-EK 板为基础,讲述如何利用 USB 接口事项 ISP 的下载。
3.1 驱动的安装
将 AT32UC3A-EK 板通过 usb 线连接到 PC 机,电源选择开关拨到 VBUS,
先按下 EXINT 键不放开,在按下 RESET,2 秒后放开,在松开 EXINT 键,会出
现下面图 3 的对话框,
安装 USB 驱动。
香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
4
选择“从列表或指定位置安装(高级)”,点击下一步,会出现图 4 所示的对
话框,选择 USB 驱动所在文件位置,单击下一步,安装驱动。
过程中会出现如图 5 所示对话框,点击“仍要继续”,接着会出现如图 6 所示
对话框,单击“完成”,驱动安装完毕。
图 3 图 4
图 5
图 6
香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
5
3.2 在 Cygwin 或 windows 命令行环境下进行 ISP 下载
打开 Cygwin 或 windows 命令行环境,将要下载的文件所在的目录设置为当
前目录,然后输入下面命令操作:
$ batchisp -device at32uc3a0512 -hardware usb -operation erase f memory flash
blankcheck loadbuffer led_example.elf program verify start reset 0
在命令行窗口中会显示相关的下载的过程及相关信息,如图所示 7 所示。
图 7 在 Cygwin 环境下 ISP 下载的相关信息
香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
6
3.3 在 AVR32 studio 集成开发环境中进行 ISP 下载
运行 AVR32 studio2.0,新建一个 Workspace,如图 8 所示。
点击“OK”,进入到 AVR32 studio2.0 的集成开发环境,在 AVR32 Target 窗
口中点击“Creates a new target”,在窗口中会出现一个“New Target”条目,如图 9
所示。
选中“New Target”条目,单击“Show View as a fast view”,出现如图 10 所示对
话框。
图 8 运行 AVR32 Studio2.0 建立一个新的 Workspace
图 9 建立一个 New Target
香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
7
图 10
单击“Properties”,会出现如图 11 所示对话框。在 Target 选项对话框 Name
项中输入 BatchISP EVK1100。
图 11
香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
8
在 Adapter 选项对话框 Adapter 项中选择 EVK1100,Connection 项中选择
usb,如图 12 所示。
图 12
在 Board 选项对话框中,Board 项中选择“EVK1100”,MCU 项中选择
“UC3A0512ES”,MCU Clock Source 项中选择“Crystal connection to OSC0”如图
13 所示。
图 13
对“Properties”设置完毕以后,AVR32 Target 窗口中会出现如图 14 所示信
息。
香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
9
图 14
选中 AVR32 Target 窗口中的目标条目,单击右键会出现如图 15 所示对话
框,可以对目标芯片进行编程、读取、校验及擦除等操作。
图 15
选择 Program,会出现如图 16 所示的对话框,选择需要下载的目标文件,
其他的设置见图中所示,然后单击“OK”,便将程序文件下载目标芯片中了。
图 16
香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
10
下载过程中,在 Console 对话框中会出现如图 17 所示的对话框,显示下载
的过程及相关信息。
图 17 ISP 下载的过程及信息
香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
11
四、 ISP 下载其他问题
1. 如何再次启动 ISP 下载?
按照前面的方式完成应用程序下载后,目标板复位后应用程序开始运行,下
次复位或上电,目标板都会直接运行应用程序,如果需要再次通过 USB 接口进
行 ISP 下载,必须启动 Bootloader,进入到 ISP 下载的状态。具体方法是:
先按下 EXINT 键不放开,在按下 RESET 键,2 秒后松开,接着松开 EXINT
键(对应的 I/O 的引脚是 PA20)。
打开电脑的硬件设备管理器中,正常启动 Bootloader 进入 ISP 下载模式后会
出现如图 18 的连接状态,然后就可以按照前面介绍的方式下载应用程序。
图 18
香港百特(集团)电子有限公司上海技术中心
Hong Kong Baite(Group) Electrionic Co.,Ltd.Shanghai Technology Center
Tel: 021-54071301,021-54071302,021-54071303
香港百特(集团)电子有限公司
www.baite-group.com
12
2. 如果芯片内部的 Bootloader 被擦除了,如何将 Bootloader 下载到芯片内部
的 Flash 中?
芯片内部固化的 Bootloader 受到 Flash 控制器的保护,在 ISP 下载模式下,
进行程序的 Erase 操作不会将 Bootloader 擦除掉。由于芯片也可以通过 JTAG 接
口进行程序的下载,利用 JTAG Mk-II 下载程序时执行芯片擦除操作,会将内部
Flash 所有内容都擦除,因此用于引导 ISP 下载的 Bootloader 也被擦除,如果需
要用 ISP 下载程序,必须重新烧写 Bootloader 到内部的 Flash 中。
下载 UC3 Software Framework,在 SERVICES/USB/CLASS/DFU/EXAM-
PLES/ISP/AT32UC3x/Releases/文件夹下存放着 ISP下载的最新Bootloader版本。
首先,将 JTAG Mk-II 仿真器通过 JTAG 接口连接到 AVR32UC3A-EK 板上,
开发板上电并开启仿真器。
然 后 , 打 开 Cygwin 环 境 或 windows 命 令 行 环 境 , 并 转 移 到
SERVICES/USB/CLASS/DFU/EXAM-PLES/ISP/AT32UC3x/Releases/AT32UC3
AES-ISP-1.0.0 目录,输入:
$ ./ program_at32uc3aes-isp-1.0.0.sh
运行后,会出现如图 19 所示下载过程信息,下载完成后,Bootloader 便下
载到芯片内部的从 0x80000000 开始 8KB 空间的 Flash 中。
接着就可以按照前面介绍的方式引导内部的 Bootloader 实现通过 USB 接口
实现 ISP 下载。
图 19 Bootloader 下载的下载过程