ESP-IDF遇到的关于环境变量的问题
ESP-IDF遇到的关于环境变量的问题
试了⽹上⼤佬提供的关于使⽤vs code 搭建开发环境的教程感觉环境变量⽼是弄不好,然后就慢慢试好像试出来个笨办法。
安装完乐鑫提供的后会在开始菜单中出现⼀个快捷⽅式,运⾏快捷⽅式即可打开命令窗⼝并配置好环境变量,进⼊ESP-IDF提供的例程后就可以通过运⾏idf.py build或其他命令来编译或执⾏其他操作。
通过ESP-IDF TOOLS可以下载ESP-IDF但是好像没有4.0及以上版本的ESP-IDF(4.0以上⽀持cmake)。可以通过
git clone --recursive github/espressif/esp-idf.git
下载4.0以上版本然后在安装ESP-IDF TOOLS时选择已有的ESP-IDF并选择该路径.
贴下⼤佬的按照教程配置好后发现在vs code中⽆法编译。然后就按照教程中的tasks.json中的内容直接去命令⾏中试试。
{
"label":"menuconfig",
"type":"shell",
"windows":{
"command":"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell",
"args":[
"idf.py",
"menuconfig"
]
},
试了不管时powershell还是cmd在进⼊ESP-IDF中调⽤idf.py都不⾏,⼜去看了下ESP-IDF Command Prompt ()快捷⽅式,可以看到在运⾏快捷命令时会打印⼀些信息,分别有python和git的使⽤路径和设置ESP-IDF的路径,还有下⾯⼀⼤串的添加ESP-IDF tools 到PATH,教程⾥也有在PATH中国
添加tools路径,但是好像就是不⾏(可能是我哪⾥操作有误或是其他原因,有明⽩的⼤佬还请指教,⼗分感谢)然后我就开始⽆脑把运⾏ESP-IDF Command Prompt ()的结果添加到PATH,就像介个样⼦。
然后就可以不⽤快捷⽅式直接从cmd⾥进⼊ESP-IDF的例程⾥就可以使⽤idf.py了。然后再使⽤重新打开cs code也可以使⽤了。输⼊idf.py后出现
编译下载串⼝监控也都可以⽤(速度真的⽐以前快多了),嘿嘿,我觉得命令⾏也挺好⽤的,看起来很清楚。
再贴⼀下三个json⽂件(我也看不是很明⽩,恳求⼤佬教我)。
//tasks.json⽂件
{
// See go.microsoft/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version":"2.0.0",
环境变量path误删有影响吗"tasks":[
{
"label":"build app",
"command":"idf.py",
"type":"shell",
"args":[
"build"
],
"presentation":{
"reveal":"always",
"echo":true
},
"problemMatcher":{
"owner":"cpp",
"fileLocation":"absolute",
"pattern":{
"pattern":{
"regexp":"^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file":1,
"line":2,
"column":3,
"severity":4,
"message":5
}
}
},
{
"label":"clean app",
"command":"idf.py",
"type":"shell",
"args":[
"fullclean"
],
"presentation":{
"reveal":"always",
},
},
{
"label":"flash app",
"command":"idf.py",
"type":"shell",
"args":[
"-p","COM9","flash"
],
"presentation":{
"reveal":"always",
},
},
{
"label":"monitor",
"type":"shell",
"windows":{
"command":"",
"args":[
"idf.py",
"-p",
"COM9",
"monitor"
],
},
"presentation":{
"reveal":"always",
},
"problemMatcher":[]
},
{
"label":"menuconfig",
"type":"shell",
"windows":{
"command":"",
"args":[
"idf.py",
"menuconfig"
]
},
"presentation":{
"reveal":"always",
},
"problemMatcher":[]
}
]
}
}
//settings.json⽂件
{
"files.associations":{
"stdio.h":"c",
"esp_spi_flash.h":"c"
},
"python.pythonPath":"C:\\Users\\lnl\\AppData\\Local\\Programs\\Python\\Python37\\",
//"terminal.integrated.shell.windows":"C:\\WINDOWS\\System32\\"
}
//c_cpp_properties.json⽂件
{
"configurations":[
{
"name":"Win32",
"includePath":[
"${workspaceFolder}/**",
"${env:IDF_PATH}/components/**",
"D:/cygwin/usr/include",
"D:/esp32/esp-idf/components/driver/include"
],
"defines":[
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion":"10.0.17763.0",
"compilerPath":"C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.16.27023/bin/Hostx64/", "cStandard":"c11",
"cppStandard":"c++17",
"intelliSenseMode":"${default}",
"compilerArgs":[
"C:\\Users\\lnl\\.espressif\\tools\\xtensa-esp32-elf\\1.22.0-80-g6c4433a5-5.2.0\\xtensa-esp32-elf\\bin\\"
]
}
],
"version":4
}
c_cpp_properties.json⽂件也可以在这⾥⾯配置,ctrl+shift+p搜索即可
按照⾃⼰⽂件的路径添加即可。
最后在补点:其实乐鑫有提供不通过快捷⽅式⽽进去cmd中调⽤idf.py的⽅法的
或许可以修改下tasks.json中的内容然后应该也是可以的,或者直接在vs code的命令窗⼝调⽤export.bat,有兴趣的可以试试,或许有⼤佬会将快捷⽅式⾥的⽬标类型啥的放进tasks.json⾥(好像也很好玩)。
以上纯属个⼈理解,有错误的话恳求指正。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。