Дополнительная профессиональная программа профессиональной переподготовки

«Программирование для встраиваемых систем»

        1. Цель обучения

        Подготовка специалистов по разработке программного обеспечения (ПО) для встраиваемых систем (ВС) и его интеграции в программно-аппаратные комплексы из управляющих устройств и датчиков различного назначения.
2.      Целевая аудитория
        Инженерно-технические работники предприятий космической отрасли, автомобилестроения, промышленной электроники, станкостроения и пр.


3.     
Приобретаемые знания и умения

знания:

·        основы программирования;
·        наиболее используемые встраиваемые операционные системы;
·         стандартные интерфейсы подключения периферийных устройств;
·        проектирование ВС на базе систем на кристалле (SoC) и их аппаратных особенностей;
·        использование операционной системы (ОС) Linux для ВС;
·    изучение функционирования периферийных модулей, поддерживающих интерфейсы обмена данными I2C, SPI, 1-Wire и UART и их подключение через порты ввода-вывода общего назначения (GPIO);
·        возможности готовых программных решений на основе свободного ПО для ВС;

умения:

·         приобретение практических навыков разработки и отладки ПО для ВС, включая программную поддержку подключения внешних устройств;
·         навыки разработки  устройств на основе цифровых микропроцессорных технологий.

Разработанные устройства смогут применяться в интернете вещей, для прототипирования электронной измерительной и бытовой техники.

4.      Объем обучения и виды учебной работы (академические часы)

Вид учебной работы

Всего часов

Общая трудоемкость

500

Очные занятия, в том числе:

100

· Лекции

34

· Семинары

10

· Лабораторные работы

48

· Аттестация

8

Дистанционное обучение

400

5.      Форма обучения

Очная с применением дистанционных технологий
6.      Число слушателей в группе

Не более 20  чел. Для лабораторных работ: не более 5 чел. в одной подгруппе.
7.      Сроки обучения
По согласованию с Заказчиком
8.      Место занятий
НИТУ «МИСиС», г. Москва, Ленинский проспект, 4.
9.      Аттестация
Форма аттестации: защита выпускной работы.
После успешной аттестации слушателям выдается диплом МИСиС о профессиональной переподготовке с правом работы по данному направлению.
10.  Учебно-методическое обеспечение
Комплект раздаточного материала для каждого слушателя (программа, основные тезисы каждого занятия, схемы, таблицы, глоссарий, контрольные вопросы).
11.  Материально-техническое обеспечение
·       Аудитория, которая оснащена комплектом оборудования для мультимедийного сопровождения (проектор, экран, компьютер), флипчарт или доска.

·       Специализированная лаборатория для проведения лабораторных работ.
12.  Содержание программы
13. 
Рекомендуемая литература

Содержание

Объем, академ. часов

Лекции

Семинары

Лаб. работы

Самост. раб

Раздел 1. Операционные системы для ВС

12

0

24

130

Лекции.
1.1. Обзор и сравнение ОC для ВС. Режим работы без ОС. Встраиваемые ОС реального времени.
1.2. Принципы организации, архитектура ОС Linux.
1.3. Конфигурирование, администрирование и настройка ОС Linux. Базовые службы. Основные утилиты Linux. Архитектура ядра. Архитектура памяти и принципы её управления. Файловая система. Процессы и потоки. Взаимодействие между процессами.
1.4. Многозадачность и планирование. Прерывания.
1.5. Конфигурирование и сборка ядра. Драйверы устройств.
1.6. Поддержка сети в ОС Linux. Общая модель сетевого взаимодействия OSI. Семейство протоколов TCP/IP.

12

 

 

90

Лаб. работы.
1. Инструментарий Linux
2. Управление процессами.
3. Командный интерпретатор BASH.
4. Первая программа
5. Препроцессор; форматированный вывод на экран.
6. Переменные; базовые типы данных; форматированный ввод.
7. Условные операторы; операторы цикла.
8. Массивы; сортировка.
9. Адресная арифметика; динамическое выделение памяти
10. Работа со строками.
11. Сложные типы; работа с файловой подсистемой.
12. Символьная отладка.
13. Процессы; взаимодействие процессов.
14. Управление потоками.
15. Сетевое взаимодействие.
16. Подготовка отладочного стенда в OC Linux

 

 

 

 

 

 

24

 

 

 

 

40

Раздел 2. Разработка прикладного ПО для ВС

12

0

15

120

Лекции.
2.1. Классификация языков программирования.
2.2. Сборка и отладка программ для ВС. Инструменты сборки и отладки программ. Интегрированные среды разработки (IDE). Аппаратные средства отладки. Кросскомпиляция.
2.3. Языки программирования низкого уровня.
2.4. Языки программирования высокого уровня. Основы синтаксиса языка С.
2.5. Системные вызовы и функции стандартных библиотек. Обработка ошибок.
2.6. Программная поддержка интерфейсов GPIO, I2C, SPI, 1-Wire и UART.

12

 

 

90

Лаб. работы.
1. Подключение светодиода (GPIO)
2. Подключение нефиксируемого переключателя (GPIO)
3. Разработка универсальной библиотеки для работы с GPIO интерфейсом
4. Подключение 4-ех позиционного LED индикатора (GPIO)
5. Подключение датчика температуры и влажности (GPIO)
6. Подключение ультразвукового датчика расстояния (GPIO)
7. Разработка универсальной библиотеки для работы I2C интерфейсом
8. Подключение модуля для измерения ускорения (I2C)
9. Подключение модуля для измерения давления (I2C)10. Аналого-цифровое преобразование с использованием 16-битного АЦП (I2C)

 

 

15

30

Раздел 3. Основы проектирования ВС

10

0

9

110

Лекции.

3.1. Классификация ВС. Основные компоненты ВС. Примеры ВС. Архитектура ВС.
3.2. Основные типы архитектуры микропроцессоров для ВС (ARM, MIPS): особенности систем команд и прерываний.
3.3. Типовые аппаратные интерфейсы и протоколы обмена данными.
3.4. Основные типы архитектуры микропроцессоров для ВС (структура, система команд и прерываний, язык ассемблера).
3.5. Стандартные интерфейсы ввода/вывода для внешних устройств (USB, Ethernet, GPIO, I2C, SPI, 1-Wire, UART).

10

 

 

92

Лаб. работы.
1. Разработка универсальной библиотеки для работы с SPI интерфейсом
2. Подключение светодиодной панели (SPI)
3. Подключение модуля работы с внешней FLASH-памятью (SPI)
4. Подключение цифрового термометра по 1-Wire интерфейсу
5. Подключение GPS модуля (UART)
6. Подключение GSM модуля (UART)
7. Подключение Bluetooth модуля (UART)

 

 

9

18

Подготовка и защита выпускной работы

 

10

 

40

ИТОГО ЧАСОВ

34

10

48

400

ВСЕГО

500

1)     Робачевский А., Операционная система UNIX, "BHV", 1997.

2)      Эви Немет, Гарт Снайдер и Трент Хейн, Руководство администратора Linux. Второе издание, "Вильямс", 2007.

3)     Керниган Б., Ритчи Д., Язык программирования Си. Второе издание, "Вильямс", 2007.

4)     Дональд Э. Кнут, Искусство программирования, том 1. Основные алгоритмы, "Вильямс", 2011 (1998).

5)     Михаил Гук, Аппаратные интерфейсы, "Питер", 2002.

6)     Стюарт Болл Р., Аналоговые интерфейсы микроконтроллеров, "Додэка-ХХ1", 2007.

  14.  Автор программы

Иванов Иван Алексеевич, кандидат физ.-мат. наук, доцент / кафедра Теоретической физики и квантовых технологий НИТУ «МИСиС»

Программа рассмотрена и одобрена на заседании кафедры ТФКТ    01.03.2017г.

Зав. кафедрой ТФКТ, д.ф.-м.н, профессор Мухин Сергей Иванович.