• 资料介绍
  • 在线预览
  • 相关推荐
申请入驻 产业图谱

LAT1426 IAR flashloader 下载算法制作介绍

2025/03/06
1036
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1426 IAR flashloader 下载算法制作介绍

348.26 KB

1、引言

一般情况下,IDE 工具都自带了芯片内部 flash 的烧写算法。而实际项目中往往会有外扩 flash 的需求,在调试或下载程序时,烧写外部 flash 则需要额外的 flashloader 程序支持。本文简要介绍如何在 IAR 工具中制作 flashloader 来烧写外部 flash 的原理及实现。

2、IAR flashloader 原理

IAR 烧写芯片 flash 过程,是由 C-SPY 调试器与 flashloader 来完成。Flashloader 是IAR 为 C-SPY 调试器开发的一个可执行程序,运行在 RAM 中。在 IAR 调用调试器时需要先将 flashloader 下载到目标芯片的 RAM 中,再将要下载的文件加载到 RAM 缓存中,由 C-SPY 通过指令启动 flashloader 程序,然后 flashloader会读取编程数据并写入到目标芯片中,完成目标芯片的擦除和写入。

3、下载算法制作

在 IAR 安装目录中,flashloader 工程要使用的框架文件在以下目录:Embedded Workbench 9.1armsrcflashloaderframework2其中,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.1armsrcflashloaderST 目录下已有的例程,比如 FlashSTM32H7xx_QSPI 目录就是 STM32H7 板上实现 QSPIflashloader 的例程。

这里选用 STM32H743_Nucleo 板,外接 W25Q128 的 norflash 来测试。首先创建测试工程,实现 norflash 程序的读、写、擦除等基本操作,验证通过后,封装到xspi_norflash_api.c 文件中。

然后将 FlashSTM32H7xx_QSPI 目录拷贝出来,替换并实现 flash 初始化、擦除、写的接口,最终生成.out 文件。

4、测试

在 CubeH7 例程中,选择 ExamplesGPIOGPIO_EXTI 例程,并配置一些数据保存在外部 flash 中。若测试本文附件 GPIO_EXTI-Test-IAR-flashloader.7z,请将此文件解压到 STM32Cube_FW_H7_V1.11.1ProjectsNUCLEO-H743ZIExamplesGPIO目录进行测试。编辑.board 及.flash 文件,将这些文件保存到 GPIO_EXTI 例程的 EWARM 目录下,并配置 IAR 工程属性,在 Debugger – Download 下,勾选 Use flash loader(s)与Override default .board file,配置 IAR 使用 STM32H743-Nucleo_QSPI.board 来进行烧写内部与外部 flash,最后完成烧写测试。

5、小结

本文通过实例介绍了基于 STH32H743 Nucleo 板有关 IAR 外部 flashloader 的制作与使用方法。如果客户需要用 IAR 烧写外部 flash,可参考本文方法及例程。

在线预览

相关推荐

意法半导体拥有49,000名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一 家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、成千上万名合作伙伴一起研发产品和 解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需 求。意法半导体的技术让人们的出行更智能,让电源和能源管理更高效,让云连接的自主化设备应用更广 泛。我们正按计划在所有直接和间接排放(包括范围1和范围2)、产品运输、商务旅行以及员工通勤排 放(重点关注的范围3)方面实现碳中和,并在2027年底前实现100%使用可再生电力的目标。 详情请浏 览意法半导体公司网站:www.st.com.cn