ZHCSXB6B November 2024 – September 2025 F29H850TU , F29H859TU-Q1
ADVMIX
请参考 PDF 数据表获取器件具体的封装图。
F29H85x、F29P58x 和 F29P32x 器件具有高达 4MB 的程序闪存存储器。程序闪存由 512KB 闪存存储体的交错对组成,每个存储体最多 2 个交错对(共 4 个存储体)被分配给闪存控制器 1 (FLC1) 和闪存控制器 2 (FLC2)。FLC1 中还有一个 256KB 的数据存储体。闪存存储体根据闪存控制器和存储体编号进行标注。例如,FLC2.B0/B1 是指 FLC2 中的第一个交错存储体对(B0 和 B1),而 FLC1.B4 是指 FLC1 中的单个数据存储体。
每个闪存存储体由 2KB 的物理扇区组成。标称大小(例如 512KB)表示 MAIN 区域的大小。此外,每个闪存存储体包括两个特殊区域:
F29x 器件上的闪存存储器可通过多个闪存读取接口 (FRI) 寻址,每个接口具有一个或多个读取端口,可寻址高达 1MB 的闪存存储器。可用的 FRIS 如表 7-2 所示。读取端口在给定时间访问的实际闪存存储器区域取决于当前系统存储体模式和交换配置。存在 CPU3 的器件具有 4 种可用的存储体模式(0 至 3)。不存在 CPU3 的器件具有两个可用的存储体模式(0 至 1)。CPU2 和 CPU4(如果存在)是辅助 CPU,无法直接从闪存执行代码。
| 闪存读取接口 | 说明 |
|---|---|
| FRI-1 | CPU1 程序存储器 |
| FRI-2 | CPU3 程序存储器 |
| FRI-3 | 固件更新区域 (FOTA/LFU) |
| FRI-4 | 数据闪存存储体 |
闪存存储体模式通过 SSU_GEN_REGS 寄存器槽中的 BANKMODE 寄存器进行配置,并在器件引导期间从 FLC1中有效代码存储体对的 BANKMGMT 扇区加载。当存在 CPU3 时,BANKMODE 值 0 和 1 会将所有程序闪存映射到 CPU1,而 BANKMODE 值 2 和 3 会将可用程序闪存的一半映射到 CPU1,另一半映射到 CPU3。奇数 BANKMODE 值(1 和 3)支持使用 A/B 交换进行固件更新,允许从闪存的一半执行代码,而另一半可以使用更新的代码进行编程。当设置了 SSU_GEN_REGS.BANKMAP 寄存器中的 CPU1SWAP 或 CPU3SWAP 位时,硬件会交换闪存存储体,以便新编程的闪存存储体替换位于相同读取端口地址的旧闪存存储体。该功能可用于在目标系统应用中实现固件无线更新 (FOTA) 或实时固件更新 (LFU)。
| BANKMODE | 闪存映射 | 交换启用 | 1-CPU 器件 |
|---|---|---|---|
| 0 | 所有程序闪存均映射到 CPU1 | 否 | 可用 |
| 1 | 是 | 可用 | |
| 2 | 程序闪存存储器在 CPU1 和 CPU3 之间分配 | 否 | 不适用 |
| 3 | 是 | 不适用 |
有关闪存操作的详细信息,请参阅 F29H85x 和 F29P58x 实时微控制器技术参考手册。