Новий курс за мікроконтролерів для інтернету речей — спільний проект індустрії та університетів

Британська компанія, дві американські компанії і 18 університетів (включаючи російські МИЭТ, ІТМО, СГАУ, ННТУ) співпрацювали, щоб випустити курс за мікроконтролерів в контексті інтернету речей. Про це – сьогоднішній прес-реліз 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

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.