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

Вопросы по взаимодействию FLProg и Arduino IDE
Ответить
kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

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

#1

Сообщение kalobyte » 24.08.2018{, 21:51}

гимор:
при компиляции файла ардуина создает каждый раз новый хекс файл с именем 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.11.2018{, 02:03}, всего редактировалось 3 раза.

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#2

Сообщение aidar_i » 05.11.2018{, 20:53}

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

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

Отправлено спустя 1 час 41 минуту 22 секунды:
Для обычной ардуино иде не получается, папка не создается, все по старому.

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

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

#3

Сообщение kalobyte » 05.11.2018{, 23:09}

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

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

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#4

Сообщение aidar_i » 06.11.2018{, 00:07}

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

Как я понял, имя hex файла при разных компиляциях должна быть всегда одинаковая? Но где этот файл?

Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24.11.2017{, 16:25}
Репутация: 37
Откуда: Червоноград
Имя: Марьян

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

#5

Сообщение dizzyy » 06.11.2018{, 00:32}

нужно в меню сверху где скетч выбрать експорт бинарного файла и в папке с .ino появится hex

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#6

Сообщение aidar_i » 06.11.2018{, 00:47}

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

С обычном разберусь завтра.

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

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

#7

Сообщение kalobyte » 06.11.2018{, 01:02}

aidar_i,
посмотри первый пост в разделе апдейт

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#8

Сообщение aidar_i » 06.11.2018{, 01:44}

С обычным компилируется как надо. Только папку не создает, размещается по старому C:\Users\User\AppData\Local\Temp\arduino_build_192696/aaa.hex

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

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

#9

Сообщение kalobyte » 06.11.2018{, 02:30}

папку руками надо создать

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#10

Сообщение aidar_i » 06.11.2018{, 11:36}

Ок, в принципе и так уже очень хорошо.

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#11

Сообщение aidar_i » 09.11.2018{, 22:54}

Запустил с помощью kalobyte и стороннюю IDE. Доводил проект с симуляцией в Протеус. Изменения внесенные в IDE с сохранением hex файла в постоянную папку очень удобно и здорово ускоряют симуляцию. При закрытии скомпилированного с FLProg Arduino IDE, в Протеус программа будет работать. Что позволяет корректировать проект в FLProge. Один раз вставил в симулятор Ардуино в Протеусе hex файл и все больше туда не надо лазить.
Выложил файл platform.local.txt, чтобы вручную не возиться, скачать и вставить.
platform.local.txt
(808 байт) 83 скачивания
Отправлено спустя 3 минуты 9 секунд:
kalobyte писал(а):
24.08.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.10.2016{, 14:22}
Репутация: 28

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

#12

Сообщение kalobyte » 10.11.2018{, 00:46}

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

Ответить

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