У меня есть командный файл компоновщика, который назначает верхний адрес стека в переменную
_stack = . + 0x80000;
Я хочу использовать этот адрес в программе 'c' - я хочу скопировать стек в другое место, а затем обновить указатель стека, чтобы он указывал на новое местоположение, прежде чем выполнять деструктивный тест памяти в оригинальном банке оперативной памяти.
Я обнаружил, что если я сделаю что-то вроде
extern u32 *_stack;
myFunction(_stack);
Тогда функция, кажется, получает значение, хранящееся в ячейке стека
lwz r3,0(r8)
Вместо адреса самого стека.
Кто-нибудь может помочь?