Цитата(Novichok1 @ Oct 22 2009, 13:11)

Ситуация, значит, вырисовывается такая: поскольку on-chip RAM всего 64KB, а внешняя оперативка несравнимо больше, и к тому же данные, которые требуются хранить довольно громоздкие, то их объявление как глобальных, и таким образом запись либо в секцию .data, либо в секцию .bss является плохим решением. Значит эти данные нужно объявить как локальные (либо не статическими членами класса). Это можно сделать двумя способами:
1) Объявить их в стеке;
2) Объявить их в куче посредством "new".
А почему все так замороченно?
Разве нельзя, ничего не указывая линкеру, объявить указатель, а потом присвоить ему адрес во внешней памяти.
typedef struct
{
UInt32 a;
UInt32 b;
UInt32 mass[1024];
} struct_1, *struct_1;
struct_1=Адрес;
А отдельные переменные так -- #define temp (*((DWORD*)Адрес)) -- здесь ошибка возможна только если обратиться к этой переменной до инита внешней памяти....
Сообщение отредактировал Step_ARM - Oct 23 2009, 04:48