ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
29801
alex1305 (20.05.2005 02:04, просмотров: 1874)
GCC и IRQ Привет всем! При попытке написать обработчик IRQ на CW как функцию с __attibute__(( interrupt ("IRQ") )) наблюдается следующее: без оптимизации все OK; включаешь оптимизацию - программа падает по исключению После раскопок в интернете выяснилось, что в GCC по этому поводу есть bug и он в некоторых случаях неверно генерирует сохранение и извлечение регистров в стек. После того, как я написал обработчик как __attibute__(( naked )) и руками загнал все регистры в стек все заработало на любом уровне оптимизации. Сталкивался ли кто-нибудь с подобным?