Мануал по установке и использованию evic-sdk на свежеустановленной Linux Mint 18.1 LXDE.
Выбор системы обусловлен тем, что устанавливалась в виртуальную машину и только для этой цели.
Подготовка системы:
Запускаем Терминал. Здесь и далее вся работа ведётся относительно папки пользователя.
Вбиваем данные команды последовательно, подтверждая нажатием Enter.
Теперь необходима перезагрузка!
Делаем это вручную или вводим команду:
Код:
shutdown -r 0
Установка evic-sdk:
Запускаем Терминал.
Код:
cd evic-sdk
make
Компиляция примера:
Код:
cd example
cd helloworld
make
Настройка завершена! Переходим к более сложному...
Сборка дампера загрузчика:
Запускаем Терминал, загружаем и настраиваем код.
Код:
cd evic-sdk
cd example
wget https://gist.github.com/ReservedField/6125e9c7d2b9f92536ee/archive/e2a782d7cbccc6ce09122927dfb2a512f04f6580.zip
unzip e*.zip
rm -f e*.zip
mv 6* ldrom_dump
cd ldrom_dump
sed -i -r 's/String\(txtBuf/\(data, 4/g' ldrom_dump.c
make
Получение дампа.
Прошиваем устройство только что созданным кастомом.
Включаем, подключаем к ПК и устанавливаем драйвер.
Linux (не тестировано)
Проверяем активный COM порт:
Код:
dmesg | grep tty
Запускаем получение дампа (пример):
Код:
sudo cat /dev/ttyACM0 > ldrom.bin
Нажимаем кнопку Fire на моде.
Windows
Загружаем и запускаем RealTerm.
Переходим на вкладку Capture, указываем путь и имя дампа. Например, D:\ldrom.bin.
Нажимаем кнопку Start: Overwrite. Нажимаем кнопку Fire на моде.
В нижней части программы текст Char Count:0 сменится на Char Count:4096. Закрываем программу.
Дамп создан!
Сборка кастомной прошивки:
Запускаем Терминал. Переходим в папку с SDK и делаем новую папку для CFW.
Код:
cd evic-sdk
mkdir project
cd project
Загружаем исходный код кастомной прошивки на выбор (оригинальный myevic или его форки):
Переходим в папку и вносим необходимые исправления для сборки:
Код:
cd myevic
sed -i -r 's/armv7e-m\/libnosys.a/\/usr\/arm-none-eabi\/lib\/libnosys.a/g' linker.ld
sed -i -r 's/armv7e-m\/libgcc.a/\/usr\/lib\/gcc\/arm-none-eabi\/6.3.1\/thumb\/v7e-m\/libgcc.a/g' linker.ld
sed -i -r 's/armv7e-m\/libc.a/\/usr\/arm-none-eabi\/lib\/libc.a/g' linker.ld
sed -i -r 's/armv7e-m\/libm.a/\/usr\/arm-none-eabi\/lib\/libm.a/g' linker.ld
Зачем это?
Код выше призван на новых версиях компилятора убрать ошибки вида:
Вот и всё! Можно запускать компиляцию командой make и забирать готовую прошивку в папке bin.
Успешность завершения процесса можно увидеть по финальной строчке "Writing APROM image...OK.".
Последний раз редактировалось Yoti; 18.05.2017 в 19:06.
Девайсы
Платы: KangerTech Kbox Mini 50W, Kbox 200W, Wismec Reuleaux RX2/3
Атомы: KangerTech SubTank Mini, GeekVape Griffin 25+, Petri v2 (клон) Аккумы: "канарейки" LG HE4, "шоколадки" LG HG2
Зарядки: Miller ML-102 v9, SkyRC Imax B6 mini, LiitoKala Lii-500