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

如果是自动化构建流程,建议写个脚本,分开生成和烧录两个区域的数据,效率更高。
页: [1]
查看完整版本: 生成两个二进制代码文件