Омский государственный университет путей сообщения (ОмГУПС (ОмИИТ)). Кафедра «Автоматика и системы управления». ОТЧЕТ по производственной практике.


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
Омский государственный университет путей сообщения

(ОмГУПС (ОмИИТ))





Кафедра «Автоматика и системы управления»




ОТЧЕТ

по производственной практике




Место прохождения производственной практики:

г. Омск, ООО «Системы
комплексной энергоэффективности»

____________________________________________________________________
















Студент гр. 25
i









___________ С.А. Иващенко









______________2017
г.









Руководитель
производственной









практики









доцент кафедры АиСУ









А.Г. Малютин









Оценка: _____________________

_____________________________

_________________
А.Г. Малютин









_____________________2017
г.

















2016/2017

учебный год



2

Содержание

Введение

................................
................................
................................
...................

3

1

Операционная система реального времени RIOT
................................
............

4

1.1

Краткое описание

................................
................................
..............................

4

1.2

Исходный код ОС RIOT

................................
................................
...................

4

2

Работа с ОС RIOT

................................
................................
................................

8

2.1

Обзор среды разработки и необходимого инструментария

.........................

8

2.1.1

Окружение среды разработки

................................
................................
......

8

2.1.2

Компилятор GCC

................................
................................
..........................

9

2.1.3

IDE Eclipse

................................
................................
................................
...

12

2.2

Сборка и запуск ОС
RIOT

................................
................................
..............

16

Заключение

................................
................................
................................
............

19

Библиографический список

................................
................................
.................

20







3

Введение

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

Операционная
система реального времени, ОСРВ


тип операционной
системы, основное назначение которой


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

Спецификация UNIX в редакции 2
даёт следующее определение:
реальное время в операционных системах


это способность операционной
системы обеспечить требуемый уровень сервиса в определённый промежуток
времени.

Хорошая ОСРВ имеет предсказуемое поведение при всех сценариях
нагрузки, включа
я одновременные прерывания и выполнение потоков.

В
ходе прохождения производственной практики

рассматрива
лись

основные аспекты применения операционных систем реального времени на
примере ОС RIOT.




4

1

Операционная система реального времени RIOT

1.1

Краткое описа
ние

RIOT


это небольшая операционная система реального для
встраиваемых
систем, имеющих ограниченный ресурс памяти,
ориентированных на использование в маломощных устройствах, имеющих
беспроводное сетевое соединение. Это ОС с открытым исходным кодом,
выпущ
енная под лицензией GNU Lesser General Public License (LGPL).

Операционная система
RIOT

основана на микроядерной архитектуре.
В отличие от других операционных систем с аналогичными низкими
требованиями к объему требуемой памяти, как, например, Contiki, ОС
RIOT
позволяет использовать для написания прикладной программы такие языки
программирования, как C и C ++, а также предоставляет полный функционал
многозадачности в режиме реального времени.

Операционная система имеет порты для работы на 16
-
разрядных
(напр
имер, TI MSP430) и 32
-
битных архитектурах микропроцессоров
(например, ARM Cortex). Так же готовая сборка операционной системы
RIOT

мо
ж
ет быть запущена

как отдельный процесс в среде ОС Linux или OS X, что
позволяет использовать стандартные инструменты для р
азработки и отладки,
такие как GNU Compiler Collection (GCC), GNU Debugger, Valgrind, Wireshark
и т.д.

Пакет поставки
RIOT
, помимо исходного кода операционной системы
также,

включает в себя
реализации основных

сетевы
х

протокол
ов
, включая
IPv6 и 6LoWPAN.

И
с
ходный код
RIOT

доступен на

GitHub

репозитории, что позволяет
всегда иметь самую свежую версию ОС. ОС
поддерживается международным
сообществом разработчиков ПО с открытым исходным кодом.

1.2

Исходный код ОС RIOT

ОС RIOT распространяется в виде пакета
,

содержащ
его исходный код
текущей версии ОС.

Исходный код RIOT структурирован и собран в пять основных групп,
как показано на рисунке 1.1:



Ядро (каталог core)



Платформо ориентированный код (каталоги cpu; boards)



Драйверы устройств (катлог drivers)



Библиотек
и и код для реализации сетевых протоколов (каталоги sys;
pkg)



Приложения для демонстрации возможностей и для тестирования
(каталог examples; tests)

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


5


Рисунок
1
.
1



Схема каталогов с исходным кодом и а
рхитектура ОС RIOT

Структурные группы проецируются на структуру каталогов RIOT, где
каждая из этих групп находится в одном или нескольких каталогах па
-
кете
дистрибутива RIOT.

Рассмотрим более подробно содержание каждого из каталогов па
-
кета
RIOT.

Ядро (Core)



э
тот каталог с
одержит код ядр
о операционной системы.
Ядро со
стоит из планировщика, механизма межпроцессной коммуникации
(обмена сообщениями), механизм
а

многопоточности и синхронизации
потоков, а также

включает в себя механизм

поддержки структуры данных и
определения тип
ов.

Платформы (Boards)



содержит п
латформозависимый код
, и

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

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

синхронизации центрального проце
ссора с ни
ми.

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

пользовательскими скриптами для
заливки программы во флэш
-
память микропроцессора, или для отладки. Здесь
же находятся конфигурационные файлы, например, для OpenOCD


прогр
аммного сервера для соединения

ПК с аппаратным отладчиком пла
ты.
Для большинства плат, эти файлы находятся в подкаталоге «dist».

ЦПУ (CPU)



з
десь для

каждой поддерживаемой арх
итектуры
процессора есть подкаталог с именем такого микропроц
ессора. В них
6

содер
жится платформ ориентированный код

для

каждой

конкретной
архитектур
ы микропроцессора, содержащий такие особенности, как
настройка

упра
вления питанием (LPM), настройка обработки прерываний и
векторы

прерываний, код запуска, код инициализации таймера и алгор
итмы
их
обработки (например, переключен
ие контекста). Для большинства
микропроцессоров зд
есь также находятся скрипты ком
поновщика, в
подкаталоге «ldscripts».

В подкаталоге для каждого
из
микропроцессов находятся реализации
драйв
еров периферийных устройств
этих процессоров, например, драй
в
ер
порта SPI, UART, GPIO и т.д.

Для многих микропроцессоров имеется обобщение определенного
количества кода (например, все микропроцессоры, основанные на ядре ARM
Cortex
-
M имеют один и тот же ко
д для переключения задач и
обра
ботки
прерываний). Этот общий код помещается в своих подкаталогах, следуя схеме
именования «xxxxx_common».

Драйверы (Drivers)



Этот каталог содержит драйверы дл
я внешних
устройств, таких

как сетевые интерфейсы, датчики и исполни
тельные
устройства. Ка
ждый драй
вер устройства помещается в свой собственный
подкаталог с именем этого устройства.

Все драйверы устройств RIOT основаны на API периферийных
драйверов (напри
мер
, SPI, GPIO и т.д.) и других модулей RIOT. Таким
образом, архитектура драйвера полно
стью

зависит от конкретной реализации
архитектуры аппаратного обеспечения, и не имеет каких
-
либо зависим
остей
от архитектуры процессора
.

Системный
каталог
(Sys)



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

можно найти в этом каталоге.
Библиотеки в
ключают в себя определения структуры данных
,

криптографические

библиотеки
,

н
апример, AES,

а также

API
-
интерфей
сы
высокого уровня, например, реализацию стандарта POSIX
, упра
вление
памятью
.




под
каталог
,

содержащий реализации сетевых протоколов
RIOT. Здесь находятся
реализации стека

сетевых таких, как,

например GNRC
стек.
.

П
римеры

(
Examples
)



здесь

на
ходятс
я

пример
ы приложений, которые
демон
стрируют определенные
особенности и возможности ОС

RIOT.
Примеры программ, которые находится в этом каталоге являю
тся хорошей
отправной точкой для тех, кто

в первый раз работает с ОС
RIOT.

Тесты

(Tests)



многие функции и

модули в RIOT поставляются с их
собственным
и

прил
ожения
м
и

для тестирования, которые расположены в этом
каталоге. В отличие от примеров, эти тесты в основном сосредоточив
ают свое
внимание на од
ном

отдельном

ас
пекте, чем на множестве функций
.

Doc


в
се инст
рументы
для работы с

RIOT можно найти в эт
ом

каталоге
.

Каталог
Doc

содержит конфигурацию D
oxygen
.

7

Наконец, каталог

dist содержит инструменты
,
упрощения работы

с
RIOT. К ним относятся применение последовательного терминала pyterm,
общие сценарии для
прошивки, отладки, переустановки (например, под
держка

отладчика OpenOCD, JLINK ). Кроме того
,
здесь

находятся скрипты
, чтобы
сд
елать все виды кода и стили про
верок.





8

2

Работа с ОС RIOT

2.1

Обзор среды разработки и необходимого инструментария

2.1.1

Окружение

среды
разработки

ОС RIOT является проектом с открытым исходным кодом. Для
разработки и отладки приложений под ОС RIOT необходимо использовать
Unix окружение. Следовательно, ОС на которой строится среда разработки
должна быть Unix


подобной, поэтому было решено
использовать
дистрибутив на базе ядра Linux, а

именно, Linux Mint

Linux

Mint



дистрибутив операционной системы
Linux
. Изначально
Linux

Mint

основывался на
Ubuntu
, впоследствии число его вариаций стало
расти и появилась ветка дистрибутивов на основе
Debian

c

репозиториями
ветки
testing

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


Mate
,
Cinnamon

(является оболочкой для
среды рабочего стола
GNOME
, являющаяся ответвлением от кодовой базы
GNOME

Shell
),
KDE
,
Xfce

и другие. Так как сборки
Linux

Mint

в большинстве
своём отличаются от
Ubuntu

лишь составом включённых в дистрибутив
пакетов, то совместимость с
Ubuntu

очевидна, что признают и сами
разработчики.

Изначально проектом было предусмотрено, что за один выпуск
Ubuntu

может выпускаться несколько версий
Linux

Mint
. Однако с версии
Elyssa
,
имеющей порядковый номер 5.0, этот подход был упразднён. Дистрибутивы
стали нумероваться целыми числами, так как было принято решение следовать
стандартному шестимесячному циклу
разработки
Ubuntu
. С версии 17.0
(кодовое имя
Qiana
) дистрибутив переведён на двухлетний цикл разработки и
стал базироваться исключительно на
LTS
-
версиях
Ubuntu
. Промежуточные
выпуски будут иметь нумерацию 17.1, 17.2 и т. д.

Минимальные системные требовани
я
Linux

Mint

такие же, как и у
Ubuntu
:




x
86 процессор (Для
Linux

Mint

64
-
bit

требуется 64
-
bit

процессор.
Linux

Mint

32
-
bit

работает и на 32
-
bit
, и на 64
-
bit

процессорах);



512 Мб оперативной памяти (
RAM
);



4 Гб на жёстком диске (
HDD
) для установки;



в
идеокарта, поддерживающая разрешение 800х600 с

объемом
видеопамяти более
128 Мб;



привод
CD
-
ROM

или порт
USB
.

Специально для своего дистрибутива программистами
Linux

Mint

была
разработана дружелюбная среда рабочего стола
Cinnamon
, которая, как и
Mate
,
пред
назначена быть продолжением проекта
GNOME

2 в плане более
традиционного и привычного подхода к интерфейсу пользователя, нежели
Unity

или
GNOME

3
.

В состав
Linux

Mint

входит модернизированное главное меню на базе
GNOME
. Оно похоже на
Slab

(меню
OpenSUSE
), которое подразделено на
разделы: «Места», «Система», «Все приложения», а также «Избранное». Такая
концепция меню позволяет быстрее управлять приложениями и параметрами
9

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

или меню
Ubuntu
.

Linux

Mint

включает свой собственный менеджер программ
(
mintInstall
), который обеспечивает удобную н
авигацию по программным
категориям, поиск по ключевым словам, лёгкую установку в фоновом режиме,
а также сортировку программ по рейтингу и популярности. Менеджер
программ доступен в разделе «Система» главного меню.

Mint

Update



собственный менеджер для ги
бкой установки
обновлений в
Linux

Mint
. По умолчанию включает в себя установку
следующих уровней пакетов:



сертифицированные пакеты от сообщества
Linux

Mint
;



рекомендуемые пакеты, проверенные сообществом, например,
пакеты
Canonical
;



непроверенные, но
безопасные с высокой степенью вероятности
пакеты, например, пакеты третьих разработчиков;



небезопасные пакеты, потенциально могут повлиять на стабильность
системы;



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

2.1.2

Компилят
ор

GCC

В состав

ОС Linux Mint
уже входит компилятор
GCC
, который
используется для сборки приложений

под ОС RIOT.

GNU

Compiler

Collection

(обычно используется сокращение
GCC
)


набор компиляторов для различных языков программирования,
разработанный в рамках

проекта
GNU
.
GCC

является свободным
программным обеспечением, распространяется фондом свободного
программного обеспечения (
FSF
) на условиях
GNU

GPL

и
GNU

LGPL

и
является ключевым компонентом
GNU

toolchain
. Он используется как
стандартный компилятор для свободных
UNIX
-
подобных операционных
систем.

Изначально названный
GNU

C

Compiler

поддерживал только язык Си.
Позднее
GCC

был расширен для компиляции исходных кодов на таких языках
программирования, как
C
++,
Objective
-
C
,
Java
, Фортран,
Ada

и
Go
.

С версии 4.2.2
GCC

перешёл на лицензию
GPLv
3.

Начало
GCC

было положено Ричардом Столлманом, который
реализовал первый вариант
GCC

в 1985 году на нестандартном и
непереносимом диалекте языка Паскаль; позднее компилятор
был переписан
на языке Си Леонардом Тауэром и Ричардом Столлманом и выпущен в 1987
год
у

как компилятор для проекта
GNU
, который сам по себе являлся
свободным программным обеспечением. Разработка
GCC

курируется
Free

Software

Foundation
.

10

В настоящее время
GC
C

поддерживается группой программистов со
всего мира.
GCC

является лидером по количеству процессоров и
операционных систем, которые он поддерживает.

Будучи официальным компилятором системы
GNU
,
GCC

также
является главным компилятором для сборки ряда других операционных
систем; среди них


различные варианты
Linux

и
BSD
, а также
ReactOS
,
Mac

OS

X
,
OpenSolaris
,
NeXTSTEP
,
BeOS

и
Haiku
.

GCC

часто выбирается для разработки программного обеспечения,
котор
ое должно работать на большом числе различных аппаратных платформ.
Различия между «родными» для каждой из аппаратных платформ
компиляторами приводят к трудностям при разработке кода, который бы
корректно компилировался разными компиляторами, а кроме того,
при
использовании различных компиляторов сильно усложняются сборочные
скр
ипты, которые должны собирать программное обеспечение

для всех
аппаратных платформ. При использовании
GCC

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

В стандартной комплектации компилятор
GCC

включает в
себя
инструменты для сборки приложений под архитектуру процессора
x
86.

В
проекте ис
пользуется процессор

с архитектурой
ARM

Cortex
-
M
4
. Для сборки
приложений под указанную архитектуру необходимо в дополнение к
компилятору
GCC

установить
пакет
GNU ARM Embedde
d Toolchain
.

Пакет GNU ARM Embedded Toolchain
является набор
ов инструментов
GNU на основе компилятора GCC
,
ориентированных на сборку приложений
под различные архитектуры встраиваемых

проц
ессоров ARM, а именно
семейства процессоров Cortex
-
R и

Cortex
-
M
, охва
тывающих Cortex
-
M0
,
Cortex
-
M3, Cortex
-
M4, Cortex
-
M0 +, Cortex
-
M7, ARMv8
-
M
.

Базовые и
магистральный, Cortex
-
R4, Cortex
-
R5, Cortex
-
R7 и Cortex
-
R8.

Для установки пакета GNU ARM Embedded Toolchain необходимо
перейти на официальную страницу проекта и скачать сб
орку под
интересующую нас платформу. В нашем случае это сборка под
Linux
.

После скачивания, содержимое архива переносим в каталог /
opt
.
Как
показано на рисунке

2.1.

В каталоке
/
bin

установленного пакета находятся исполняемые файлы
компилятора под архитекту
ру
ARM

и программного отладчика
gdb
. Если
попробовать вызвать это программы напрямую из командной строки, то
системы выдаст ошибку, т.к. не сможе их найти. Для того, что бы ОС linux
узнал где находятся нужные нам исполняемые файлы, необходимо задать
переме
нную среды, однако это придется делать после каждого перезапуска ОС
linux. Поэтому более удобным вариантом является создание символьных
ссылок на исполняемые файлмы в каталоге
/
usr
/
bin

ОС Linux
, т.к.
именно этот
коталог проссматривает ОС Linux когда ищет
команду, которую польхователь
ввел в терминале.

11


Рисунок

2
.
1



Установка

пакета
GNU

ARM

Embedded

Toolchain

Помимо компилятора и отладчика каталог
/
bin

пакета
GNU ARM
Embedded Toolchain содержит еще и другие

исполняемые файлы
инструментов

работы с архитектурой ARM. Для всех них нужно создать
символьную ссылку в каталоге
/
usr
/
bin
. Делать это, вводя отдельную команду
для каждого файла довольно утомительно, кроме того легко ошибиться.
Поэтому, был написан
Bash
-
скрипт, который автоматически создает
символьные ссылки для всех файлов. Код скрипта приведен на рисунке 2.2.


Рисунок
2
.
2



Скрипт для создания символьных ссылок

Запустим скрипт, и создадим ссылки (см. рис
унок 2.3).


Рисунок
2
.
3



Результат выполнения скрипта

12

На этом установка пакета GNU ARM Embedded Toolchain окончена.

2.1.3

IDE

Eclipse

Для
удобства разработки и отладки приложений было решено
использовать интегри
рованную среду разработки. На рынке представленной
множество уже готовых сред разработки по
ARM
, однако большая часть из
них имеет проприетарную лицензию и работает под ОС Windows. Поэтому
решено использовать свободно распространяемую, кроссплатформенную
I
DE

Eclipse.

Eclipse



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

Foundation
.

Наиболее известные приложения на основе
Eclipse

Platform



это

различные «
Eclipse

IDE
» для разработки

ПО на множестве языков (например,
наиболее популярный «
Java

IDE
», поддерживавшийся изначально, не
полагается на какие
-
либо закрытые расширения, использует стандартный
открытый
API

для доступа к
Eclipse

Platform
.

Первоначально
Eclipse

разрабатывалась фирмо
й
IBM

как преемник
среды разработки
IBM

VisualAge
, в качестве корпоративного стандарта
IDE

для разработки на разных языках под платформы
IBM
. По сведениям
IBM
,
проектирование и разработка
стоили 40 миллионов долларов.

Исходный код
был полностью открыт и сд
елан доступным после того, как
Eclipse

был
передан для дальнейшего развития независимому от
IBM

сообществу.

В
Eclipse

версии
3.0 (2003 год) были выбраны спецификации сервисной
платформы
OSGi
, как архитектура среды исполнения. С версии 3.0
Eclipse

перестал
быть монолитной
IDE
, поддерживающей расширения, а сам стал
набором расширений. В основе лежат фреймворк
OSGi

и
SWT
/
JFace
, на основе
кот
орых разработан следующий слой


RCP

(
Rich

Client

Platform
, платформа
для разработки полноценных клиентских приложений).
RCP

служит основой
не только для
Eclipse
, но и для других
RCP
-
приложений, например,
Azureus

и
File

Arranger
. Следующий слой


сам
Eclipse
, представляющий собой набор
расширений
RCP



редакторы, панели, перспективы, модуль
CVS

и модуль
Java

Development

Tool
s

(
JDT
).

С 2006 года фонд
Eclipse

координирует ежегодный общий релиз
(
Simultaneous

Release
), который происходит в июне. Каждый выпуск включает
в себя платформу
Eclipse
, а также ряд других проектов
Eclipse
.

Установка IDE Eclipse

не представляет б
о
льших затруднений.
Для
этого необходимо скачать пакет установщика, и запустить его с правами
администратора. В открывшемся окне предлагается выбрать специализацию
IDE
, см. рисунок 2.4.

Выбираем

пункт

Eclipse

IDE

for

C
/
C
++
Developers
.

13


Рисунок
2
.
4



Окно установки
Eclipse

Далее программа установки предложит выбрать каталог
,

в который
будет установлена
среда. Выбираем
каталог /opt/arm
-
ide
.


Рисунок
2
.
5



Окно установки Eclipse

14

После установки Eclipse IDE необходимо установить необходимые
плагины для разработки программного обеспечения по АРМ. Для этого
переходим в окно установки плагинов и выбираем необходимые, как показано
на рисунке 2.6.


Рисунок
2
.
6



Окно установки плагинов Eclipse IDE

В данном случае
у
станавливаются вспомогательные элементы для
корректной связи
Eclipse

с установленными инструментами сборки и
компиляции приложений под
архитектуру
A
RM
.

Для разработки программного обеспечения под ОС
RIOT

в среде
Eclipse

соз
д
аем проект
, использующий

утилиту

Makefile для сборки
приложений. После создания проекта импортируем в него исходный код ОС
RIOT
.
Для этого выбираем соответствующий пункт в меню, а
в открывшемся
окне необходимо указать путь к исходникам ОС RIOT.

После импорта исходников в дереве проекта отразится папка RIOT.
Теперь можно работать с исходным кодом и добавлять свои приложения в
рамках проекта.

Ниже,
н
а

рисунках приведены файлы исходных

кодов, открытые в
среде Eclipse.


15

На рисунке 2.7 приведен исходный код, содержащийся в файле main.c.


Рисунок
2
.
7



В среде Eclipse открыт фай main.c

На рисунке 2.7 приведен код,

скрипта
Makefile
,

п
редназначенн
о
го
для
утилиты make,

о
твечающей
за сборку проекта.


Рисунок
2
.
8



В среде Eclipse открыт скрипт Mak
efile

для утилиты
make

16

2.2

Сборка и запуск ОС
RIOT

Утилита make, входящая в состав компилятора
GCC

может запускаться
ка под
интегрированной
средой
разработки, так и просто из под командной
строки.

Соберем пример проекта, в качестве которого выступит нативная
сборка ОС RIOT (сборка под стандартную архитектуру процессора
x
86,
которая запускается как проц
есс в ОС linux). Следует учесть тот факт, что ОС
RIOT ориентированная на работу в сети и имеет сетевое соединение.

По
-
умолчанию,

для эмуляции сетевого соединения используется технология
виртуальных сетевых интерфейсов
TUN
/
TAP
.

На стройка такого интерфейса

не занимает много времени. Требуется
всего лишь внести запись об данном интерфейсе в конфигурационный фай
/
/
network
/
interfaces
, как показано на рисунке 2.9. Назовем новый интерфес
tap0.


Рисунок
2
.
9



Конфигурационный файл
/
/
/
interfaces

После выполнения данной операции, перезапустим сетевые
интерфейсы и выведем конфигурацию сетевых интерфейсов, что бы убедитсо
что интерфейс tap0 установлен и работает (см. рисунок 2.10).


Рисунок
2
.
10



Перезапуск сетевых интерфейсов.

17

Для сборки проекта необходимо перейти в папку с исходным кодом и
выполнить команду make, которая вызовет утилиту make для сборки проекта
из исходных файлов (см. рисунок

2.11).


Рисунок
2
.
11



Сборка проекта утилитой make

Сборка проекта прошла успешн
о.

В результате сборки проекта получен
бинарный исполняемый файл «default.elf»
.

Для запуска сборки необходимо ввести к
оманд
у
«make term» в
терминале.
В
результате ввода данной команды в терминале будет запущен,
полученный при сборке бинарный файл, т.е. готовая к работе ОС RIOT.

Нативная сборка ОС RIOT запустится
в текущем терминале
как
процесс в среде Linux

(см. рисунок 2.12)
.
П
ри запуске
ОС RIOT
инициализирует элементы виртуального окружения, как, например,
светодиоды и аппаратную платформу. Далее, запустится функция main() и на
экран будет выведено сообщение приветствия ОС RIOT.

18


Рисунок
2
.
12



За
пуск наивной сборки ОС
RIOT

Так же
,

по умолчанию
, в сборку ОС RIOT частично интегрированна
системы команд
shel
, поэтому после сообщения приветствия появляется
символ командной строки shel, а операционная система переходит в режим
ожидани
я ввода команды.

Для просмотра встроенных команд введем команду «help».
В
приведенном списке присутствуют команды перезапуска сетевого соединения
(reboot), команда вывода текущих задач (ps)
,
команда для управления
периферийными интерфейсами (
rtc
),
команда
вывода конфигурации сетевых
интерфейсов

(
ifconfig
)
, команда для пересылки строки символов через
указанный интерфейс (
txtsnd
), команда эмуляции прерывания от устройств
ввода информации

(saul).





19

Заключение

В ходе
прохождения производственной практики

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

из и
с
ходников

и зап
ущен в виртуальном
окружении, как процесс ОС Linux.






20

Библиографический список

1.

Таненбаум Э. Современные операционные системы [Текст] / Э.
Таненбаум


3
-
е изд.


Санкт Питербург.: Питер, 2010.


1120с.

2.

Климентьев К.Е. Системы реального времени: обзорный курс лекций
[Текст] / К.Е. Климентьев. Самара: Самар. гос. аэрокосм. ун
-
т. Са
-
мара, 2008.


45 с.

3.

Бурдонов И.Б., Операционные системы реального времени [Элек
-
тронный ресурс] / И.Б. Бурдонов, А.С. Косач
ев, В.Н. Пономаренко


Электрон.
текст. данные. : Препринт Института системного программиро
-
вания РАН


[режим доступа] http://citforum.ru/operating_systems/rtos/1.shtml

4.

The friendly Operating System for the Internet of Things [
Электронный

ресурс
] /
Эле
ктрон
.
текст
.
данные
. :


[
режим

доступа
] https://riot
-
os.org/




Приложенные файлы

  • pdf 4771025
    Размер файла: 1 MB Загрузок: 0

Добавить комментарий