1

我正在尝试使用 Microchip C30 编译器将数组放置在 PIC24EP256G810 处理器上辅助存储器的最高位置。数组定义如下:

const int __attribute__((space(auxflash), aligned(2048))) AuxFlashRows[8][128]
{
    {
        0x0000,etc,etc
    },
    {
        0x0000,etc,etc
    },
    etc
};

上面的代码会将数据放置在辅助内存空间中,但我不确定如何让编译器将其放置在最高位置。刚才它将阵列放置在引导加载程序占用的位置。

谢谢

4

2 回答 2

0

IIRC,您必须调整链接器文件(c30/support/pic24e/gld 中的 p24EP256GU810.gld)

例如程序长度段:

程序(xr):原点 = 0x200,长度 = 0x2A9FE

并相应减少。

于 2012-02-20T14:01:35.090 回答
0

您不需要修改链接描述文件。除了空格()和对齐()之外,您只需在属性修饰符中添加地址()关键字,然后硬编码您想要的地址。它记录在我的 C30 用户指南版本的第 2.3.1 节中,但无论哪种方式,您都可以搜索“属性”,它们都被记录在一起。(对不起,表格正在吃我的下划线:)

于 2012-05-03T01:55:40.413 回答