[Перевод] Wind River Rocket: начало работы
В этом материале мы расскажем о том, как начать разработку приложений с использованием облачной платформы Helix App Cloud. А именно, поговорим о разработке для Intel Galileo Gen 2 и рассмотрим работу с x86-эмулятором.
Подготовка Rocket Device
Подключимся к Helix App Cloud и подготовим Rocket Device — набор настроек и среду разработки для выбранной аппаратной или эмулируемой платформы. Для того, чтобы начать работу с облачной службой Helix App Cloud, понадобится веб-браузер, работающий в ОС Windows или Linux, и учётная запись на app.cloud.windriver.com. Если у вас такой учётной записи ещё нет — зарегистрируйтесь, это быстро, просто и бесплатно. После входа в учётную запись, создадим Rocket Device.
1. Щёлкните по кнопке New Device в верхней части страницы.
2. В появившемся всплывающем окне щёлкните по ссылке Create a new device…
3. Найдите в списке Wind River Rocket для устройства, которое планируется подключить к облаку. Например — Wind River Rocket for Intel Galileo Gen 2.
4. Щёлкните по кнопке Next Step.
5. Введите имя нового Rocket Device.
6. Нажмите на кнопку Create Device.
После этого будет открыт раздел сайта My Devices, и, когда там появится карточка с именем Rocket Device, это будет означать, что оно создано. Например, вот как он выглядит в нашем случае.
Теперь можно сгенерировать и загрузить образ ОС для установки на устройство и приступить к разработке приложений для него. Подробности об этом можно найти в руководстве по началу работы (Getting started with…), которое можно загрузить со страницы сведений о Rocket Device. Например, вот как выглядит ссылка на такой документ для дистрибутива Rocket OS, предназначенного для эмулятора.
Разработка для Galileo Gen 2
Rocket Device готово к работе, теперь нужно настроить Galileo Gen 2 и виртуальный шлюз (Virtual Gateway). После этого мы сможем создавать и компилировать приложения для целевой аппаратной платформы, загружать их на устройство, запускать, отлаживать.
Настройка Galileo Gen 2
Для настройки Galileo Gen 2 нужно будет скачать и установить загрузчик Rocket на MicroSD-карту Galileo. Для того, чтобы достичь в этом успеха, вам понадобятся следующие компоненты:
- Плата Intel Galileo Gen 2.
- MicroSD-карта размером не менее 1 Гб.
- Кард-ридер для MicroSD-карт
- Последовательный кабель TTL-232R-3V3
- Набор Grove Starter Kit Plus
Подразумевается, что к данному моменту вы уже создали Rocket Device для Galileo Gen 2, подключившись к облачной службе Helix App Cloud — так, как описано выше. Если это не так — создайте его, а после того, как всё будет готово, выполните следующие шаги. Здесь мы пользуемся ОС семейства Windows.
1. Подключите MicroSD-карту к компьютеру, воспользовавшись внешним или встроенным кард-ридером.
2. Когда компьютер распознает карту, щёлкните по её значку правой кнопкой мыши и выберите команду Форматировать.
3. Выберите тип файловой системы FAT32. Обычно при форматировании накопителей в Windows этот формат установлен по умолчанию, но проверить, так ли это, стоит.
4. Подключите плату Galileo Gen 2 к компьютеру с помощью кабеля TTL-232R-3V3. Ниже показана плата с правильно подключённым кабелем. Обратите внимание на цветовую маркировку.
5. На странице свойств Rocket Device, в вашей учётной записи, щёлкните по ссылке Generate & Download Device Image.
6. Распакуйте загруженный ZIP-архив.
7. Скопируйте папку EFI из архива на MicroSD-карту.
8. Отключите от Galileo Gen 2 шнур питания.
9. Отсоедините MicroSD-карту от компьютера и вставьте её в соответствующий разъём на Galileo Gen 2.
10. Подключите питающий кабель к Galileo Gen 2.
Galileo Gen 2 перезагрузится, используя образ, который находится в папке EFI.
Настройка виртуального шлюза
Сейчас мы настроим и запустим виртуальный шлюз (Virtual Gateway) — приложение для компьютера, которое свяжет Rocket Device и Galileo Gen 2.
1. Загрузите приложение Virtual Gateway.
- Щёлкните по ссылке Download в разделе Device Virtual Gateway Instructions на странице свойств Rocket Device.
- Распакуйте загруженный ZIP-файл.
- Откройте папку, извлечённую из архива, и запустите файл с именем вида Name-virtual-gateway.bat.
2. В окне командной строки появится запрос имени последовательного порта, к которому подключён Galileo Gen 2. Введите его.
Если вы не знаете, к какому именно порту подключено устройство, выясните это, воспользовавшись Диспетчером устройств. Открыв его, просмотрите раздел Порты (COM и LPT) и найдите там порт, к которому подключён Galileo Gen 2. После того, как приложение подключится к Galileo, оно об этом сообщит.
Обратите особое внимание на то, что это окно командной строки должно быть открыто до тех пор, пока вы не завершите работу с Helix App Cloud.
3. Проверьте, действительно ли Galileo Gen 2 подключён к сервису Helix App Cloud. Для этого перейдите на страницу свойств Rocket Device и убедитесь в том, что на ней присутствует зелёный значок Gateway. Если это так — значит, всё готово к созданию приложений для Galileo Gen 2 и их запуску на устройстве.
4. Этот шаг необязателен, но, если вы пользуетесь USB-адаптером последовательного порта, полезно будет учесть, что уменьшение параметра Время ожидания (Latencу timer) способно значительно повысить скорость отладки приложений. Для того, чтобы этот параметр настроить, выполните следующие шаги.
- Откройте Диспетчер устройств Windows
- Разверните группу Порты (COM и LPT) и выберите USB-адаптер последовательного порта. Название адаптера может выглядеть как «USB to serial adapter», возможны и другие варианты. Например — «USB Serial Port (COMx)».
- Щёлкните правой кнопкой по значку адаптера.
- В появившемся меню выберите пункт Свойства.
- В окне свойств устройства откройте закладку Параметры порта и нажмите на кнопку Дополнительно.
- В окне дополнительных параметров установите параметр Время ожидания (мсек) в значение 4 мс.
Создание проекта приложения для Galileo Gen 2 на основе шаблона
Создадим проект приложения, воспользовавшись одним из существующих шаблонов.
1. На странице свойств Rocket Device, в разделе Application Projects, щёлкните по ссылке Create new project.
2. В появившемся диалоговом окне заполните поле Project name, введя имя проекта.
3. В том же окне выберите из списка Project template шаблон, по которому нужно построить проект. Например — GPIO Read and write.
4. Нажмите ОК и дождитесь появления в разделе Application projects карточки нового проекта. Это будет означать, что проект создан.
5. Щёлкните по кнопке Open в карточке проекта.
Проект будет открыт в интегрированной облачной среде разработки Cloud9.
Сборка проекта для Galileo Gen 2
Сейчас мы, пользуясь возможностями среды разработки Cloud9, соберём проект и подготовим его к запуску на устройстве. Для этого достаточно щёлкнуть по значку Build, который расположен на панели инструментов Cloud9.
Будет открыто окно Build (терминал сеанса сборки), в которое будут выводиться служебные сообщения, позволяющие наблюдать за ходом работы.
При запуске процесса сборки была создана директория outdir. Образ приложения, ELF-файл, попадёт в эту папку после сборки.
Загрузка и запуск приложения на Galileo Gen 2
Для того, чтобы запустить приложение на Galileo Gen 2, достаточно щёлкнуть по значку Run Project на панели инструментов Cloud9.
Файл приложения будет автоматически загружен на целевое устройство, подключённое к компьютеру. Откроется окно терминала Run, в него выводятся сведения о загрузке приложения. После загрузки приложение запустится на Galileo Gen 2. Мы воспользовались шаблоном приложения, которое заставляет светодиоды на плате мигать. Их мигание позволит вам убедиться в том, что программа действительно запустилась на Galileo.
Работа с эмулятором Intel x86
Wind River Rocket позволяет разрабатывать приложения и сразу же тестировать их на эмуляторе Intel x86.
Для начала нужно создать новый Rocket Device для эмулятора. Этот процесс аналогичен тому, который мы рассматривали выше. Главное отличие — нужно выбрать из списка доступных платформ Wind River Rocket for Intel x86 Simulator. Далее, эмулятор нужно запустить, для этого служит кнопка Start Device Simulation на странице свойств Rocket Device. Так как эмулятор — устройство виртуальное, все работы с ним ведутся в облаке.
После того, как эмулятор запустится (происходит это очень быстро), состояние Rocked Device изменится с Offline на Online. Когда вы завершите работу, остановить эмулятор можно, щёлкнув по кнопке Stop Device Simulation
Теперь создадим учебный проект на основе шаблона. Здесь всё, в целом, так же, как в рассмотренном выше примере работы с Intel Galileo Gen 2. Главное различие — другой список шаблонов. Мы, для экспериментов, выберем шаблон Dining Philosophers.
Сборка и запуск проекта производятся из интерфейса интегрированной облачной среды Cloud9. Выглядит всё так же, как при работе с Galileo Gen 2, а именно — для сборки используется команда Build, в итоге получается ELF-файл. Для запуска программы на эмуляторе используется значок Run Project на панели инструментов Cloud9 или кнопка Run в заголовке панели терминала.
Приложение для x86-эмулятора, созданное по шаблону Dining Philosophers, выводит в окно терминала Cloud9 сообщения.
Если вы их увидели, значит программа на эмуляторе заработала. Для того, чтобы программу остановить, щёлкните по значку Stop в заголовке окна терминала.
Итоги
Мы рассказали о том, как работать в облачной платформе Helix App Cloud с операционной системой Wind River Rocket. О том, как связывать с облаком аппаратные устройства с помощью Virtual Gateway, как пользоваться IDE Cloud9. Эти инструменты обладают огромными возможностями.
Если сегодня состоялось ваше первое знакомство с Rocket, то вы, пройдя путь от регистрации на сайте до мигающих светодиодов Intel Edison, вполне готовы к тому, чтобы с этими возможностями разобраться. А после того, как достаточно освоитесь, можете, например, заняться разработкой программ для космических аппаратов.