ESP32-C3工程___hello world分析

本文介绍了如何在乐鑫的开发环境中创建Hello World项目,重点讲解了CMakeLists.txt的作用、main.c中的模型结构和esp_chip_info函数,涉及efuse读取和esp32-C3芯片规格。还探讨了调试问题与堆栈大小设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过在乐鑫的插件下面,按F1就会有案列工程,然后创建了一个hello_world工程。

在这里插入图片描述
在这里插入图片描述

这里面第一个为devcontainer好像是docker容器,.vscode为esp-idf的插件的配置,都没用,还有example_test.py
在这里插入图片描述
从工程里面的readme.md可知,这是一个脚本文件。脚本脚本也就是方便运行使用,所以也可以忽略。所以从目录上面来讲,真正有用的也就是:
*main文件
CmakeList.TXT

这里面main也就是源代码
CmakeList.TXT也就是编译构建工具,把所有的头文件和源文件都链接在一起。
上面在这里插入图片描述
上面就是main.c里面的源代码。
在这里插入图片描述
这是一个结构体
在这里插入图片描述
打开model这个结构体声明的东西
在这里插入图片描述
可以看出model为选择ESP的类型,至于esp_chip_info_t结构体中后面的三个是什么,先大致上粗略的用翻译分析一下。

mode : 选择芯片型号
feature: CHIP_FEATURE_x的标志位
cores: 芯片有几个核
revision:芯片版本号

实际的含义还需要后面认真分析一下。
在这里插入图片描述
接下来分析一下这上面的函数是干嘛的。
![在这里插入图片描述](https://img-blog.csdnimg.cn/0a385c1468ce40bf9859002a5e8e76d3.png在这里插入图片描述
跳入到esp_chip_info这个函数里面发现,可以很容易的知道这个结构体变量所包含的信息:
out_info->model=CHIP_ESP32C3 //表面选择的esp32-c3的芯片
out_info->cores = 1; //表明为单核
out_info->features = CHIP_FEATURE_WIFI_BGN | CHIP_FEATURE_BLE; //表明具有蓝牙和wifi的功能。至于out_info->revision = esp_efuse_get_chip_ver();里面是什么,需要跳到里面看看。
在这里插入图片描述
很容易从上面的注释知道,我们是想要获取存储在efuse里面芯片的版本。

esp_efuse_read_field_blob(ESP_EFUSE_WAFER_VERSION, &chip_ver, ESP_EFUSE_WAFER_VERSION[0]->bit_count);

ESP_EFUSE_WAFER_VERSION :
指向描述efuse字段的结构的指针。

chip_ver:
返回版本信息

ESP_EFUSE_WAFER_VERSION[0]->bit_count
· 读取efuse字节个数

跳到 ESP_EFUSE_WAFER_VERSION可知,
在这里插入图片描述
再看看WAFER_VERSION里面是什么

在这里插入图片描述
由上面的可知,读取的为 EFUSE_BLK1第114个字节后面的三个字节。

在这里插入图片描述
上面就是他的版本信息。

在这里插入图片描述
接下来看看spi_flash_get_chip_size()里面是什么
在这里插入图片描述
可以就是说知道为2m内部flash。
在这里插入图片描述
、这里面得esp_get_minimum_free_heap_size(),就是获取目前esp32-C3设定得堆栈大小。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这个文件里存放得是交叉编译工具得配置,以及文件目录的包含。

接下来就是要说明一下CMAKE是如何链接文件得。首先看主目录下面得一个CMakeLists.txt文件

在这里插入图片描述
下面这个是从他们官方里面找的资料
在这里插入图片描述
然后看看main里面的CMakeLists文件,
在这里插入图片描述
在这里插入图片描述
所以很容易了解到,将hello_world_main.c构建到hello_world中,同时因为没有头文件,所以就啥也没有。自此hello——world分析结束。

我最近又遇到一个很奇怪的现象,就是我进行调试的时候,有的时候无法调试。然后我用串口进行下载之后,再进行调试又可以了。沃日,很怪。不知道乐鑫有没有出集成的IDE开发环境,卧槽,整体配环境配死人。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值