标题打开一个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"); //这个也可以用