arduino-builder.exe进行程序编译,编译参数问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3081|回复: 3

[已解决] arduino-builder.exe进行程序编译,编译参数问题

[复制链接]
发表于 2021-6-4 11:58 | 显示全部楼层 |阅读模式
本帖最后由 Foruture 于 2021-6-16 10:47 编辑

小白使用arduino-builder.exe进行命令行编译,查看help,有如下参数可供使用:
  -build-options-file string
        Instead of specifying --hardware, --tools etc every time, you can load all such options from a file


但是我添加了一个txt的文本文件存放参数,参数格式如下:
-logger=machine
-fqbn=arduino:avr:uno
-vid-pid=1A86_7523
-ide-version=10813

...

运行命令:
arduino-builder.exe -build-options-file build.txt
结果报告如下错误:
invalid character 'l' in numeric literal
main.printCompleteError
        /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-builder/main.go:452
main.main
        /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-builder/main.go:241
runtime.main
        /home/jenkins/go-latest/src/runtime/proc.go:203
runtime.goexit
        /home/jenkins/go-latest/src/runtime/asm_386.s:1337


请问下大家这是什么问题?  参数文件格式还是内部参数格式不对?
谢谢大家~~~
 楼主| 发表于 2021-6-4 17:10 | 显示全部楼层
本帖最后由 Foruture 于 2021-6-4 17:12 编辑

大概有些眉目了,看编译日志,在编译路径里面有一个build.options.json文件,使用命令:
arduino-builder.exe -build-options-file build.options.json 工程文件

可以进行编译。

说明-build-options-file跟的参数应该是一个json文件。

不过遇到的问题是,这个json文件中的参数名称不清楚是在哪里定义的,还得再看看。。
 楼主| 发表于 2021-6-16 10:40 | 显示全部楼层
Foruture 发表于 2021-6-4 17:10
大概有些眉目了,看编译日志,在编译路径里面有一个build.options.json文件,使用命令:
arduino-builder.e ...

json中的参数名称可以通过arduino-builder -dump-prefs ...
其中...为显示设置的一些参数,然后回车,命令框会打印出这些配置项,就会有我们json中需要的配置名称了。
 楼主| 发表于 2021-6-16 10:47 | 显示全部楼层
关于快速编译的一个不可靠方法,根据arduino.exe中编译文件的打印,可以知道,编译/上传过程分为如下几个步骤:
1,预处理文件
2,编译目标文件为XXX.o
3,编译内核core.a
4,链接(通过core.a和之前的XXX.o最终生成XXX.hex)
5,上传(flash)
每个步骤都有打印出编译命令,预处理没有打印, 预处理需要使用-complete-at的参数进行指定。其中比较费时间的是编译内核,因此我们可以取用编译好的core.a,然后将1,2,4,5步骤使用命令行进行编译烧写,速度就很快了。缺点儿是有的复杂的工程或者使用到了第三方库的工程需要的core.a更加庞大,arduino默认的core.a支持不够。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 03:41 , Processed in 0.070936 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表