Новый курс по микроконтроллерам — совместный проект индустрии и университетов

в 6:06, , рубрики: assembly, cloud computing, digilent, imagination technologies, Microchip Technology, mips, MIPS microAptiv UP, national instruments, PIC32MZ, rtos, интерфейсы, Облачные вычисления, параллельное программирование, программирование микроконтроллеров

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

07_Communications

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

https://community.imgtec.com/university/resources/connected-microcontroller-lab/

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

“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:

01_Introduction

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

01_Introduction_2

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

02_Software_Basics

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

03_Basic_Peripherals_Port_IO

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

04_Basic_Concurrency_And_Interrupts

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

04_Basic_Concurrency_And_Interrupts_2

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

05_Analog_Interfacing

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

06_Timers_and_Counters

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

07_Communications_2

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

07_Communications_3

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

08_Other_Peripherals

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

09_Arduino_Shield_Interfacing

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

10_Advanced_Concurrency

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

11B_CPU

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

11C_CPU

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

11C_CPU_2

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

12A_Performance

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

12B_Performance

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

13_IoT_and_FlowCloud

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

00_Acknowledgments

Автор: YuriPanchul

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js