[решение] Arduino IDE + Proteus - настройка постоянного файла

Вопросы по взаимодействию FLProg и Arduino IDE
Ответить
kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22 окт 2016, 14:22

[решение] Arduino IDE + Proteus - настройка постоянного файла

Сообщение kalobyte »

гимор:
при компиляции файла ардуина создает каждый раз новый хекс файл с именем pr и увеличивающимся числом, что приводит к тому, что в протеусе надо каждый раз снова указывать файл, что отнимает время

мало того, что файл меняется, так еще и прошивка создается где-то в мусорной папке
такого не должно быть, если кто работал в нормальных иде и там всегда проект подразумевает конкретный путь и все файлы складируются в той папке

вопрос:
как сделать так, чтобы _все_ скетчи флпрог компилились в одной папке и не менялись?

решение:
D:\Program files\flprog313-beta\ideV2\portable\preferences.txt
в верху файла допишите build.path=C:\tmp_flprog\build
в этой папке будет скапливаться всякий мусор промежуточный

далее зайдите в папку D:\Program files\flprog313-beta\ideV2\portable\packages\arduino\hardware\avr\1.6.21
создайте там файл platform.local.txt

в него запишите

Код: Выделить всё

## Create output files (.eep and .hex)
recipe.objcopy.eep.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.objcopy.eep.flags} {compiler.objcopy.eep.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/aaa.bin"
recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/aaa.hex"
aaa.bin - это файл епром для протеуса
вы можете так же заменить и переменную для .elf файла, если используете пошаговую отладку в протеусе, чтобы смотреть сишный код по мере выполнения

при обновлении флпрог этот файл не будет перезаписан

для обычной ардуины путь изменяется в файле C:\Users\admin\AppData\Local\Arduino15\preferences.txt
желательно использовать другую папку

а имена прошивки и епром задаются в файле platform.local.txt, который надо положить в D:\Program files\Arduino\hardware\arduino\avr

:ахтунг
т.к. в папке компилируется куча промежуточных файлов, то может быть так, что какие-то полубинарники старого проекта могут слинковаться с новым
поэтому если начинаете новый проект, то удалите руками старые папки

на этом все
почти весь день убил на этот вопрос

:фича
в флпроге надо в свойствах проекта сделать чекбокс "отладка в протеусе", при активации которго можно выбрать путь для временной папки, куда будет собираться проект
можно ардуину вызывать из консоли с параметрами и в качестве параметра указывать путь для сборки проекта

инфа по параметрам консоли
https://github.com/arduino/Arduino/wiki ... mmand-line

:апдейт
забыл еще сделать опции программатора, при заливке в контроллер - программатор не находит файл
для этого в файле platform.local.txt нужно дописать вот это

Код: Выделить всё

tools.avrdude.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} {upload.verify} -p{build.mcu} -c{upload.protocol} "-P{serial.port}" -b{upload.speed} -D "-Uflash:w:{build.path}/aaa.hex:i"

tools.avrdude.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} {program.verify} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/aaa.hex:i"
:апдейт2
найден глюк с build.path=C:\tmp_flprog\build
если вы это пишете в самом верху, то оно будет убрано сверху и написано снизу и параметр не вступит в силу
писать надо в таком порядке

board=uno
boardsmanager.additional.urls=https://github.com/stm32duino/BoardMana ... index.json
build.path=C:\proteus_build\arduino\build
build.project_name=aaa
build.verbose=true

я так полагаю после параметра board
Последний раз редактировалось kalobyte 09 ноя 2018, 02:03, всего редактировалось 3 раза.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

Arduino IDE + Proteus - настройка постоянного файла

Сообщение aidar_i »

Попробовал . Папка C:\tmp_flprog\build создается. Где _все_ скетчи флпрог компилируются? Не нашел .hex файл.

Отправлено спустя 2 минуты 39 секунд:
Как запустить в Протеусе без него?

Отправлено спустя 1 час 41 минуту 22 секунды:
Для обычной ардуино иде не получается, папка не создается, все по старому.
kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22 окт 2016, 14:22

Arduino IDE + Proteus - настройка постоянного файла

Сообщение kalobyte »

aidar_i писал(а): 05 ноя 2018, 22:37Где _все_ скетчи флпрог компилируются?
дык в той папке и компилируются
aidar_i писал(а): 05 ноя 2018, 22:37Как запустить в Протеусе без него?
никак, хекс файл и есть прошивка
есть еще елф, но там содержится отладочная инфа, можно тоже использовать, но я не использую пока
aidar_i писал(а): 05 ноя 2018, 22:37Для обычной ардуино иде не получается, папка не создается, все по старому
потому что обычная ардуина никак не связана с ардуиной из комплекта флпрог
там тоже надо проделать такие же процедуры

у меня для этого есть другая папка, чтобы прошивки от флпрог не затирались, но можно указать одну и ту же папку, а то иногда приходится в протеусе указывать альтернативный файл при разработке блока флпрог и тестировании кода для блока в отдельной ардуине
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

Arduino IDE + Proteus - настройка постоянного файла

Сообщение aidar_i »

[spoiler]
Безымянный.png
[/spoiler]
В этой папке нет hex файла. Вообще его нет нигде. Может в выложенном коде чего то не хватает.
Для обычной иде проделал, но все осталось так же как раньше.

Как я понял, имя hex файла при разных компиляциях должна быть всегда одинаковая? Но где этот файл?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24 ноя 2017, 16:25
Откуда: Червоноград
Имя: Марьян

Arduino IDE + Proteus - настройка постоянного файла

Сообщение dizzyy »

нужно в меню сверху где скетч выбрать експорт бинарного файла и в папке с .ino появится hex
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

Arduino IDE + Proteus - настройка постоянного файла

Сообщение aidar_i »

Разобрался со встроенным иде. Оказывается я компилировал с платой ESP, когда поменял на УНО все получилось!

С обычном разберусь завтра.
kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22 окт 2016, 14:22

[решение] Arduino IDE + Proteus - настройка постоянного файла

Сообщение kalobyte »

[ref]aidar_i[/ref],
посмотри первый пост в разделе апдейт
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

[решение] Arduino IDE + Proteus - настройка постоянного файла

Сообщение aidar_i »

С обычным компилируется как надо. Только папку не создает, размещается по старому C:\Users\User\AppData\Local\Temp\arduino_build_192696/aaa.hex
kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22 окт 2016, 14:22

[решение] Arduino IDE + Proteus - настройка постоянного файла

Сообщение kalobyte »

папку руками надо создать
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

[решение] Arduino IDE + Proteus - настройка постоянного файла

Сообщение aidar_i »

Ок, в принципе и так уже очень хорошо.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

[решение] Arduino IDE + Proteus - настройка постоянного файла

Сообщение aidar_i »

Запустил с помощью kalobyte и стороннюю IDE. Доводил проект с симуляцией в Протеус. Изменения внесенные в IDE с сохранением hex файла в постоянную папку очень удобно и здорово ускоряют симуляцию. При закрытии скомпилированного с FLProg Arduino IDE, в Протеус программа будет работать. Что позволяет корректировать проект в FLProge. Один раз вставил в симулятор Ардуино в Протеусе hex файл и все больше туда не надо лазить.
Выложил файл platform.local.txt, чтобы вручную не возиться, скачать и вставить.
platform.local.txt
Отправлено спустя 3 минуты 9 секунд:
kalobyte писал(а): 24 авг 2018, 21:51:апдейт2
найден глюк с build.path=C:\tmp_flprog\build
если вы это пишете в самом верху, то оно будет убрано сверху и написано снизу и параметр не вступит в силу
писать надо в таком порядке

board=uno
boardsmanager.additional.urls=https://github.com/stm32duino/BoardMana ... index.json
build.path=C:\proteus_build\arduino\build
build.project_name=aaa
build.verbose=true

я так полагаю после параметра board
Из-за этого глюка я не мог запустить для обычной ардуино иде. Поэтому будьте внимательны!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22 окт 2016, 14:22

[решение] Arduino IDE + Proteus - настройка постоянного файла

Сообщение kalobyte »

зря выложил файл
настройки все равно у всех разные и править файл все равно нужно будет
Ответить

Вернуться в «FLProg и Arduino IDE»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей