[其他ST产品] STM32CubeIDE如何加载外部bin文件?

[复制链接]
1242|15
 楼主| laocuo1142 发表于 2024-5-14 21:23 | 显示全部楼层 |阅读模式
我有一个外部的bin文件,想要编译、链接到stm32工程里,如何用stm32cubeide来实现呢?
我知道在keil中可以添加一个.s文件可以实现,但是keil中用汇编指令INCBIN,在stm32cubeide中如何实现呢?

aozima 发表于 2024-5-14 23:10 | 显示全部楼层
gcc的汇编里面是

  1. .incbin "xx.bin"
aozima 发表于 2024-5-14 23:11 | 显示全部楼层
完整示例

  1. .globl user_bin_begin1
  2. .align 4
  3. .size user_bin_begin1, user_bin_end1-user_bin_begin1
  4. user_bin_begin1:
  5. .incbin "xx.bin"
  6. .globl user_bin_end1
  7. .align 1
  8. .size user_bin_end1,0
  9. user_bin_end1:




在曼谷的春 发表于 2024-6-18 12:01 | 显示全部楼层
你都习惯于Keil了,就用keil进行开发多好
月亮一键变蓝 发表于 2024-6-18 14:00 | 显示全部楼层
一般都是GCC这种方式,其实keil也是封装了一层而已
失物招領 发表于 2024-6-18 16:00 | 显示全部楼层
在STM32CubeIDE中,您可以将外部的二进制文件(.bin)添加到您的工程中,并将其链接到最终的可执行文件中。在工程资源管理器中,右键点击您的工程,选择“Import”。
我吃小朋友 发表于 2024-6-18 20:00 | 显示全部楼层
在弹出的对话框中,选择“File System”,然后点击“Next”。点击“Browse...”选择您的二进制文件(.bin),然后选择要导入的目标文件夹。点击“Finish”导入文件。
EmmaTT 发表于 2024-6-18 20:02 | 显示全部楼层
gcc不错,但是配置有点麻烦
未说出口的像你 发表于 2024-6-19 02:00 | 显示全部楼层
在工程中找到链接器脚本文件(通常是`.ld`文件)。
她已醉 发表于 2024-6-19 06:00 | 显示全部楼层
在链接器脚本中,您需要定义一个段(section)来存放二进制文件。
将爱藏于深海 发表于 2024-6-19 08:00 | 显示全部楼层
确保这个新定义的段被放置在您希望二进制文件存储的内存区域。
温室雏菊 发表于 2024-6-19 10:00 | 显示全部楼层
如果链接器脚本不足以满足您的需求,您可以使用分散加载文件来更精确地控制内存映射。
一只眠羊 发表于 2024-6-19 14:00 | 显示全部楼层
在工程中创建一个分散加载文件(`.scf`或`.sct`文件),并在其中定义如何加载二进制文件。
春日负喧 发表于 2024-6-19 18:00 | 显示全部楼层
在STM32CubeIDE中,您不需要使用汇编指令`INCBIN`,因为您可以直接通过链接器脚本或分散加载文件来管理外部二进制文件的加载。这种方法更加灵活,允许您精确控制二进制文件在内存中的位置。
wang6623 发表于 2024-6-30 15:10 | 显示全部楼层
将bin文件添加到工程目录

将外部的bin文件复制或移动到STM32CubeIDE工程的合适位置,通常是放在工程的一个特定目录下,比如Src或Inc目录。
理想阳 发表于 2024-6-30 15:23 | 显示全部楼层
外部BIN文件能用来干什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1296

主题

6239

帖子

15

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