[STM32F4] 生成两个二进制代码文件

[复制链接]
 楼主| zhouyou99 发表于 2025-5-23 09:00 | 显示全部楼层 |阅读模式
正在开发TouchGFX项目,该项目使用外部QuadSPI Flash来存储HMI所需的所有图形。

我想生成两个不同 .bin 文件的结果,它们分别包含:

一个 bin 文件,包含要写入内部 Flash 的应用程序,
另一个 bin 文件,其中包含要写入外部 QuadSPI Flash 的图形。
咋搞呢
公羊子丹 发表于 2025-5-24 09:05 | 显示全部楼层
这个需求很常见,TouchGFX生成的图形资源本来就可以单独生成bin文件写入QSPI。
周半梅 发表于 2025-5-24 09:05 | 显示全部楼层
在STM32CubeIDE里你可以勾选“Generate binary”选项,主程序和QSPI资源可以分别配置输出。
帛灿灿 发表于 2025-5-24 09:06 | 显示全部楼层
TouchGFX工程里 Assets 部分资源编译后会生成 .bin 文件,路径在 build/assets/ 下可以找找。
童雨竹 发表于 2025-5-24 09:07 | 显示全部楼层
应用程序部分用默认的链接脚本就行,外部Flash那部分要另外写一个链接脚本或者分段链接。
万图 发表于 2025-5-24 09:08 | 显示全部楼层
如果用的是STM32CubeProgrammer,可以通过不同的loader烧录两个bin到不同区域。
Wordsworth 发表于 2025-5-24 09:08 | 显示全部楼层
QSPI资源你可以用命令 srec_cat 工具把特定段抽出来做bin文件,很灵活。
Bblythe 发表于 2025-5-24 09:09 | 显示全部楼层
TouchGFX Designer里导出项目之后,用它带的脚本 build_ui_assets 就能生成外部资源bin了。
Pulitzer 发表于 2025-5-24 09:10 | 显示全部楼层
也可以用STM32CubeMX配置QSPI为memory mapped模式,然后资源.bin里只放纯图像数据。
Uriah 发表于 2025-5-24 09:11 | 显示全部楼层
编译完可以在Debug目录下找到application.bin,再加个后处理步骤生成QSPI bin。
Clyde011 发表于 2025-5-24 09:12 | 显示全部楼层
如果是自动化构建流程,建议写个脚本,分开生成和烧录两个区域的数据,效率更高。
gaonaiweng 发表于 2025-5-31 17:59 | 显示全部楼层
需要配置TouchGFX 生成图形资源到外部Flash。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

37

帖子

0

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