esp32编译优化 arduino-idf
esp32编译优化
!!!!
本教程适用于使用idf开发的主流平台(只要能找到sdkconfig)
比如arduino!!!
!!!!
编译-优化
默认来说,编译优化是不开启的。
不过,为了得到
- 更好(可能)的性能
- 优化过的大小
我们往往会加入编译优化标志(compiler_optimization_flag),来“告诉”编译器我需要哪方面的优化。
这一切,在常见的x86-64架构pc十分常见
但在xtense架构单片机esp32上,这种操作可能伴随着不小的风险,最为直观的则是编译不通过的error(以及一些小问题,不过富贵险中求,生产环境不推荐233毕竟官方默认没优化性能,只优化大小)
方法
那么如何开启?
首先找到sdkconfig(idf用户应该都知道在哪
这边着重讲下arduino找sdkconfig的方法
路径:
C:\Users\你的用户名\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\tools\sdk\esp32\sdkconfig
这是旧版arduino路径,尽量自行通过everything之类的文件搜索软件搜索sdkconfig文件
然后找到类似以下的
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
说明:
CONFIG_COMPILER_OPTIMIZATION_SIZE
arduino平台一般默认选项为y,作用为优化大小,
若想开启,请去掉注释该项的注释符# 并修改配置为y,将CONFIG_COMPILER_OPTIMIZATION_NONE注释
CONFIG_COMPILER_OPTIMIZATION_PERF
arduino平台一般默认选项为空,作用为优化性能,
若想开启,请去掉注释该项的注释符# 并修改配置为y,将CONFIG_COMPILER_OPTIMIZATION_NONE注释
CONFIG_COMPILER_OPTIMIZATION_NONE
arduino平台一般默认选项为空,作用为不优化,
若想开启,请去掉该项的注释符# 并修改配置为y,将另外两项删去/添加注释
选项名 | 作用 | 应用方法 | 默认 |
---|---|---|---|
CONFIG_COMPILER_OPTIMIZATION_SIZE | 优化大小 | 去掉该项的注释符# 并修改配置为y,将CONFIG_COMPILER_OPTIMIZATION_NONE注释 | 是 |
CONFIG_COMPILER_OPTIMIZATION_PERF | 优化性能 | 去掉该项的注释符# 并修改配置为y,将CONFIG_COMPILER_OPTIMIZATION_NONE注释 | |
CONFIG_COMPILER_OPTIMIZATION_NONE | 不优化 | 去掉该项的注释符# 并修改配置为y,将另外两项删去/添加注释 |
CONFIG_COMPILER_OPTIMIZATION_NONE项与另外两个互斥,即该项为y其它两项不应该至少有一项为y,应注释另外两项;另外两项任意一项(或两项)为y时,该项不能为y,需删除/注释该项
首发于mineoled&窝
更多推荐
所有评论(0)