ESP32C3学习&开发之路——重构sdkconfig

16 篇文章 2 订阅
14 篇文章 5 订阅

背景

在ESP32C3模组软件开发中,我们知道乐鑫的IDF中有大量的应用例程,官方的应用例程在我们实际的开发过程中发挥了很大的帮助,可以让我们了解ESP32C3基本功能开发,甚至有很大部分的官方应用例程所实现的功能是可以移植到我们的工程里面的,但是不同的例程可能有不同的配置文件sdkconfig,如果要移植就要满足两个方面:
1、深入了解该例程中独有的配置参数是否会影响ESP32C3底层库的功能,如果不影响我们则可以通过宏定义的方式在自己的工程中定义好即可。
2、了解sdkconfig重构方法,ESP32C3工程的sdkconfig是可以进行重构的。
我在功能开发时就遇到了移植官方例程后因sdkconfig不同造成编译报参数未定义的错。
如果直接修改sdkconfig,在编译时我们的修改是无效的,因为编译器会根据menuconfig的配置来重写sdkconfig文件。


过程

今天就来学习一下sdkconfig的作用和重构。
在官方的编程指南中对sdkconfig有介绍:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32c3/api-reference/kconfig.html#id2
但是官方的文档我看的是挺迷糊的,像这种重要的的开发技能,希望官方的编程指南可以提供简单易懂的使用教程。
虽然官方没有教程,但是广大的开发朋友里有人总结了重构sdkconfig的方法和步骤,在这里我也学习了他的文章:https://blog.csdn.net/zhangzhoulzl/article/details/120657936非常的感谢这位博主,
有同样问题的朋友也可以这位博主的文章。
想必ESP32C3开发者对于menuconfig都不会陌生,我们通过menuconfig配置一些重要的系统或者功能参数来使能或失能某些功能,还能将自己的一些参数也放到menuconfig的配置项中进行修改,然后再程序中进行调用。当我们完成menuconfig的配置并保存后,那么就会根据配置来生成sdkconfig.h和sdkconfig文件里面的参数定义。
下面是我学习完后成功更改Kconfig文件配置并重构了sdkconfig文件的步骤:
1、将需要新增的配置项添加到Kconfig.projbuild文件中;
2、删除之前的编译文件;
3、进入menuconfig进行配置;
4、编译。

重构sdkconfig文件

我是基于VScode环境来开发,具有较好的可视化界面。
修改Kconfig.projbuild文件
修改前:
在这里插入图片描述
修改后:增加了一些新的目录
在这里插入图片描述
保存之后要删除之前的编译文件,在VScode直接点击底部栏的“垃圾桶”图标,如果是离线的IDF开发环境则要执行指令“idf.py fullclean”
在这里插入图片描述
然后在VScode再点击底部栏的“配置”图标,打开menuconfig就可以看到添加的配置项
在这里插入图片描述
之后就可以进行编译了。
是不是很简单,如果只是普通的参数添加就还好,如果要进行复杂的配置就要熟悉Kcongfig的语法,看似简单其实深入后就不简单。


结语

通过自己操作后再去看官方的编程指南就会容易多了,在ESP32C3的开发上又进步了一小步。困难有,但解决困难的方法也总会有的。


  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ESP32C3VScode IDE开发环境可以通过以下步骤进行搭建: 1. 首先,确保你已经安装了VScode编辑器,并在扩展商店中搜索并安装了"PlatformIO IDE"插件。 2. 打开VScode,点击左侧的"PlatformIO"图标,选择"PIO Home"。 3. 在PIO Home界面中,点击"New Project"创建一个新项目。 4. 在项目创建向导中,选择ESP32C3作为目标开发板,并选择合适的开发框架。 5. 在项目创建完成后,你可以在VScode的侧边栏中看到项目的文件结构。 6. 在项目文件夹中,你可以编写你的代码,并在VScode中进行编译、烧录和调试。 7. 如果你需要添加额外的库或者配置,请编辑项目的platformio.ini文件。 8. 最后,你可以使用VScode的调试功能来调试你的代码。 通过以上步骤,你就可以在VScode中搭建ESP32C3开发环境,并进行代码开发、编译、烧录和调试了。\[1\]\[2\]如果你需要下载ESP32C3开发发布链接,可以访问以下链接:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json\[3\] #### 引用[.reference_title] - *1* *2* [ESP32C3学习&开发之路——VScode开发环境搭建](https://blog.csdn.net/RMDYBW/article/details/131476787)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ESP32-C3开发之旅 基础篇② 如何安装ESP32-C3的Arduino VSCODE开发环境](https://blog.csdn.net/u011993802/article/details/123440228)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值