[其他ST产品] 很多例程将代码下载到外部flash,目的是什么?

[复制链接]
 楼主| 地瓜patch 发表于 2025-4-23 17:14 | 显示全部楼层 |阅读模式
本帖最后由 地瓜patch 于 2025-4-24 15:55 编辑

问题一、以下文字是例程应用指导中的一段,将程序下载到外部flash地址为0x7000'0000。为什么要下到外部flsash呢,这个代码不大编译完成后34kB。

Next, this program can be run in boot from flash mode. This is done by following the instructions below:

- Resort to CubeProgrammer to add a header to the generated binary Project.bin with the following command
   - *STM32_SigningTool_CLI.exe -bin Project.bin -nk -of 0x80000000 -t fsbl -o Project-trusted.bin -hv 2.3 -dump Project-trusted.bin*
   - The resulting binary is Project-trusted.bin.
- Next, in resorting again to CubeProgrammer, load the binary and its header (Project-trusted.bin) in DK board external Flash at address 0x7000'0000.
- Set the boot mode in boot from external Flash (BOOT0 switch position is 1-2 and BOOT1 switch position is 1-2).
- Press the reset button. The code then executes in boot from external Flash mode.


问题二、进行这一步给bin文件加个头的目的是什么?加这个头有啥作用? *STM32_SigningTool_CLI.exe -bin Project.bin -nk -of 0x80000000 -t fsbl -o Project-trusted.bin -hv 2.3 -dump Project-trusted.bin*

onlycook 发表于 2025-5-7 12:55 | 显示全部楼层
扩展存储容量,满足大数据量需求。
内政奇才 发表于 2025-5-7 12:56 | 显示全部楼层
可以降低成本与功耗。
海滨消消 发表于 2025-5-7 12:56 | 显示全部楼层
将代码下载到外部Flash可以支持动态更新,简化OTA流程。
 楼主| 地瓜patch 发表于 2025-5-7 18:20 | 显示全部楼层
海滨消消 发表于 2025-5-7 12:56
将代码下载到外部Flash可以支持动态更新,简化OTA流程。

内部flash不是也具有同样功能么?
冰春彩落下 发表于 2025-6-10 11:49 | 显示全部楼层
STM32的内部Flash容量有限(如STM32L471RET6为512KB),当程序体积超过内部Flash时,必须使用外部Flash存储代码
一秒落纱 发表于 2025-6-10 12:00 | 显示全部楼层
需要存储大量数据(如语音库、图像资源)或复杂算法(如神经网络模型)时,外部Flash可提供额外空间(如4MB、8MB甚至更大)
光辉梦境 发表于 2025-6-10 13:00 | 显示全部楼层
通过外部Flash,可实现远程更新程序,无需物理连接设备。例如,物联网设备通过WiFi/4G接收新固件并存储到外部Flash,重启后加载新程序
淡漠安然 发表于 2025-6-10 14:00 | 显示全部楼层
在外部Flash中存储两套固件(主固件和备份固件),当主固件损坏时,可切换到备份固件,提高系统可靠性
暖了夏天蓝了海 发表于 2025-6-10 17:00 | 显示全部楼层
同一硬件平台可通过外部Flash存储不同功能的固件,快速切换产品功能(如消费电子设备通过固件更新实现功能升级)
夜阑风雨 发表于 2025-6-10 19:36 | 显示全部楼层
外部Flash(如SPI Flash)的单位存储成本远低于内部Flash扩展方案,适合对成本敏感的大规模生产
三生万物 发表于 2025-6-10 21:00 | 显示全部楼层
在开发阶段,可将不同版本的代码存储到外部Flash,方便快速测试和验证
别乱了阵脚 发表于 2025-6-11 01:49 | 显示全部楼层
将代码下载到外部Flash的主要目的是扩展存储容量、实现动态更新和降低开发成本
江河千里 发表于 2025-6-11 09:00 | 显示全部楼层
现代外部Flash支持高速SPI或QSPI接口,读写速度可达数十MB/s,满足实时性要求。
远山寻你 发表于 2025-6-11 13:00 | 显示全部楼层
外部Flash为非易失性存储器,断电后数据不会丢失,适合存储关键配置或长期数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

1806

主题

14843

帖子

29

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:出一块TI-PLABS-AMP-EVM

1806

主题

14843

帖子

29

粉丝
快速回复 在线客服 返回列表 返回顶部