при компиляции файла ардуина создает каждый раз новый хекс файл с именем 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"
вы можете так же заменить и переменную для .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"
найден глюк с 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