ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 апреля
1138532 Топик полностью
Peter_M (14.10.2021 12:06, просмотров: 234) ответил my504 на Так он ругается не на переменную, а на _M_state+476. Вы выделили массив только как переменную (16 бит) с его начальным адресом?
Спасибо большое за помощь, проблема вроде решилась! 

Переменная M_state это объединение (внутри структура 16 бит (unsigned int)), определена она в файле *.c.

В файле ассемблера *.s. она описана вот так (используется там же)

.global misc, bss
 M_state: .space 2

Я добавил атрибут near в месте ее определения и ошибка пропала.

sM_STATE M_state __attribute__((near));

В основной части программы, у меня есть несколько глобальных массивов (для сохранения значения переменный в массив во время выполнения программы, чтобы в отладчике DMCI посмотреть изменение этих переменных в виде графиков). Как только я увеличиваю размер массива больше определенного значения (при этом заполнение памяти данных становиться больше 54%), то ошибка такая была.