Я пишу код для устройства ATSAM
с использованием компилятора MPLAB X
и XC32
. Это устройство имеет 1 МБ флеш-памяти, и мне нужно выделить 200 КБ, чтобы заполнить сценарий конфигурации (основной код будет выполнять этот сценарий).
Я пытаюсь сделать это, не связываясь с компоновщиком. Вот что я делаю:
#pragma region name="plan_mem" origin=0xce000 size=0x32000
typedef struct {
uint16_t version;
//.... very long structure....
} Plan;
const Plan plan __attribute__((region("plan_mem"))) = {
0x1, //....
};
Пока код все еще работает, у меня есть предупреждение от компилятора: warning: 'region' attribute directive ignored [-Wattributes]
, и окончательный адрес действительно игнорируется.
Почемуигнорируется ли это, поскольку оно взято из руководства XC32?
Есть ли другой способ добиться того же?