lloyd (05.11.2018 22:57, просмотров: 369) ответил Ксения на Quark'ом я в свое время интересовалась, как возможной альтернативой AVR, но как увидела, что в нем порты ненастоящие, то сразу же в нем разочаровалась. А про Sitara'а ничего плохого не скажу, но это уже "взрослый процессор", который трудно
Так вот я про что и веду речь: в ситаре обрабатывать такие "микроконтроллерные" задачи на основном ядре нафиг не сдалось. Для этого там есть пара RISC-ядер, которые имеют свои GPIO а также могут дотянуться до всего (память, SPI, UART, PWM и прочее), что есть на шине.
Можно ждать фронта тупо в while (__R31 & 0x1) (в асме это транслируется в WBS R31, #1).
Но преимущество такой гетерогенной структуры - в упрощении обмена между "реалтаймовой" и обычной частью, потому что для передачи буффера данных достаточно одному ядру пнуть другое через маилбокс. А для отдельно стоящего МК надо городить помехозащищенный медленный протокол обмена и прочие непотребства.
А уж прерывание на GPIO обрабатывается во всех архитектурах одинаково, вопрос лишь в количестве прослоек между периферией и процессором. Более того, TI - редкий разработчик процессоров, что кладет для своих линухо-МК примеры (на Си) для работы без ОС вообще. Называется StarterWare, очень полезно при работе с PRU-ICSS, ибо код совместим