В связи с переездом на новый компьютер, стал перетаскивать данные и все свои наработки. Пришлось многое делать по новому, так как старая система была Gentoo, а новая - Ubuntu, вернее более легкая сборка - Xubuntu. Так же пришлось по новой настраивать возможность выполнять сборку прошивки Deviation. В аннотации к репозитарию с исходными текстами прошивки содержится очень скудная информация по сборке. Придется восполнить этот пробел.
Для начала нужно установить необходимые пакеты для сборки. Сделать это можно командой в консоли:
$ sudo apt-get install mercurial gcc-arm-none-eabi libnewlib-arm-none-eabi
Теперь нужно выбрать место, где будут располагаться исходные тексты прошивки и прочие дополнительные данные. Пусть это будет "~/build/deviation":
$ mkdir -p ~/build/deviation
Переходим во вновь созданный каталог и получаем исходные тексты прошивки:
$ cd ~/build/deviation
$ hg --config hgsubversion.branch=default clone https://bitbucket.org/deviationtx/deviation
Если все прошло успешно и без ошибок, то уже можно выполнить сборку. Я буду собирать для передатчика Devo 10, для другого передатчика нужно будет подставить другие значения в команду. Для Devo 7E - devo7e, для Devo 8S - devo8. Нужно будет перейти внутрь полученного каталога и запустить процесс сборки:
$ cd ~/build/deviation/deviation/src
$ make TARGET=devo10
Если сборка выполнена без ошибок, то в каталоге "src" должен получиться файл "devo10.dfu" - это и есть файл прошивки. О том, как его установить - расскажу ниже.
Кроме прошивки, потребуется еще и файловая система. Ее так же можно получить, выполнив одну команду:
$ make TARGET=devo10 fs
В каталоге "src" должен получится файл вида "deviation-fs-devo10-....zip". Это и есть архив с файловой системой, который позже можно будет распаковать в передатчик или использовать для запуска эмулятора.
С необходимыми для работы файлами разобрались. Но хочется иметь еще и эмулятор прошивки, который на официальном сайте доступен только для Windows. Для этого нужно установить дополнительные пакеты:
$ sudo apt-get install portaudio19-dev libfltk1.3-dev g++
Затем внутри каталога "src" нужно выполнить команду:
$ make TARGET=emu_devo10 SOUND=1
На выходе должен получиться файл "emu_devo10.elf". Это и есть эмулятор прошивки. Нужно поместить его в отдельный каталог и туда же распаковать файловую систему. Должно получиться вот так:
Запустив файл "emu_devo10.elf", после короткой заставки, получим следующую картину:
В эмуляторе удобнее настраивать первичные данные моделей, а затем переносить конфигурацию в передатчик. Описание горячих клавиш можно найти в документации.
А теперь можно автоматизировать весь процесс сборки, написав небольшой скрипт:
$ touch ~/build/deviation/deviation-build
$ chmod 755 ~/build/deviation/deviation-build
Содержание скрипта будет следующим:
#!/bin/bash
LANGUAGE=C
SOURCE="https://bitbucket.org/deviationtx/deviation"
[[ -d ./deviation ]] && rm -r ./deviation
hg --config hgsubversion.branch=default clone ${SOURCE}
if [ -d ./deviation ]; then
cd ./deviation/src
make TARGET=devo10
make TARGET=devo10 fs
make TARGET=emu_devo10 SOUND=1
fi
При запуске будет подтягиваться свежая версия исходных текстов, собираться прошивка, файловая система и эмулятор.
Осталось установить прошивку в передатчик. Потребуется небольшая утилита от автора прошивки. Для ее работы нужно установить виртуальную машину Java, если она еще не установлена:
$ sudo apt-get install openjdk-8-jre
Далее нужно дать доступ пользователю к USB-устройствам:
$ sudo groupadd usb
$ sudo usermod $USER -a -G usb
$ echo 'SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"' | sudo tee -a /etc/udev/rules.d/10-usb.rules
После этого нужно перезагрузить правила udev:
$ sudo udevadm control -R
У текущего пользователя нужно перезагрузить права - завершить текущую сессию и открыть новую. Или просто перезагрузить компьютер. Затем нужно скачать последнюю версию программы установки, о которой рассказывал ранее, и поместить в рабочий каталог, например "~/bin/firmware-updater".
$ mkdir ~/bin/firmware-updater
$ cd ~/bin/firmware-updater
$ wget "http://deviationtx.com/downloads-new/category/161-dfu-usb-tool?download=1117:deviation-uploader-0-8-0" -O deviationupload-0.8.0.jar
$ echo "java -jar deviationupload-0.8.0.jar" >./firmware-updater
$ chmod 755 ./firmware-updater
$ ./firmware-updater
Ну вот, если появилось окно программы, то можно включить пульт в режим прошивки. При этом пульт должен определиться в программе, как на изображении:
Осталось перейти на вкладку "DFU", выбрать файл прошивки и нажать "Send". После операции появится сообщение об успешном завершении прошивки.
Ну вот и все. Теперь все желающие могут самостоятельно собирать прошивку и устанавливать ее без использования Windows.
Ох... Вот почему русские люди сначала делают, а только потом читают? Пол дня потратил на запуск DFuse под виндой в виртуалбоксе, а потом уже нашел это приложение на яве. Как нашел и запустил - прошился за 15 минут. А вчера был вечер пайки..
ОтветитьУдалитьОсталось ваш конфиг под 977 переделать под себя немного :)
скажите Devo 10 будет соединяться c DMS приемником без прошивки Deviation? И можно прошить devo 10 прошивкой Deviation с изменением файла hardware.ini (под универсальный модуль 4 в 1), а потом установить сам модуль?
ОтветитьУдалитьНе, без перепрошивки на Deviation не будет. Да, можно загнать файл hardware.ini под модуль 4-в-1, а потом и модуль поставить. Но до этого будут работать только протоколы, использующие модуль CYRF6936. Это старый валькеровский протокол, DEVO и DSM.
Удалить