【应用笔记】AN1086_APM32F4xx_ISP应用笔记

1    引言

本应用笔记提供如何在APM32F4xx系列上使用图形界面程序Geehy-ISP MultiPort Programmer和Geehy-DFU Programmer对固件进行ISP 在线升级。
其中Geehy-ISP MultiPort Programmer应用程序,基于USART 通信协议对单个或多个MCU 设备进行读写、擦除等操作。
Geehy-DFU Programmer应用程序 基于USB通讯协议对单个MCU 设备进行读写、擦除等操作。
本应用笔记中涉及的应用程序均可在 www.geehy.com 进行获取下载。

2    ISP MultiPort Programmer

ISP即In-System-Programming,在线编程,具有ISP功能的芯片,可以通过简单的下载线直接在电路板上给芯片写入或擦除程序,由上位机的软件通过串口来进行改写,并且支持在线调试。使得用户不需要编程器就可以对芯片进行试验和开发。本小结将以APM32F407IGMINIBOARD演示Geehy-ISP MultiPort Programmer的应用功能。

2.1    环境要求

2.1.1    软件要求

需要Windows XP、Windows7及以上操作系统支持。
需要.net Framework4.0的支持。

2.1.2    硬件要求

可用的串行通讯端口(COM)。
对于同时连接多台设备时,请使用传输稳定的数据线、USB Hub、USB转串口设备。
在连接多台设备时,请根据PC的实际配置情况选择合适的设备数量。

2.2    硬件连接

2.2.1    连接方式

Geehy-ISP Multiport Programmer支持连接一台设备和同时支持连接多台设备的操作。设备连接方式如下:
1)    UART一台设备连接,如下图所示:

 图 1 一台设备连接方式

2)    UART同时连接多台设备,如下图所示:

图 2 多台设备连接方式

2.2.2    引导模式

APM32F4xx系列提供了3种引导模式,用户可通过BOOT引脚进行选择,该引脚状态会在复位后的第四个系统时钟的上升沿锁存。使用ISP时选择系统存储器进行启动引导。

BOOT1

BOOT0

引导模式

X

0

主FLASH存储器

0

1

系统存储器

1

1

SRAM

2.2.3    通信接口

用户通过USART1引脚进行通信连接。

串口

TX Pin(发送)

RX Pin(接收)

USART1

PA9

PA10

2.3    设备操作

2.3.1    主界面

Geehy-ISP Multi_Port Programmer 主界面分为4部分,如下图:

 图 3 主界面

1.    菜单栏和工具栏:
1)    菜单栏各栏功能分别如下:
文件:包含“退出”,功能是出程序。
视图:包含“工具栏”,功能是显示/隐藏工具栏。
窗口:包含“新建窗口”、“刷新串口”和“全部关闭”,
功能分别是新建设备操作窗口、刷新设备连接串口、关闭所有设备操作窗口。
操作:包含“全部连接”、“全部断开”、“全部执行”和“全部中止”
功能分别是连接/断开所有设备、所有设备运行/中止。
帮助:包含“使用说明”、“关于”,功能是打开说明书和查看软件相关信息。
语言选择:包含“English”、“中文”功能是切换界面语言。
2)    工具栏各按钮功能分别是:“新建窗口”、“刷新串口”、“全部连接”、“全部断开”、“全部执行”和“全部中止”。
2.    设备控制信息显示区:此区域设置设备连接配置和设备信息显示。
3.    设备操作配置区:此区域设置对设备的一些操作配置。
4.    操作结果显示区:此区域显示设备操作执行情况。

2.3.2    设备连接

1)    点击“新建窗口”按钮,新建操作窗口。
2)    选择串口号和波特率,最小波特率为1200 bit/s,最大波特率为115200 bit/s;设置超时时间(1≦timeout≦10),单位为“s”。
3)    连接:复位MCU,点击“连接”打开串口并与MCU完成握手,握手成功后获取的MCU信息如下:

 图 4 芯片读取情况

4)    若与MCU握手失败,有如下提示:

 图 5 连接失败提示

2.4    功能操作

2.4.1    擦除操作

1)        擦除全部空间

 图 6 擦除全部空间

2)    擦除指定空间:可设置需要擦除的起始页和终止页

 图 7 擦除指定空间

2.4.2    写入选项字节

1)    选择“写入选项字节”后, 会获取MCU的当前选项字配置,如图所示:

 图 8 写入选项字节

2.4.3    读出选项字节

 图 9 读出选项字节

2.4.4    写入文件

选择“写入文件”后,还可作如下选择:
擦除方式:可选择“擦除使用空间”或“擦除全部空间”。
写后操作:“下载后校验”在文件数据全部写入MCU后,从起始地址开始将同样长度的MCU数据读出进行数据校验,判断写入MCU的数据是否正确;“下载后执行程序”启动写入MCU的程序。
* 注意:当文件后缀为“.hex”时,起始地址不可编辑。
* 注意:启动写入MCU的程序后,上位机与系统存储器引导加载程序的通信丢失,需要重连MCU。

 图 10 写入文件

2.4.5    读出文件

 图 11 正在读文件

 图 12 读出文件

2.4.6    执行与中止

1)    执行:配置操作后,点击“执行”(或点击工具栏上“全部执行”按钮)开始与MCU通信,完成用户所选择的功能。

 2)    中止:开始执行后会使能“中止”(或点击工具栏上“全部中止”按钮),下面以“读出文件”为例说明中止功能。
3)    注意:中止之后,操作将会失败。

 图 13 中止操作

3    DFU Programmer

DFU全称是 Device Firmware Upgrade,设备固件升级。主要是支持USB的BootLoader,可以对芯片FLASH进行编程和选项字节的修改。该软件功能与APM32 ISP Multiport Programmer基本类似,只不过是使用USB对MCU设备进行软件升级。本小结将以APM32F407IGMINIBOARD演示DFU Programmer的应用功能。

3.1    环境要求

3.1.1    软件要求

需要Windows XP、Windows7及以上操作系统支持。
需要.net Framework4.0的支持。

3.1.2    硬件要求

支持Type-B, Mini-B, Micro-B等USB接口类型。

3.2    设备操作

3.2.1    主界面

DFU Programmer 主界面分为4部分,如下图:

 图 14 主界面

  1. 功能区:此区域显示设备应用功能。
  2. 设备区:此区域显示设备信息及状态。
  3. 信息区:此区域显示设备连接基本信息。
  4. 结果区:此区域显示设备操作执行情况。

3.2.2    驱动安装

1)    管理员打开cmd,输入bcdedit /set testsigning on

 2)    设备插入电脑,查看设备管理器:

 3)    选择【更新驱动程序】:

 

 4)    选择【显示所有设备】下一步:

 

 5)    选择“APM32DfuDriver.inf”驱动文件:

 

 6)    选择【关闭】完成更新驱动:

3.3    功能操作

3.3.1    连接设备

1)    根据设备详情,选择对应设备,点击【连接设备】按钮。
2)    当有新设备加入,需点【断开设备】,再点击【搜索设备】按钮查找设备,重新连接。

 图 15 连接设备

3.3.2    读取芯片

1)    填入芯片读取的起始地址,以及读取数据大小,点击【读取芯片】,列表会显示对应读取回来的数据,有三种数据显示格式:8 bit 、16 bit、32bit,点击单选按钮可以切换。
2)    点击【保存数据】按钮可以把读回来的数据保存到本地。

图 16 读取芯片

3.3.3    固件升级

1)    选择需要写入的 bin 文件,选择数据写入的起始地址,选择配置条件,点击开始更新固件。
2)    擦除芯片后写入:会把对应的扇区数据擦除。
3)    写入后运行:会在写入后运行程序,后续需要手动复位芯片重新连接。

 图 17 固件升级

3.3.4    选项字节

1)    【读取】按钮的作用是读取最新选项字节配置。
2)    【应用】按钮的作用是把最新的修改写入到芯片。
3)    【取消读保护】按钮作用是恢复到 AA(不保护)状态。
4)    【用户配置】鼠标悬停在选项上可以看详细解释。
注:读保护状态时,用户无法进行【读取芯片】、【固件升级】、【擦除芯片】操作。

 图 18 选项字节

3.3.5    擦除芯片

1)    【搜索地址】可以通过搜索框输入地址,然后点击回车键,快速定位被擦除扇区的所在的区间。
2)    【反选】可以快速反选需要擦除的地址,已选会变成未选,未选会变成已选。
3)    【擦除已选】勾选需要擦除的扇区,对应擦除该扇区。
4)    【擦除全部】擦除整个Flash 扇区。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值