本文主要是介绍【ESP32之旅】合宙ESP32-C3 使用PlatformIO编译和Debug调试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
工程创建
首先打开PIO Home
窗口,然后点击New Project
来创建新的工程,工程配置选择如下图所示:
注:
选择板子型号的时候需要选择ESP32C3
,勾选取消Location
可以自定义路径。
修改配置文件
工程创建完毕之后在工程根目录中会生成一个platformio.ini
的配置文件,此配置文件描述了工程中的一些编译配置项和平台参数类似于Arduino中的编译选项,目录结构如下图所示。
支持USB 串口
合宙的ESP32-C3
精简版为了降低成本没有使用USB转TTL芯片,而是直接使用了USB Slave模拟串口,因此在编译时需要打开USB CDC配置项
build_flags = ;添加编译链接配置项,类似于Makefile中的-D flag 链接参数,会在编译时链接进代码中以开启对应功能宏-D ARDUINO_USB_MODE=1 ;开启USB Slave 功能-D ARDUINO_USB_CDC_ON_BOOT=1 ;开启CDC 下载功能宏
注:
ESP32C3芯片内置USB接口,支持USB CDC,说明可以跳过USB转串口芯片对模组进行下载。有两个选项:Enable:这种选项是要在没有串口芯片的情况下选择;Disable:有串口芯片,选择Disable。
当USB CDC On Boot选择为Enable,但是板子又有串口芯片,这时候串口是不能使用的,也就是无法收发串口信息。Enable选项通常是在省成本的板子,没有USB转串口芯片上使用这个配置,否则板载有串口芯片都选择使用Disable即可。
支持DIO模式
合宙的ESP32C3
为了能提供能多的IO并没有采用QIO
的方式而是采用的DIO
, 因此需要在配置文件中设置其模式为DIO
board_build.flash_mode = dio ;flash 访问模式 DIO
配置调试
如果需要在PIO
中支持Debug,需要开启相关配置项来支持不同的调试器。因为ESP32C3
内置了一个USB JTAG Bridge
,所以可以直接使用内置的JTAG,相关配置项修改如下:
debug_tool = esp-builtin ;内置调试器 进行调试
debug_tool = esp-builtin ;内置调试器 进行代码下载
upload_speed = 2000000 ;Jtag最大传输速度2MHz
修改完配置信息后点击界面下的调试按钮即可开始调试。
完整的配置项
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html[env:airm2m_core_esp32c3]
platform = espressif32
board = airm2m_core_esp32c3
framework = arduinoboard_build.flash_mode = dio
debug_tool = esp-builtin
;debug_init_break = tbreak setup
;debug_init_break = tbreak loop 目前测试有问题开启后无法打断点
upload_protocol = esp-builtin
upload_speed = 2000000build_flags =-D ARDUINO_USB_MODE=1-D ARDUINO_USB_CDC_ON_BOOT=1
效果展示
这篇关于【ESP32之旅】合宙ESP32-C3 使用PlatformIO编译和Debug调试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!