[an error occurred while processing this directive]
|
В .cmd файле объявляю сегмент для всех своих данных
например так:
"
MEMORY
{
PAGE 0: ...
...
PAGE 1: ...
MY_DATA: origin = 0x2000, len = 0x2000
...
}"
Далее в выделенном сегменте размещаю необходимые секции
SECTIONS
{
...
.MY_STACK_SECT: {} > MY_DATA PAGE 1
.MY_NEXT_SECT: {} > MY_DATA PAGE 1
...
}
А вот размер массива задается только в .c
"
...
#define MY_STACK_SIZE 0x0400
#pragma DATA_SECTION(MY_STACK,"MY_STACK_SECT")
static unsigned MY_STACK[MY_STACK_SIZE];
#pragma DATA_SECTION(MY_NEXT_OBJ,"MY_STACK_SECT")
static unsigned MY_NEXT_OBJ;
...
"
и память в сегменте выделится только под объявленные объекты
Если не ошибаюсь, все это затевалось для изменения размеров в одном месте