首页 > 解决方案 > 如何将指针分配给使用 GCC 编译后添加的自定义部分?

问题描述

我正在使用 GCC 并为 STM32 编写嵌入式软件。

如何阅读添加的部分--add-section

我想在我的程序中添加一个部分,elf并在我的程序中分配一个指向该部分数据的指针。

例如:

extern char * ptr_to_my_section = &my_array;

然后我将编译一个文件my_data.cpp并将其注入特定的部分my_section

我的数据.cpp

char my_array[] = "This is the custom data";

最后,我将创建二进制可执行文件。

标签: gccembeddedelf

解决方案


然后我将编译一个文件 my_data.cpp 并将其注入到一个特定的部分 my_section。

不需要为此使用objcopy --add-section。您可以简单地要求 GCC 将您的数组放入my_sectionusing __attribute__((section("my_section"))).

要找到本节的开头,您可以使用{__start,__end}链接器“神奇地”为您添加的符号:

const char *ptr_to_my_section = &__start_my_section;
const char *end_my_section = &__stop_my_section;

推荐阅读