"Контекст прерывания" - что вы имеете ввиду? Значения рабочих регистров что-ли. Поясните пожалуйста.
Keil использовать не буду - я уже документации по IAR начитался и читаю дальше, а всё бросать как-то не хочется (даже если вы и правы).
Встречал в документации про переключение банков регистров, но поскольку не владею термином "контекст прерывания", не могу понять ваш совет. МОжно пожалуйста объяснить подробрее.
Далее.
Исходник на функцию сохранения регистров в стек есть в IAR, смотрел, много думал... Вообщем включил оптимизацию - он выкинул вызов этой функции, просто push 9 регистров, и всё в этой часте программы заработало. НО! В другой части он выкинул немаловажный кусок и программе пришёл конец... Подскажите чем компилятор руководствуется вызывать или не вызывать функцию сохранения регистров в стек? Может есть способ как-то на него влиять. Пока буду пробовать разобраться с переключением банков регистров.
|