Ведение - 2 |
17 |
MDR32F9Qx_Standard_Peripherals_Library.chm, созданный Doxygen-ом по исходным текстам CMSIS и библиотеки стандартных периферийных модулей версии 1.3.0. ф. "Миландр".
Рисунок 1 Хелп-файл к библиотеке стандартных периферийных модулей
В нашем курсе МПСАУ освоение Doxygen, и использование информационных ресурсов (SVN, Redmine), являются обязательными элементами дисциплины, и прописаны в рабочей программе.
По сгенерированному Doxygen-ом файлу легко ознакомиться с чужим исходным кодом и понять, как эта чужая программа устроена. Кто сталкивался с подобной задачей, тот знает, что это далеко не просто, особенно, если программа большая.
Заметьте, что все комментарии в описанных библиотечных модулях на английском языке. И это неспроста: по поводу выбора языка для комментариев есть очень поучительная фраза в учебном пособии Е.О.Степанова и С.В.Чирикова [4.] на стр.23: «Все комментарии рекомендуется писать на английском языке. Программистов, не владеющих английским, в природе не существует, а вот компиляторы, не поддерживающие кириллицу, к сожалению, встречаются часто.»
Ну не так уж и часто, поэтому до недавнего времени эта фраза как-то не воспринималась всерьёз. Пока однажды не встала задача адаптировать Си-код в среду MatLAB. В этой среде есть встроенный Си-компилятор, так вот он не совсем адекватно реагировал на кириллицу в комментариях. Чтобы это, в конце концов, понять было затрачено много рабочего времени.
Авторы упомянутого учебного пособия работают в том же учебном заведении, что и известный автор учебников по языку Си/Си++ Павловская Татьяна Александровна. В учебном пособии много толковых советов по выбору стиля программирования. Мы в своей работе стремимся их придерживаться. Следовательно, для наших студентов оно обязательно для ознакомления и использования.
Санкт-Петербургский государственный институт точной механики и оптики (бывший
ТУСУР, "Миландр" |
Каф. ЭСАУ |
Недяк С.П., Шаропин Ю.Б |
Февраль 2017 г. |
Ведение - 2 |
18 |
ЛИТМО, военмех), где работают упомянутые авторы, знаменит тем, что США вводили против него санкции, когда ещё бомбили Югославию. Это явный индикатор того, что работать там до недавнего времени умели, а реальная наука, видимо, ещё не окончательно умерла.
1.Непейвода Н.Н. Скопин И.Н. Основания программирования. - Москва — Ижевск: Институт компьютерных исследований, - 2003, 868 стр.
2.Если Вы программируете на С\С++, в основе Вашего стиля кодирования лежит? URL: http://habrahabr.ru/post/116819/.
3.Сацкий Сергей. Стандарт кодирования программ на языке C++. http://satsky.spb.ru/articles/CodingStandard/CodingStandard.php.- 2005г.
4.Степанов Е.О., Чириков С.В. Стиль программирования на С++. - 2001 – c. URL: www.ict.edu.ru/ft/001718//style.pdf.
5.Правила оформления исходного текста программ. - Сайт томского железнодорожного техникума URL: http://www.ttgdt.edu.ru/docs/08/recomend/text_pro.html.
6.Павловская Т.А. C/C++. Программирование на языке высокого уровня. — CПб.: Питер, 2001-2011. - 461 с.
7.Козаченко В.Ф. Эффективный метод программной реализации дискретных управляющих автоматов во встроенных системах управления //
"Энергосбережение" |
№7/2005, |
- |
URL: |
www.motorcontrol.ru/publications/state_mashine.pdf . |
|
|
|
8.Ковязин Р. Выбор технологии программирования встроенных систем // Компоненты и технологии. 2005 № 1 — с. 23
9.Парфенов В.В., Терехов А.Н. RTST - технология программирования встроенных систем реального времени // URL: http://www.math.spbu.ru/user/ant/all_articles/048_Terekhov_Parfenov_RTST.pdf
10.Сборник статей и ссылок по теме «Автоматы» - Национальный Исследовательский Университет Информационных Технологий, Механики и Оптики, Кафедра «Технологии программирования». URL:http://is.ifmo.ru/progeny.
11.Шалыто А.А. Switch-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998. 628 с.
12.Виктор Тимофеев. Как писать программы без ошибок http://www.pic24.ru/doku.php/osa/articles/encoding_without_errors. - ноябрь 2009 г.
ТУСУР, "Миландр" |
Каф. ЭСАУ |
Недяк С.П., Шаропин Ю.Б |
Февраль 2017 г. |
Ведение - 3 |
19 |
Встраиваемые вычислительные системы (Embedded systems) - Встраиваемая
систеима (встроиенная систеима, англ. embedded system) — специализированная микропроцессорная система управления, концепция разработки которой заключается в том, что такая система будет работать, будучи встроенной непосредственно в устройство, которым она управляет.
То есть устройство строится на базе встроенного компьютера, который в то же время не воспринимается пользователем устройства как компьютер (так как не имеет обычного монитора и клавиатуры, не отображает привычной ОС и другого ПО)5.
Микроконтроллер (англ. Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи6. Устаревшее, но используемое название «однокристальная ЭВМ».
Контроллер. 1) Изделие для автоматизации и управления. 2) Микросхема или часть микросхемы реализующая отдельную функцию или задачу управления.
Отладочная, Оценочная (Evaluation) или демонстрационная плата (Board) — электронный модуль, как правило, в бескорпусном изготовлении, содержащий минимально необходимый набор микросхем для разработки ПО для МК.
Структурная электрическая схема — вид схемы, определяемый ЕСКД, как документ, определяющий основные функциональные части изделия, их назначения и взаимосвязи.
Интегрированная среда разработки, ИСР (англ. IDE, Integrated development environment) — система программных средств, используемая программистами для разработки программного обеспечения (ПО).
Обычно, среда разработки включает в себя:
1)текстовый редактор,
2)компилятор и/или интерпретатор,
3)средства автоматизации сборки,
4)отладчик7.
Сходный термин Инструментальная среда, используемая как инструмент разработчика ПО.
JTAG - (сокращение от англ. Joint Test Action Group; произносится «джей-тáг») — название рабочей группы по разработке стандарта IEEE 1149. Позднее это сокращение стало прочно ассоциироваться с разработанным этой группой специализированным аппаратным интерфейсом на базе стандарта IEEE 1149.1. Официальное название стандарта Standard Test Access Port and Boundary-Scan Architecture. Интерфейс предназначен для подключения сложных цифровых микросхем или устройств уровня печатной платы к стандартной аппаратуре тестирования и отладки.
На текущий момент интерфейс стал промышленным стандартом. Практически все сколько-нибудь сложные цифровые микросхемы оснащаются этим интерфейсом для:
•выходного контроля микросхем при производстве;
•тестирования собранных печатных плат;
•прошивки микросхем с памятью;
•отладочных работ при проектировании аппаратуры и программного обеспечения.
Метод тестирования, реализованный в стандарте, получил название Boundary Scan
5Встраиваемые вычислительные системы. Материал из Википедии. URL https://ru.wikipedia.org/wiki/Встраиваемые вычислительные системы
6 Микроконтроллер. Материал из Википедии. URL: https://ru.wikipedia.org/wiki/Микроконтроллер
7 JRAG. Материал из Википедии. URL: https://ru.wikipedia.org/wiki/JTAG
ТУСУР, "Миландр" |
Каф. ЭСАУ |
Недяк С.П., Шаропин Ю.Б |
Февраль 2017 г. |
Ведение - 3 |
20 |
(граничное сканирование). Название отражает первоначальную идею процесса: в микросхеме выделяются функциональные блоки, входы которых можно отсоединить от остальной схемы, подать заданные комбинации сигналов и оценить состояние выходов каждого блока. Весь процесс производится специальными командами по интерфейсу JTAG, при этом никакого физического вмешательства не требуется. Разработан стандартный язык управления данным процессом — Boundary Scan Description Language (BSDL) [Википедия].
J-Link - это JTAG эмулятор с питанием от шины USB, поддерживающий большое количество ядер CPU. Основанный на 32-разрядном RISC CPU, он может с высокой скоростью обмениваться данными со всеми поддерживаемыми CPU. J-Link используется в десятках тысяч мест по всему миру для целей разработки и производства (программирования flash памяти). Поддержка J-Link интегрирована в большинство профессиональных IDE, таких как IAR, Keil, Rowley и многие другие. Наряду с OEM версиями (такими как IAR J-Link, ATMEL SAM-Ice и другими) были проданы более чем 60000 экземпляров J-Links, что позволяет говорить о J-Link как наиболее популярном эмуляторе для ARM ядер и, де-факто, промышленном стандарте8.
SWD - Serial Wire Debug. Двухпроводной отладочный порт, относительно новая альтернатива 20-выводному интерфейсу JTAG.
Регистры общего назначения -РОН (General Purpose Registers - GPR) — Программнодоступные регистры процессора для временного хранения операндов, является самой быстрой (и самой маленькой) памятью вычислительной системы.
Регистры специальных функций (Special Function Registers -SFR) — регистры управления и состояния периферийных модулей МК и регистры ЦП.
Центральное процессорное устройство (ЦПУ) — процессор электронный блок, либо интегральная схема (микропроцессор), исполняющая машинные инструкции (код программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Пример Cortex-M3.
Ядро (процессорное) - часть микропроцессора, содержащая основные его функциональные блоки. Пример CM3Core.
Целью работы является ознакомление с отладочными платами и инструментами разработки для микроконтроллеров 1986ВЕ91Т, 1986ВЕ92У, MDR32F9Q2I, 1986ВЕ93У, 1901ВЦ1Т. Перечень отладочных плат приведен в таблице 2.
Ход работы
1.Ознакомиться с техническим описанием на плату по фирменной документации.
2.Ознакомиться с принципиальной схемой на плату по фирменной документации.
3.Установить и ознакомиться со средой разработки IAR Embedded Workbench (Keil MDK-ARM).
4.Открыть проект мигания светодиодом (аналог программы «привет мир» для МК) или демонстрационный проект в среде разработки см. таблицу 1.
5.Включить отладочную плату, выданную преподавателем. Записать происходящее на ЖК-экране и светодиодах.
6.Подключить J-link к компьютеру (USB) и отладочной плате к разъему JTAG-A.
7.Скомпилировать открытый проект и «залить» его в память МК. Запустить программу
8 Сайт фирмы Терраэлектроника. Описание Продукта J-link компании Segger http://www.terraelectronica.ru/catalog_info.php?ID=838&CODE=556624
ТУСУР, "Миландр" |
Каф. ЭСАУ |
Недяк С.П., Шаропин Ю.Б |
Февраль 2017 г. |
Ведение - 4 |
21 |
на выполнение в пошаговом режиме (Step), и в режиме прогона (Run).
Содержание отчета
1.Описание платы по структурной схеме, составленной Вами из имеющейся принципиальной схемы. Указать идентификационный номер отладочной платы.
2.Примеры участков кода программы, которые непосредственно управляют устройствами отображения информации.
3.Описать происходящее при отладке в пошаговом режиме и в режиме прогона.
4.Описание ошибок сделанных при выполнении работы.
5.Выводы.
Таблица 2 - Список отладочных плат для MK "Миландр" с процессорным ядром Cortex-M3
Наименование устройств |
|
Кол-во |
Спецификация на отладочную плату |
|
|
|
|
|
|
Отладочный |
комплект |
для |
4 |
1986EvBrd_тех_описание.pdf |
МК 1986ВЕ91Т |
|
|
|
|
Отладочный |
комплект |
для |
1 |
1986EvBrd_64_тех_описание.pdf |
МК MDR32F9Q2I |
|
|
|
|
Отладочная комплект для МК |
1 |
1986EvBrd_48_тех_описание.pdf |
||
1986ВЕ93У |
|
|
|
|
Отладочный |
комплект |
для |
2 |
Ex_1901VC1F_rev.pdf (схема принципиальная ) |
двухъядерного (Cortex-M3 + |
|
|
||
TMS320) микроконтроллера |
|
|
||
1901ВЦ1Т |
|
|
|
|
Документация на отладочные комплекты находиться на сервере по адресу: \_For_Students\MPSSAU\Milandr\Отладочная плата\ или на сайте производителя http://milandr.ru.
Современный минимально необходимый инструментарий программиста встраиваемых систем достаточно прост:
1.Инструментальная машина: персональный компьютер или ноутбук, под управлением Windows. К сожалению, описанные в этой работе IDE пока работают только под Windows. Сторонникам проекта GNU и Linux-систем просьба не огорчаться, для Вас конечно же также существует ряд программных продуктов для работы с МК ARM, например: GNU Tools for ARM Embedded Processors
(https://launchpad.net/gcc-arm-embedded)9.
2.Целевая плата, для которой будет разрабатываться ПО, в нашем случае это любая из перечисленных отладочных плат. Внешний вид отладочной платы для МК 1986ВЕ91Т показан на рисунке 2.
3.JTAG - адаптер, который обеспечит доступ к ресурсам МК, его внешний вид показан
9 Описание работы со «свободным» инструментарием ждет своих авторов.
ТУСУР, "Миландр" |
Каф. ЭСАУ |
Недяк С.П., Шаропин Ю.Б |
Февраль 2017 г. |