Британская компания, две американские компании и 18 университетов (включая российские МИЭТ, ИТМО, СГАУ, ННТУ) сотрудничали, чтобы выпустить современный курс по микроконтроллерам c небольшой привязкой к интернету вещей. Об этом – сегодняшний пресс-релиз Imagination Technologies, Microchip Technology и Digilent (отделения National Instruments). Главный автор — профессор Александр Дин из университета Северной Каролины. В отличие от более легковестных курсов интернета вещей, новый курс подводит под предмет твердую инженерную базу – в нем подробно обсуждается использование RTOS-ов, архитектура микропроцессорного ядра микроконтроллера, протоколы периферии и даже оптимизация алгоритмов при программировании.



Скачать курс можно здесь:

https://community.imgtec.com/downloads/connected-microcontroller-lab-v1.2/

В пресс-релизе, помимо цитат из США, Великобритании, Германии, Китая, есть и цитата из России:

“MIET is part of Imagination’s MIPSfpga and Connected MCU Lab beta-testing programs. Our students have benefited from the MIPSfpga hands-on workshops and we are looking forward to implementing the Connected MCU Lab at our university because this course offers an up-to-date and well-structured curriculum for teaching embedded solutions to future engineers.”

– Alexey Pereverzev, Head of Computer Engineering, National Research University of Electronic Technology (MIET), Russia



Пару десятков слайдов из курса, чтобы вы почувствовали его вкус:



Когда стоит использовать микроконтроллеры, а когда — специализированные микросхемы, ПЛИСы или встроенные PC:



Три уровня в курсе — микропроцессорное ядро, микроконтроллер, плата:



Что есть что в ассемблерном коде, странслированном из Си:



Как различные устройства внутри микроконтроллера могут использовать одни и те же выводы из корпуса:



Проблема с последовательными программами как предисловие к параллельному программированию:



Объяснение концепции прерываний как решение проблем с последовательными программами:



Как работают аналоговые периферийные устройства:



Что такое, зачем нужна и как делать широтно-импульсную модуляцию (ШИМ):



Детали протоколов коммуникации с периферийными устройствами, концепция framing:



Вид с «птичьего полета» на систему во время работы программы с несколькими периферийными устройствами:



Что делает контроллер прямого доступа к памяти:



Есть кое-что и для любителей Ардуино:



Введение в операционные системы реального времени:



А вот как двумерный массив вмещается в кэш:



А теперь вглубь, в микроархитектуру микропроцессорного ядра в сердце микроконтроллера:



Объяснение концепции процессорного конвейера, нужного для понимания микроархитектуры:



Так как курс для студентов младших курсов, то есть и просто здравый смысл программирования:



А также несколько напоминаний про структуры данных, чтобы писать эффективные программы:



И про интернет вещей конечно — подсоединение к облаку через WiFi:



Благодарности участникам из университетов за подробные ревью материалов: