x893 55 18 ноября, 2020 Опубликовано 18 ноября, 2020 · Жалоба А можно SES поставить. Он стартап на С использует. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 19 ноября, 2020 Опубликовано 19 ноября, 2020 · Жалоба 5 hours ago, VladislavS said: Какие ассемблерные процедуры? Все эти void NMI_Handler() __attribute__ ((weak, alias ("Default_Handler"))); void HardFault_Handler() __attribute__ ((weak, alias ("Default_Handler"))); void SVC_Handler() __attribute__ ((weak, alias ("Default_Handler"))); вполне могут быть ссылками на ассемблерные процедуры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 19 ноября, 2020 Опубликовано 19 ноября, 2020 · Жалоба И что? Чем они от остальных обработчиков принципиально отличаются? Да пусть хоть на Rust будут. Что это меняет? Линкер в любом случае подставит туда их адреса. У IAR стартап для Cortex-M ничего кроме формирования таблицы векторов прерывания не делает. Весь инициализационный код есть в прилинкованой библиотеке. На неё вектор ресета и перенаправлен. В ней же есть вызов функции low_level_init, которую можно вместо CMSIS-овской SystemInit использовать. Обработчики прерываний это уже юзеркод, который на чём хочешь/умеешь на том и пиши. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 19 ноября, 2020 Опубликовано 19 ноября, 2020 · Жалоба 1 hour ago, VladislavS said: И что? Чем они от остальных обработчиков принципиально отличаются? Да пусть хоть на Rust будут. Что это меняет? Линкер в любом случае подставит туда их адреса. Ничего не меняет. Но я и не утверждал обратное. Я лишь указал, что их наполнение (этих процедур, файлы, их содержащие) все равно надо будет прописывать в проекте, а именно этого ТС пытается избежать, пытаясь заинклудить ассемблерный файл в общую сборку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться