Интерфейсы связи с ПК
Обновление прошивки и взаимодействие с MSTN-M100 осуществляется посредством USB интерфейса. USB модуль стандартной библиотеки MSTN предоставляет три программных интерфейса USB:
1. Управляющий
2. Интерфейс данных
3. Программный COM-порт
Управляющий интерфейс предназначен для обновления прошивки, вызова функций на плате, чтения значения переменных, синхронизации времени Платы с временем на ПК и других управляющих функций. Доступ к этому интерфейсу предоставляется посредством C++ библиотеки «MstnClient_CTRL.lib» (и биндинга к ней на языке Python) (подробнее см. Software библиотеки).
Интерфейс данных предназначен для соединения с потоками ввода-вывода платы (stdin/stdout) и приема/передачи информации между ПК и платой. Доступ к этому интерфейсу может быть получен с помощью C++ библиотеки «MstnClient_IO.lib» (и биндинга к ней на языке Python) (подробнее см. Software библиотеки).
Интерфейс COM порта предоставляет программный COM порт для связи платы с ПК под управлением ОС Windows10. Для операционных систем Windows 7/8.1 предоставляется приложение для симуляции терминала COM-порта.
К каждому из интерфейсов единовременно может иметь подключение только один процесс. Одновременное подключение к обоим интерфейсам Платы может осуществляться из одного процесса.
Среды разработки программного обеспечения
Основной средой разработки программного обеспечения(ПО) для Платы является NetBeans IDE – легкая и простая для начинающих среда разработки, поддерживающая множество технологий – от Java и PHP до C/C++ и Fortran и позволяющая создавать проекты любого уровня сложности.
Благодаря её открытости и плагинам из Программного окружения, написание кода, загрузка на плату и отладка ваших программ становятся такими же простыми, как если бы вы создавали обычное приложение для вашего ПК.
Информацию о настройке IDE и установке плагинов вы можете найти в разделе Начало работы с платой.
Подробное описание плагина взаимодействия с Платой вы найдете в разделе Описание плагина MSTN для NetBeans IDE.
Руководство по отладке микропрограмм Платы с использованием JTAG отладчика содержится в разделе Отладка микропрограммы в среде NetBeans с использованием JTAG адаптера.
Помимо использования основной среды разработки NetBeans IDE в руководстве приведено описание работы в популярных средах разработки ПО Arduino IDE и Keil, которое вы можете найти в разделах Начало работы с платой в Arduino IDE и Начало работы с платой в Keil.
Host утилиты
В состав Пакета ПО MSTN входят утилиты для работы с Платой посредством интерфейса USB и вспомогательные утилиты, находящиеся в каталоге «C:\Intec\MSTN\M100\bin»:
1. «mstn-m100-client.exe» - предназначена для взаимодействия пользователя с платой MSTN-M100 из интерфейса командной строки Windows. Подробнее о работе с данной утилитой Вы можете прочитать в разделе Описание утилиты mstn-m100-client.exe.
2. «mstn-m100-com.exe» - необходима для работы приложения-эмулятора терминала COM порта для ОС Windows 7/8.1.
3. «mstn-m100-nb-control.exe» - посредством данной утилиты NetBeans плагин взаимодействует с управляющим интерфейсом Платы.
4. «mstn-m100-nb-talk.exe» - посредством данной утилиты NetBeans взаимодействует с интерфейсом ввода/вывода Платы.
5. «mstn-sigint-gen.exe» - утилита, генерирующая сигнал SIGINT для сигнала останова GDB сервера при JTAG-отладке в NetBeans, нормального завершения сеансов взаимодействия с Платой плагином NetBeans и эмулятором терминала COM порта.
Так же, для операционных систем Windows 7/8.1 поставляется приложение «MSTN_ComTerminalSimulator.exe», обеспечивающее связь с Платой по COM-потоку интерфейса USB.
Firmware библиотека
В состав программного окружения MSTN входит arm-none-eabi-gcc библиотека «libMSTN-M100.a», имеющая в своем составе CRT0 процедуру, обеспечивающую инициализацию тактирования микроконтроллера, всех выводов платы, модуля часов реального времени, потоков ввода/вывода и интерфейса USB. Так же она содержит множество программных модулей для работы с различными периферийными модулями микроконтроллера, установленного на Плате и имплементирует процедуры, необходимые для некоторых стандартных Си-библиотек («time.h», «stdio.h») тулчейна ARM-none-eabi-GCC. Так же она включает в себя некоторые модули Standard Peripheral Library от компании «Миландр», модули Core ядра ARM Cortex-M3.
Точкой входа является функция «int mstn_main(void)». Внутри неё, после выполнения всех необходимых инициализирующих процедур, вызывается функция «int main(int argc, char *argv[])», являющаяся точкой входа в пользовательскую микропрограмму.
Для более подробного ознакомления с составом библиотеки Вам следует ознакомиться с содержанием заголовочных файлов библиотеки, содержащихся в каталоге «C:\Intec\MSTN\M100\Inc».
Software библиотеки
Для Host приложений, с помощью которых Вы сможете взаимодействовать с платой или расширять функционал вашего ПК, в составе комплекта ПО MSTN поставляются статические Windows-библиотеки «MstnClient_CTRL.lib» и «MstnClient_IO.lib», находящиеся в каталоге «C:\Intec\MSTN\M100\VisualStudio». О предоставляемых ими функциях Вы можете прочитать в заголовочных файлах библиотек («MstnClient_ControlLib.h», «MstnClient_IoLib.h»).
Шаблоны проектов для среды разработки Visual Studio Community 2015, использующих в своем составе Host библиотеки, содержатся в каталоге «C:\Intec\MSTN\M100\Samples\Examples\MSTN_VSCommunity2015».
Так же, для этих библиотек имеются врапперы для языка программирования Python, располагающиеся в каталоге «C:\Intec\MSTN\M100\Py». Подробнее об их использовании см. часть «Использование Python врапперов».
Использование Python врапперов
Для работы с платой с помощью библиотек языка программирования Python, вам понадобится Python версии 3 и установленный «Microsoft Visual C++ Redistributable». Примеры подключения и управления платой приведены ниже.
Пример использования модуля «MstnClient_ControlLib.py»:
Рис. 3
Как пример использования модуля «MstnClient_IoLib.py», предоставлен модуль «MSTN_IO.py»:
Рис. 4
Одновременное подключение к управляющему интерфейсу и интерфейсам ввода/вывода:
Рис. 5
Установка драйверов
Перед началом работы с Платой необходимо провести установку драйверов. Если ваш ПК работает под управлением ОС Windows 10 устанавливать драйверы нет необходимости. Система сама установит все необходимые драйверы. Для продолжения, переходите к главе «Создание и загрузка Вашей первой программы для MSTN-M100».
Если ваш ПК работает под управлением ОС Windows 8.1, позже Вам будет необходимо вернуться к главе «Установка драйверов для ОС Windows 8.1» (об этом будет сказано в нужный момент), а пока переходите к главе «Создание и загрузка Вашей первой программы для MSTN-M100».
Если же на вашем ПК установлена ОС Windows 7, то вам необходимо вручную установить драйверы для всех интерфейсов платы. Для этого выполните действия, описанные в следующей главе «Установка драйверов для ОС Windows 7».