gcc 是否在指定位置声明变量/数组?

ujv3wf0j  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(256)

我的目标是将#pragma define_section代码移植到在GCC编译器上工作的代码中(我发现有些#pragma指令在GCC编译器上不工作。当然,我的发现可能是错误的)。

#pragma define_section appheader_info ".appheader_info"  far_absolute R
__declspec(appheader_info) FLASH_APPHEADER_INFO appheader_info =

这是我需要更改的东西,以工作在GCC.基本上,我需要声明一个变量/数组在一个特定的位置.

extern uint8_t dev_serial[12];
  asm(".equ dev_serial, 0x1FFFF7E8");

这是我在指定位置声明数组的替代方法,例如0x 1FFFF 7 E8。我试过打印数组的地址,它位于给定的变量中。但是我无法定义数组的值。它总是显示零。

我如何克服这个问题?是否有其他解决方案可以达成我的目的?

顺便说一句,我正在STM32开发板和S32 K144系列微控制器中尝试这一点。
先谢谢你了。

jdgnovmf

jdgnovmf1#

这是我找到的替代#pragma指令的方法。

__attribute__ ((section(".appheader_info"))) FLASH_APPHEADER_INFO appheader_info;

但我还没有弄清楚如何定义变量的值。
还是希望有人能帮我。

相关问题