gpt4 book ai didi

c - 包含二进制文件作为常量数组

转载 作者:行者123 更新时间:2023-12-04 12:51:54 25 4
gpt4 key购买 nike

我有一个使用 eclipse 编译的嵌入式 C 项目。
我需要将二进制文件作为常量数组读入应用程序代码。

这个二进制文件大约为 200kB,需要成为应用程序代码的一部分,以便应用程序代码可以随时读取二进制图像并将其加载到板上需要此初始化图像的另一个设备中。

我通常会将图像加载到板上的非 volatile 存储器中,然后读取并移动它,但这在这里不可行,它必须是可执行图像的一部分。

我可以在 makefile 中通过将 .bin 文件链接到某个地址来做到这一点,或者在 C 代码中这样做

const char binFileImage [] = { file.bin };

这显然行不通,但我还没有想出可行的语法。

仅供引用,file.bin 确实是一个二进制文件。

关于如何做到这一点的任何想法?

最佳答案

使用链接描述文件将二进制文件放在特定地址可能是最好和最简单的解决方案。

其他解决方案包括使用由 makefile 调用的一些程序将文件转换为包含有效数组定义的源文件。例如,假设文件以值 0x23 开头。 , 0x05 , 0xb30x8f ,那么自动生成的源文件可能看起来像

const uint8_t binary_file_data[] = {
0x23, 0x05, 0xb3, 0x8f, ...
};

关于c - 包含二进制文件作为常量数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33502777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com