LAT1426
LAT1426 - Rev 1.0 page 2/5
1. .out 文件:由 flashloader 代码生成,包含了对 flash 管脚定义,函数 FlashInit(),
FlashWrite(), FlashErase()的实现
2. .flash 文件:是一个 xml 文件,包含了一些必要的属性及可选的属性配置,必要的
属性如下:
a. exe:指向.out 文件
b. flash_base:Flash 的基地址
c. page:Flash 每页大小
d. block:Flash 有多少块,每个块有多大
3. .board 文件:是一个 xml 文件,由<pass> … </pass>进行多个.flash 文件的设
置。每个 pass 包含两个必要属性:
a. range:指定 Flash 的起始地址与结束地址
b. loader:当前 pass 调用下载算法的路径
4. .mac 文件:宏文件,是 C-SPY 组件定义和解释执行的一种专用类脚本文件,是一
种脚本语言,由 CSpyBat.exe 在用户调试的过程中解释执行。
3. 下载算法制作
在 IAR 安装目录中,flashloader 工程要使用的框架文件在以下目录:
Embedded Workbench 9.1\arm\src\flashloader\framework2\
其中,flash_loader.c, flash_loader.h, flash_loader_asm.s, flash_loader_extra.h 这
四个文件是供 C-SPY 调用的,不用去修改这些文件内容。只用修改 template 文件夹内的
flash_loader_ram.c,实现相应的 FlashInit, FlashWrite, FlashErase 函数即可。
在实际中,也可以直接使用 Embedded Workbench 9.1\arm\src\flashloader\ST 目
录下已有的例程,比如 FlashSTM32H7xx_QSPI 目录就是 STM32H7 板上实现 QSPI
flashloader 的例程。
这里选用 STM32H743_Nucleo 板,外接 W25Q128 的 norflash 来测试。首先创建测
试工程,实现 norflash 程序的读、写、擦除等基本操作,验证通过后,封装到
xspi_norflash_api.c 文件中。
然后将 FlashSTM32H7xx_QSPI 目录拷贝出来,替换并实现 flash 初始化、擦除、写
的接口,最终生成.out 文件。