编辑: kr9梯 | 2018-07-19 |
00
1 /
6 December 9,
2016 HT8 MCU IAP 应用须知 文件编码:AN0417S 简介 部分 HOLTEK Flash MCU 提供了 IAP 功能,IAP (In-Application Programming) 是在线应用 编程,它可以使用内部程序更新其它部分程序或数据,而不需要烧录器或者 PC.本文将以 HT66F70A 为母体,来介绍如何使用 IAP 功能及使用上的注意事项. 工作原理 IAP功能就是MCU利用已有的程序操作内部Flash相关的寄存器来实现对Flash ROM的擦除、 读取、写入,相关操作并不复杂.与IAP 相关的寄存器有
1 组地址寄存器 FARL、FARH,4 组数据寄存器 FDnL、FDnH(n=0~3)、3 个控制寄存器 FC
0、FC
1、FC2.其中,由于控制寄存 器位于 RAM Bank1,则必须使用寄存器 IAR1 和MP1L/MP1H 进行间接寻址方式操作.以下 为具体操作步骤. Flash 储存器写入功能使能步骤 步骤
1、写入
110 到FMOD2 ~ FMOD0 位,选择 FWEN 模式. 步骤
2、FWPEN 设定为
1 .步骤
1 和步骤
2 可同时执行. 步骤
3、 模式数据序列 00H、 04H、 0DH、 09H、 C3H 和40H 必须分别写入寄存器 FD1L、 FD1H、 FD2L、FD2H、FD3L 和FD3H. 步骤
4、溢出周期为 300?s 的计数器将进行有效计时,此时允许用户将正确的数据序列写入 FD1L/FD1H ~ FD3L/FD3H 寄存器.计数器时钟来自 LIRC 振荡器. 步骤
5、如果计数器溢出或数据序列不正确,Flash 内存写入操作不被使能且使用者必须再次 重复以上步骤.FWPEN 位将自动由硬件清零. 步骤
6、如果计数器溢出前数据序列正确,Flash 内存写入操作将使能且 FWPEN 位将自动由硬 件清零.CFWEN 位也由硬件置为
1 ,表明 Flash 内存写入操作成功使能. 步骤
7、一旦 Flash 内存写入操作使能,用户可通过 Flash 控制寄存器更改 Flash ROM 数据. 步骤
8、用户可以清零 CFWEN 位来除能 Flash 内存写入操作. HT8 MCU IAP 应用须知 AN0417S V1.00
2 /
6 December 9,
2016 Set Flash Write enable Set FMOD[2:0]=110 (FWEN mode) Set FWPEN=1, Hardware set a counter Wrtie the following pattern to Flash Data register FD1L= 00h , FD1H = 04h FD2L=0dh , FD2H = 09h FD3L=C3h , FD3H = 40h Is pattern is correct ? Is counter overflow ? FWPEN=0 ? yes Set FWEN mode fail FWPEN=0 no Set FWEN mode success. END yes no no yes Flash 储存器写入功能使能步骤 HT8 MCU IAP 应用须知 AN0417S V1.00
3 /
6 December 9,
2016 读/写Flash 储存器 通过前面的 IAP 步骤成功使能 Flash 内存写入功能后,用户必须先擦除相应的 Flash 储存块 或储存页,然后再开始 Flash 内存写入操作. 写入 Flash 储存器页流程 Write Flash Flash Memory Write Function Enable Procedure Page Erase Set erase page FARH &
FARL, Set FMOD[2:0]=001 Set FWT=1 FWT=0 ? Set FMOD[2:0]=000 Set address register: FARH &
FARL Wrtie data to data registers: FD0L, FD0H Yes No Page Write Finish Set FWT=1 FWT =
0 Set CFWEN=0 END Yes Yes No No Write Finish Yes No 写入 Flash 储存器步骤 HT8 MCU IAP 应用须知 AN0417S V1.00
4 /
6 December 9,
2016 读Flash 储存器页流程 Read Flash Memory Set FRDEN=0 END Read Finish ? yes no Set FMOD[2:0]=011 &
FRDEN=1 Flash address register: FARH=xxh, FARL=xxh FRD=0 ? yes no Read value: FD0L=xxh, FD0H=xxh Set FRD=1 读Flash 储存器步骤 HT8 MCU IAP 应用须知 AN0417S V1.00
5 /
6 December 9,
2016 程序范例 范例主要以 HT66F70A 为母体, 对其 Flash 储存器进行擦除页、 写入、 读取等基本 IAP 操作. 通过对 IAP 功能使能、 Write、 Read、 Erase 动作