Основы программирования встраиваемых систем

Санкт-Петербург, весна 2017

Описание

Курс Основы программирования встраиваемых систем открывает для своих слушателей удивительный мир микроконтроллеров. Среди окружающих нас приборов все сложнее встретить такие, в которых их нет. Часы и светофоры, системы освещения, электронные игрушки и роботы, телевизоры и пылесососы, микроволновки и чайники, автомобили и медицинские приборы, охранные системы и умные дома... – все это оживает благодаря микроконтроллерам.

В курсе будут разбираться следующие вопросы:

  • отличия микроконтроллеров от традиционных компьютеров
  • обзор популярных семейств микроконтроллеров (ARM, AVR, MSP430,...) , их возможностей, а также проектов на их основе
  • настройка среды разработчика и написание программ на Си и ассемблер
  • обзор периферийных интерфейсов и протоколов
  • ввод/вывод общего назначения и подключение различных внешних устройств
  • работа с прерываниями и таймерами
  • сведения о начальной загрузке и инициализации контроллера

В отличие от многих теоретических дисциплин, данный курс носит исключительно практический характер. Каждый сможет собрать и запрограммировать несколько вполне реальных устройств и схем, однако, придется попотеть при изучении мануалов и технических описаний.

За курс выставляется бинарная итоговая оценка: зачет/незачет. Для получения зачета необходимо пройти финальный теоретический тест и выполнить все практические задания.

Преподаватели

Список лекций

Введение. Предварительные сведения
  • Обзор курса
  • Вспоминаем электротехнику.
  • Что такое микроконтроллер. MCU vs CPU
  • Правила подключения микроконтроллера
  • Примитивный ввод/вывод
Arduino. Основные сведения
  • Контроллеры AVR
  • Платы Arduino
  • Обзор Wiring и Arduino IDE
  • Простейшие цепи. Программирование вывода.
  • Обзор периферии для домашних экспериментов и курсового проекта.
Загрузчик. Прерывания и таймеры

В лекции будут рассмотрены:

  • Процесс сборки и загрузки программы (linux toolchain)
  • Прерывания
  • Таймеры
Обзор последовательных интерфейсов

В лекции рассматриваются такие интерфейсы как I2C, UART, а также обсуждаются практические вопросы обмена информацией между двумя контроллерами Arduino

Обзор контроллера MSP-430

В лекции рассматривается контроллер MSP-430, и его особенности. Обсуждается порядок его программированя и использования в сравнении с Arduino