Настройка окружения и заливка прошивки

Про байтики и логику ЭБУ
Post Reply
frig
contributor
contributor
Posts: 569
Joined: Wed Oct 23, 2013 8:05 pm

Настройка окружения и заливка прошивки

Post by frig »

Click here for info on pre-compiled binaries

Собственно один раз я это прошел, возможно будет полезно для проходящих впервые. Часть информации есть в англоязычной части форума.

Сразу можно ставить arm gcc compiler https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads, для проеверки, что все поставилось правильно в cmd пишем arm-none-eabi-gcc -v и получаем длинный вывод с информацией о версии.
Image
Если не получаем, то вероятнее всего нужно прописать значение в PATH переменную. Это в свойствах "мой компьютер" -> Дополнительно -> Переменные среды. Там изменяем переменную PATH, через точку с запятой дописываем путь к папке bin этого самого arm-none-eabi-gcc
Ну или вариант потенциально проще - WindowsPathEditor

Ставим Cygwin.
Там при выборе пакетов через поиск выбираем make
Image

папку bin Cygwin также добавляем в PATH
Проверяем также как и предыдущую приблуду написав в консоли make -v

Дальше нам нужны исходники. Первый вариант просто скачать архив. https://github.com/rusefi/rusefi/ Если вы не собираетесь править код, то вам больше ничего и не нужно. Если собираетесь, об этом будет ниже.

Открываем cmd, переходим в папку с исходниками, в firmware и выполняем make. После непродолжительного ожидания будут созданы две папки, нас интересует build, в частности rusefi.hex - это и есть то, что нам предстоить заливать в контроллер.

Image

У discovery пара портов, подключить нужно оба. Один будет виртуальным COM портом для общения с прошивкой, второй - отладочный. Для обеих потребуются драйвера.
Вот отсюда http://www.st.com/web/en/catalog/tools/PF258168 ставим ST-Link, это софтина для заливки прошивки в контроллер
Вот отсюда http://www.st.com/web/en/catalog/tools/PF257938 драйвер виртуального порта.


Драйвера теперь ставить проще - есть кнопка прямо в rusEfi console https://github.com/rusefi/rusefi_documentation/wiki/Download
stlink.jpg
stlink.jpg (243.37 KiB) Viewed 57142 times
Затем через ST-link заливаем наш hex в контроллер. Признаком корректной работы будет вспыхивание всех светодиодов кратковременно и мигание синего далее. Ну и важно, чтобы виртуальной com порт в системе распознался корректно.

Далее устанавливаем бета версию Tuner Studio Вот отсюда скачиваем и устанавливаем http://www.efianalytics.com/TunerStudio/beta/ Создаем новый проект и в его свойствах, в графе firmware ставим чекбокс и выбираем файл из папки tuberstudio/rusefi.ini Это файл настроек для TS. После создания нового проекта в TS должен загрузиться dashboard с несколькими индикаторами. Поперек будет надпись "Off Line".
Выбираем в меню Communications, там settings и выбираем наш виртуальнй COM порт. Если все прошло гладко, TS подключится к плате и индикаторы зашевелятся если плата "голая".
TS.jpg
TS.jpg (126.91 KiB) Viewed 57142 times
Собственно все, прошивка в контроллере, TS подключен, можно приступать к разработке. :)
skype: frig_frig
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Настройка окружения и заливка прошивки

Post by puff »

попробовал начать с тунерстудии. скачал для линукса/мака - а конфига для русефи в архиве нету. непорядок! подозреваю, что и в архиве для андроида нетуть.
интересно, под эклипсом я смогу работать? может, есть смысл еще и готовую прошивку выкладывать, чтоб без этапа сборки? ну и как-то бы попонятнее изложить, как её заливать на плату. еще вопросец. вот у меня есть блютус-модуль hc05 - ну типовой. к каким выводам платы его надо подклчать (я так понял, земля, tx и rx), чтобы можно было комп/анроидный смартфон подключать?
вообще, конечно, убивает в этой студии такое количество проектов/шаблонов. они, получается, с каждой ревизией меняют формат данных? жуть же!

разобрался! ini файл в папке с rusefi, а не в tunerstudio!

в эклипсе проект не открылся - я не удивлён. венду ставить не хочу. нужен хелп для заливки прошивки на плату. другие проекты я прошивал с помощью elf файла. у меня есть файлик .gdbinit со следующим содержимым:
tar extended-remote :4242
load First_project.elf
monitor reset
monitor halt
kill
quit
далее, в одном окне терминала у меня запущена ./st-util
в другом я запускаю arm-none-eabi-gdb First_project.elf и всё заливается куда надо. короче, нужен elf файл последней прошивки
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Настройка окружения и заливка прошивки

Post by AndreyB »

http://rusefi.com/forum/viewtopic.php?f=5&t=283

Я для тебя конечно .elf сейчас закоммичу, но как-то на винде обходимся .hex. Ты попробуй .hex залить?

А про пины есть вот там - http://rusefi.com/forum/viewtopic.php?f=5&t=210
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Настройка окружения и заливка прошивки

Post by puff »

нет, я смотрел на recent releases и скачивал там rusefi.r1008.zip :-) спасибо!
ух, прошилось. при ресете - моргает синяя, при этом зажигается зеленая, потом зеленая гаснет, а синяя вырви глаз продолжает моргает!
вечером попробую разобраться как подключить блютус-модуль и попробую подцепиться к голой плате с тюнерстудии

хопа, а вот не всегда он моргает зеленым. синим - всегда. зеленым - только при сбросе, когда плата на диване. при сбросе когда плата в руках - синим. а если контакты руками трогть - и синий может гореть, и красный напротив синего зажигаться. и зеленый перемигивать) надо в какой-то фак про значение светодиодов на плате написать.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Настройка окружения и заливка прошивки

Post by AndreyB »

Как собрать консоль:

0) install ant http://ant.apache.org/
1) cd java_console
2) ant

на выходе должно получиться что-то в стиле
Attachments
screenshot.png
screenshot.png (77.58 KiB) Viewed 53233 times
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Настройка окружения и заливка прошивки

Post by AndreyB »

Информация немного нефатально устарела - мы перешли на более свежий компилятор см https://github.com/rusefi/rusefi/issues/376

Новый компилятор на https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Настройка окружения и заливка прошивки

Post by AndreyB »

Теперь у нас git submodules - так что

Code: Select all

git submodule update --init
чтоб наполнить пустые на первый взгляд папки.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Настройка окружения и заливка прошивки

Post by puff »

хм.
у меня в ридми стоит: svn export https://github.com.../trunk/firmware
cd firmware
make

и вот теперь это не работает - кучка ошибок:
MacBook-Pro-rediskin:firmware red$ make
Makefile:108: ChibiOS3/os/common/ports/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk: No such file or directory
Makefile:110: ChibiOS-Contrib/os/hal/hal.mk: No such file or directory
Makefile:111: ChibiOS-Contrib/os/hal/ports/STM32/STM32F4xx/platform.mk: No such file or directory
Makefile:112: ChibiOS3/os/hal/osal/rt/osal.mk: No such file or directory
Makefile:114: ChibiOS3/os/rt/rt.mk: No such file or directory
Makefile:115: ChibiOS3/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk: No such file or directory
Makefile:117: ChibiOS3/os/various/fatfs_bindings/fatfs.mk: No such file or directory
Makefile:118: ChibiOS3/os/various/cpp_wrappers/chcpp.mk: No such file or directory
Makefile:327: ChibiOS3/os/common/ports/ARMCMx/compilers/GCC/rules.mk: No such file or directory
make: *** No rule to make target `ChibiOS3/os/common/ports/ARMCMx/compilers/GCC/rules.mk'. Stop.
это потому что компилятор нужен другой?
или еще почему-то?
и что за последнее сообщение про git modules? подозреваю, что вместо svn надо как-то git использовать?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Настройка окружения и заливка прошивки

Post by AndreyB »

Компилятор думаю работает и старый и новый, но мы не просто переехали на git - мы еще и подмодули используем там.

Так что новая магическая команда:

git clone --recursive https://github.com/rusefi/rusefi

Она выкачает и rusEfi, и правильную версию ChibiOS с нашими микро-модификациями.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Настройка окружения и заливка прошивки

Post by puff »

Оно будет выкачивать всё подряд, хардварные файлы, справки? Есть опция науськать только на саму прошивку?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Настройка окружения и заливка прошивки

Post by AndreyB »

puff wrote:Оно будет выкачивать всё подряд, хардварные файлы, справки? Есть опция науськать только на саму прошивку?
нет, у GIT в днк выкачивание репозитория целиком. Поэтому тяжёлые файлы некоторые уже переехали. Теоретически нужно hardware вырезать в другой репозиторий.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Настройка окружения и заливка прошивки

Post by puff »

угу, уже выяснил. есть какие-то скрипты и воркараунды. но типа всё это расходится с идеологией... ну и хрен с ним.
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Настройка окружения и заливка прошивки

Post by puff »

тэкс. тут сейчас еще раз зашел. выяснилось, что с в новом мире папки chibios и chibios contrib теперь не копируются командой svn export - видимо, сделаны ссылками или еще как.
короче, загрузил архивы, распаковал в папку firmware, после этого мой мейк заработал!
и даже минут за десять гудения тут что-то сделал:

Code: Select all

Compiling main.cpp
Linking build/rusefi.elf
Creating build/rusefi.hex
Creating build/rusefi.bin
Creating build/rusefi.dmp

   text	   data	    bss	    dec	    hex	filename
 367097	   6140	 179868	 553105	  87091	build/rusefi.elf
Creating build/rusefi.list

Done
заливать только особого желания нету - что-то там с пинами поломалось всё напрочь. в тюнерстудии всё ок, в консоли какие-то какие-то ошибки и конфликты при смене мотора.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Настройка окружения и заливка прошивки

Post by AndreyB »

puff wrote:командой svn export
SVN умер, svn нужно начинать забывать. rusEfi переехал на git на github.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Настройка окружения и заливка прошивки

Post by puff »

один фиг, когда пробовал команду git - оно мне не помогало - был тот же результат, а качалось в разы больше и дольше.
к тому же svn, насколько я понял, просто выкачивает дерево проекта. а сам проект берется как раз с этого же самого гитхаба.
ilmar
Posts: 12
Joined: Sun Jun 19, 2016 5:28 pm
Location: Kazan

Re: Настройка окружения и заливка прошивки

Post by ilmar »

подскажите что за ерунда
не могу собрать проект
Безымянный2.jpg
Безымянный2.jpg (272.53 KiB) Viewed 47257 times
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Настройка окружения и заливка прошивки

Post by AndreyB »

ilmar wrote:
Fri Nov 16, 2018 10:25 am
подскажите что за ерунда
что-то здесь сильно не так - вот так выглядят исходники папки https://github.com/rusefi/rusefi/tree/master/firmware/util
у тебя всего три файла, один из них чужой subdir.mk?

Предлагаю закрыть eclipse, убедиться что нет локальных изменений,
git reset --hard origin/master
может быть даже, и собирать командной строкой make для начала?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
ilmar
Posts: 12
Joined: Sun Jun 19, 2016 5:28 pm
Location: Kazan

Re: Настройка окружения и заливка прошивки

Post by ilmar »

Я при помощи git clone клонировал
Окей попробую сделать как посоветовал
Напишу :)
ilmar
Posts: 12
Joined: Sun Jun 19, 2016 5:28 pm
Location: Kazan

Re: Настройка окружения и заливка прошивки

Post by ilmar »

окей , собралось :)
подскажите как дебажить проект?
Attachments
Безымянный.jpg
Безымянный.jpg (248.54 KiB) Viewed 46464 times
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Настройка окружения и заливка прошивки

Post by AndreyB »

ilmar wrote:
Sat Nov 17, 2018 5:12 pm
подскажите как дебажить проект?
там есть файлик https://github.com/rusefi/rusefi/blob/master/misc/install/run_openocd.bat - он запускает внеший OCD. И сразу всё работает из Eclipse
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
ilmar
Posts: 12
Joined: Sun Jun 19, 2016 5:28 pm
Location: Kazan

Re: Настройка окружения и заливка прошивки

Post by ilmar »

ссорь или я тупой или чтото не так понимаю
я привык к idea intelij
там все просто щелкается и все работает
я привык к кейлу
там тож все просто
а тут вообще не въезжаю =))
какие настройки нужны в эклипс чтобы я смог продебажить?
он ругается
ошибки какие то говорит
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Настройка окружения и заливка прошивки

Post by AndreyB »

Я понимаю, я сам по работе использую IDEA и весь этот Eclipse конечно очень печален.
Ключевые слова моего подхода, к сожалению видео полного куда кликать я не успею записать:
1) openocd должен быть запущен в фотовом режиме
2) ARM debug plugin должен быть установлек
3) создаём конфигурацию Debug OpenOCD - где-то нужно увидеть или выбрать путь к правильному GBD из папки ARM компилятора
4) где-то нужно увижеть или прописать localhost, чтоб внешне запущенный эклипсом GBD смог найти в фоновом режиме запущенный OpenOCD.

К сожалению, один раз надо нажать 8 кликов один раз. Потом всего два клика нужно для отладки. Google наш друг :(
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
ilmar
Posts: 12
Joined: Sun Jun 19, 2016 5:28 pm
Location: Kazan

Re: Настройка окружения и заливка прошивки

Post by ilmar »

https://rusefi.com/forum/viewtopic.php?f=5&t=287&p=1886&hilit=gdb+version#p1886
вот эта статейка помогла :)
после очистки снова не билдается через еклипс
при помощи clean_build. bat только
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Настройка окружения и заливка прошивки

Post by AndreyB »

Отредактировал первый пост, а то с 2013 года поменялось примерно всё :)
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Abricos
contributor
contributor
Posts: 849
Joined: Mon Aug 18, 2014 12:32 am
Location: Carteret, NJ 07008

Re: Настройка окружения и заливка прошивки

Post by Abricos »

russian wrote:
Sun Jul 07, 2019 11:24 pm
Обновил первый пост, а то с 2013 года поменялось примерно всё :)
Чето не видно обновления первого поста
Post Reply