Я пытаюсь заставить COSMIC
компилятор распределить структуру по определенному адресу в памяти (0x5420
). Я добавил следующие строки в мой код C (где CAN_TypeDef
- это typedef struct
):
#pragma section [mycan]
CAN_TypeDef CAN;
#pragma section []
В IDE (STVD
) я создал новый раздел с именем Can
, внутри которого я создал новый раздел с именем .mycan
.

Когда я создаю код в STVD
, появляется ошибка компоновщика, говорящая:
#error clnk Debug\can.lkf:1 bad address (0x5420) for zero page symbol _CAN
На изображении выше видно, что Can
и Zero Page
- это два разных сегмента. Что может быть причиной этой ошибки и как я могу ее решить?