FireBeetle 2 ESP32 C6开发板的核心也是RISC-V架构和ESP32C3的架构是一种架构,虽然C6芯片的内核和C3内核还有“写LPSRAM时指令执行乱序导致死锁”这些问题,但是通过C3的长时间检验应该还是极少出现的,C6的wifi已经支持2.4 GHz Wi-Fi 6 (802.11ax),较C3有了大幅的提升。ESP32-C6 是乐鑫首款支持 Wi-Fi 6 的 SoC,集成 2.4 GHz Wi-Fi 6、Bluetooth 5 (LE) 和 802.15.4 协议,能够为物联网产品提供行业领先的射频性能、完善的安全机制和丰富的内存资源。
它搭载一个时钟频率最高 160 MHz 的高性能 RISC-V 32 位处理器,和一个时钟频率最高 20 MHz 的低功耗 RISC-V 32 位处理器,内置 512 KB SRAM,320 KB ROM,并支持外接 flash。ESP32-C6 拥有 30 个 (QFN40) 或 22 个 (QFN32) 可编程 GPIO 管脚,支持 SPI、UART、I2C、I2S、RMT、TWAI、PWM、电机控制 PWM 和 SDIO。它还集成了一个 12 位 ADC 和一个温度传感器
一、开发板硬件介绍
FireBeetle 2开发板的设计采用的是芯片直接安装方案也不是模块+开发板方案,也没有在板子上设计屏蔽罩,但是经测试对信号没有发现有何影响。板子的资源除了LED、BOOT、REST按钮和引脚外还有一个接LCD引脚的插槽和一个外设电源插槽。
吐槽的是电源管理是一片CN3165和LDO芯片,LDO稳压效果虽然较好但是效率比较低,这个在超低功耗的场合可以会受到一定影响。
二、开发模式介绍
ESP32C6的开发和以往的乐鑫公司的其它产品一样,也有三种常见的模式,
1、AT指令模式,这种模式使用AT指令和单片机配合使用,可以把ESP32C6看作是一个调制解调器。开发功能受厂家的支持。但是开发较为简单。
2、使用第三方开发方式,主要有arduino和microPYTHON两种方案。这两种方案都有一定的限制。如果使用一些特殊的硬件需要自己编写驱动程序。但较AT模式要灵活许多。
3、使用SDK IDF环境模式,这种模式是可以发挥芯片性能的最佳模式,但是对开发者要求也较前两种要高。为了能够使开发更加的顺畅乐鑫提供了完整的实例和原生的多线程开发框架,这大大的降低了开发难度。这种模式的框架是基于freeRTOS的,依托于freeRTOS的优良的设计和较为完整的lwIP协议栈,对我来说开发难度可以接受。
本次测试使用第3种模式,IDF SDK模式。
三、开发环境安装
1、首先需要现在IDF SDK,目前的版本是5.2.1,参考快速入门,的指导使用手工安装步骤参考Windows 平台工具链的标准设置 。的指导
2、安装的其它配套软件有
除了ESP-IDF以外,都是第三方的工具。当然也可以使用其它的自动化的安装方式,但是自动化的方式在下载时软件尺寸较大。我主要是这些第三方的工具都已经安装过了,所以选择手动安装。
3、下载和安装ESP-IDF SDK。
是到SDK 和演示|乐鑫科技 (espressif.com.cn)这个地址去下载安装包。esp-idf-tools-setup-offline-5.2.1.exe单文件。
执行安装文件,
根据自己的情况选择安装方式。安装完成后,出现开发环境命令行就可以使用了。
执行idf脚本
出现命令行就可以使用idf.py命令了。
除了安装SDK以外也可以选择安装vscode插件和其它标记工具。
其实插件除了编辑功能其它的功能用处不是很大。我只是使用插件的编辑功能
4、开发第一个程序。
我是将目录C:\Espressif\frameworks\esp-idf-v5.2.1\examples\get-started下的blink项目拷贝到test目录后进行实验的。
idf.py set-target esp32c6
idf.py build
首先需要设定编译目标,选择编译器
然后执行编译命令。
设置完成目标后就可以编译了
完成后,就可以使用命令烧写了。
idf.py -p COM15 flash
我的端口可能和你的不一样,需要根据实际情况而定
后面的指令都是使用COM15端口,可以看到终端中输出详细。