【閑話】Vscode+PlatformIO+esp-idf+esp32物聯(lián)網(wǎng)開發(fā)小記之環(huán)境搭建
Vscode作為一款優(yōu)秀的代碼編輯器,具有極為方便快捷的代碼輔助與拓展功能,使用熟練后開發(fā)效率大大提高,且作為典型的IDE,不需要花費(fèi)大量的時(shí)間成本即可上手,Vscode結(jié)合各種插件,可以搭建出大部分的開發(fā)環(huán)境,在嵌入式領(lǐng)域,Vscode也是一大神器,本人曾嘗試從交叉編譯工具開始搭建STM32的IDE,在Ubuntu上實(shí)踐成功,編譯速度相比keil成倍提升,缺點(diǎn)是需要自己寫makefile,這就導(dǎo)致一些特殊的lib不好引入,實(shí)為一大遺憾,且由于某些尚未解決的問題,沒能搞定OpenOCD,用CubeMX+Vscode+CubeProgrammer,勉強(qiáng)搭了一個(gè)半殘廢的環(huán)境,勝在穩(wěn)定,搭建的方法也是網(wǎng)上東拼西湊找的,有時(shí)間做個(gè)總結(jié)。換到Windows,原先的方法反而行不通了,也罷,Ubuntu沒有其他可選,Windows還不大把?盡管如此,Vscode的方便還是驅(qū)動(dòng)著我找到了這個(gè)強(qiáng)大的插件——PlatformIO,選擇它的一大理由,就是它的支持更新速度,對于主流的芯片,能很快適配,經(jīng)測試,STM32整體開發(fā)非常流暢,可以說相當(dāng)不錯(cuò)。
但,這不是今天我要講的,今天要講的Vscode+PlatformIO+esp-idf+esp32的環(huán)境搭建,其實(shí)也相當(dāng)簡單,在PlatformIO上新建工程,選擇esp32的broad,framework選的esp-idf,經(jīng)過漫長的第一次創(chuàng)建的配置,把測試代碼拷到main里,build,upload,一氣呵成。。。才怪,中間的坑多的很。。。首先測試代碼是樂鑫開源的,這就要吐槽下樂鑫的用戶支持,代碼開源在GitHub上,眾所周知,GitHub是時(shí)而存在,時(shí)而不存在的網(wǎng)站,我們稱之為薛定諤的GitHub,把代碼開源在一個(gè)不存在的網(wǎng)站,這不是存心不讓用戶下載嗎(怒),好在Gitee有人搬運(yùn),嗯,忍了。除了PaltformIO外,樂鑫還推出了自己的Vscode插件,稱為Espressif IDF,說實(shí)話,IDF這個(gè)名字起的不錯(cuò),讓人聯(lián)想到某先進(jìn)三代機(jī),題外話,Espressif IDF的安裝依賴esp-idf tools,樂鑫的開源下載工具,然后下載源是GitHub,經(jīng)歷了漫長的龜速下載以后,宣告失敗,不知道是我的問題還是本身支持一般,當(dāng)然還有一個(gè)辦法是解決GitHub的網(wǎng)速問題,具體就不展開了。
還好,我們有PlatformIO,把測試代碼拷到main里,build,upload,一氣呵成。。。并沒有,我這的話出現(xiàn)最大的問題是upload的時(shí)候串口有問題,當(dāng)然這是我電腦驅(qū)動(dòng)的問題,花費(fèi)了很多時(shí)間排查出來了,先說解決方法,去官網(wǎng)下驅(qū)動(dòng),進(jìn)設(shè)備管理器查看CP210x的驅(qū)動(dòng)分配到COM號(hào),比如是COM3,然后你發(fā)現(xiàn)upload后返回錯(cuò)誤serial.serialutil.serialexception: could not open port 'com3',把驅(qū)動(dòng)卸載了,重裝,直到COM號(hào)不是COM3,比如COM8,再試一次就可以了,這是估計(jì)我電腦過去亂連藍(lán)牙模塊導(dǎo)致的,拋開其他問題不談,esp32的環(huán)境可選的有很多,還是不錯(cuò)的,把這一切搞定,就可以愉快地開發(fā)esp32了
后話:Arduino的framework真香

浙公網(wǎng)安備 33010602011771號(hào)