打印
[应用笔记]

HT32 MCU IAP–使用 SPI Slave 进行固件更新

[复制链接]
4928|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 weitingliu 于 2023-1-21 08:03 编辑

现今的电子产品发展迅速且开发周期很短,往往在市场贩卖后有固件更新的需求,大部分修正软件问题、新增软件功能、系统优化等都需要固件更新来完成,因此发展出一种程序架构让应用程序有自我更新的能力,通过这种方法更新程序我们称之为 IAP (In-ApplicationProgramming),此类程序通常由两个可执行的独立程序组成,分别是存放在 IAP 区域的 IAPLoader,以及存放在 AP (Application) 区域的 AP Firmware。
IAP / AP 架构的优点是 IAP Loader 与 AP Firmware 的原始码都属于 Main Flash 内应用层的程序,用户拥有完全的控制能力,例如用户可以决定自己的通信接口,也可自定义通信协议,或是沿用 HT32 定义的协议来增加新命令。但 MCU 必须分配部分的 Flash 存储器作为 IAP区域而压缩了 AP 可用的范围,在 Flash Layout 的单元会介绍 HT32 的 IAP / AP 架构的存储器规划。

HT32 提供的 IAP_SPI 应用范例通过两个范例程序组成 :
  • Slave 范例:使用 IAP / AP 架构。IAP Loader 会根据 Host 传来的命令封包对 AP 进行 IAP更新。使用者可在此工程架构下开发或移植应用程序
  • Host 范例:此范例示范如何开发一个 IAP Host。将“新版 Slave AP Image”作为数据存储在内部 Flash,并向 Slave 的 IAP Loader 发出更新 AP 的需求。Host 范例仅用于测试与学习,使用者需要将其移植到应用环境的 Host,并依据实际的应用情境进行调整

HT32 的 IAP_SPI Slave 范例提供以下功能:
  • 完整且稳定的 IAP 通信协议
  • 完整的更新程序 API,包括:Erase、Program、Jump to IAP / AP
  • 完整的验证程序 API,包括:Verify、CRC、Blank Check
  • 安全机制,包括:封包认证、数据加密、完整性确认、更新范围与流程保护。避免非法的操作与更新行为
  • 更新中断与应用执行保护,包括:AP 存在检查机制、版本检查机制、AP Firmware 正确性检查 (CRC Check)



详细内容请参考附件:
an0605sc.pdf (2.35 MB)

范例下载路径:https://mcu.holtek.com.tw/ht32/app.fw/IAP_SPI/

更多应用笔记信息链接:https://www.holtek.com.cn/general/32bit-flash-mcu
联系版主或负责单位,获取更多资讯
业务联系邮箱:holtek.sales@holtek.com.cn
技术支持邮箱:holtek.fae@holtek.com.cn

使用特权

评论回复

相关帖子

沙发
chenjun89| | 2023-1-10 19:39 | 只看该作者
一直都是用的串口进行升级,还没用过SPI,学习一下。

使用特权

评论回复
板凳
maqianqu| | 2023-2-2 10:40 | 只看该作者
为什么不使用IAP更新程序?              

使用特权

评论回复
地板
macpherson| | 2023-2-5 14:29 | 只看该作者
这种更新方式是如何校验程序的呢?

使用特权

评论回复
5
caigang13| | 2023-2-6 08:23 | 只看该作者
现在的MCU都支持这个功能

使用特权

评论回复
6
updownq| | 2023-2-6 14:04 | 只看该作者
这个需要自己修改BootLoader吧?

使用特权

评论回复
7
earlmax| | 2023-2-6 16:17 | 只看该作者
SPI Slave还能更新程序吗?

使用特权

评论回复
8
yorkbarney| | 2023-2-7 20:49 | 只看该作者
这个是要是实现离线烧录的吗?              

使用特权

评论回复
9
sanfuzi| | 2023-2-7 21:25 | 只看该作者
单片机的性能怎么样?              

使用特权

评论回复
10
timfordlare| | 2023-2-7 22:03 | 只看该作者
在哪里查找ht32的原来的BootLoader?

使用特权

评论回复
11
sheflynn| | 2023-3-2 10:42 | 只看该作者
使用spi slave实现固件更新效果如何?

使用特权

评论回复
12
abotomson| | 2023-3-2 11:26 | 只看该作者
如何实现spi的数据传输?              

使用特权

评论回复
13
mnynt121| | 2023-3-3 21:20 | 只看该作者
可以使用哪个协议写入数据?              

使用特权

评论回复
14
robincotton| | 2023-3-3 21:37 | 只看该作者
这个能够实现远程的代码更新吗?              

使用特权

评论回复
15
zerorobert| | 2023-3-3 21:43 | 只看该作者
使用的是ymodem更新代码?              

使用特权

评论回复
16
maudlu| | 2023-3-3 21:54 | 只看该作者
不如串口iap好用。              

使用特权

评论回复
17
pl202| | 2023-3-7 19:54 | 只看该作者
这个是官网提供的例程吗?              

使用特权

评论回复
18
jimmhu| | 2023-3-7 20:04 | 只看该作者
HT32 都支持哪些升级的方式?

使用特权

评论回复
19
mmbs| | 2023-3-7 20:29 | 只看该作者
可以利用  SPI Slave 实现远程的固件更新呢

使用特权

评论回复
20
wilhelmina2| | 2023-3-7 20:34 | 只看该作者
如何使用 SPI Slave 进行固件更新

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

15

帖子

1

粉丝