【ESP32】编译、烧录、创建工程

标题打开一个Hello world工程并烧录

点击环境搭建链接

遇到的问题:

1.ESP32在VSCODE中烧录代码时,跳出窗口,OPenOCD is not running ,do you want to launch it?

可能是OCD没安装,重新安装 ESP-IDF试一下,在终端命令窗口输入:

rm -rf ~/esp

git clone --recursive https://github.com/espressif/esp-idf.git ~/esp

重新安装了一遍也没用。

怀疑是驱动的问题:
点击进入 改驱动操作步骤

但是没找到Jtag的选项。

在设备管理器中找不到jtag,猜测用不了JTAG模式:、

官网flash串口下载链接
用串口烧录三个固件方法链接 试验可行。

如果说第一遍没下载成功,检查是不是串口,用chipinfoDump里面的readflash试一下看能不能读到。然后检查3个bin文件的地址是否正确,这个可以从vscode的构建编译输出信息中看。

再次打开这个软件发现有了,照着链接的步骤再操作一遍:

接USB,通过VSCODE烧录项目,OCD也不报错,成功下载

加一根UART线,打印成功:

2.好多错误,头文件include无法识别问题:

按下CTRL+shift+P打开设置搜索,输入>esp-idf add vsc打开ESP-IDF扩展设置。点击之后就会发现在项目根目录下创建一个.vscode文件夹,该命令会将所有的头文件路径都包含在该c_cpp_properties.json配置文件中

添加

c 复制代码
{
  "configurations": [
    {
      "name": "Win32",
      "includePath": [
        "${workspaceFolder}/**",
        "${config:idf.path}/components/**",        // 添加 ESP-IDF 组件的头文件路径
        "${config:idf.path}/components/freertos/include",  // FreeRTOS 头文件路径
        "${config:idf.path}/components/esp_system/include", // ESP系统相关头文件路径
        "${config:idf.path}/components/esp_flash/include", // ESP闪存相关头文件路径
        "${config:idf.path}/components/esp_chip_info/include" // ESP芯片信息头文件路径
      ],
      "defines": [
        "_DEBUG",
        "UNICODE",
        "_UNICODE"
      ],
      "compilerPath": "${config:idf.toolsPathWin}\\tools\\xtensa-esp-elf\\esp-14.2.0_20241119\\xtensa-esp-elf\\bin\\xtensa-esp32s3-elf-gcc.exe",
      "intelliSenseMode": "windows-msvc-x64"
    }
  ],
  "version": 4
}

构建一下,错误更多

注意: "compilerPath": "KaTeX parse error: Undefined control sequence: \Users at position 135: ...,这个是是编译器的路径,从C:\̲U̲s̲e̲r̲s̲\XYZN\.espressi...{config:idf.toolsPathWin}就在C:\Users\XYZN.espressif\tools 同一目录。

"intelliSenseMode": "windows-msvc-x64" 这个与编译器路径不兼容 改"intelliSenseMode": "gcc-x64",错误消失

至此,我发现VSCODE下载的esp-idf,不用额外在网上去下载。

我发现:安装路径和编译器路径在.espressif里面。而代码在esp里面,这两个路径不一样,那在json配置文件中,能找到包含头文件的正确路径吗.

现在不把hello world工程单独放到D盘,就在vscode中打开esp里面的hello world文件夹。同样也报错

但是不报包含的错,在《按下CTRL+shift+P打开设置搜索,输入>esp-idf add vsc打开ESP-IDF扩展设置。点击之后就会发现在项目根目录下创建一个.vscode文件夹,该命令会将所有的头文件路径都包含在该c_cpp_properties.json配置文件中》这个步骤之前是报include的错的

好,删掉黄色部分,不报警告了:

自己创建工程

CTRL+shift+P ,输入>esp-idf:new project打开ESP-IDF扩展设置

右下角进度条执行一会后,这里要选择,不然没有的

项目直接构建,注意要完成后下载,不然会缺失文件,看到白灯闪烁,完成。

打印串口:

ESP_LOGI(TAG, "Turning the LED %s!", s_led_state == true ? "ON" : "OFF"); //自带的

printf("OKOK"); //这个也可以用