ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件
一、????開發環境搭建
????????目前國內大多數開發者使用的都是WinXP/Win7/Windows XX做MCU的開發。習慣Windows環境開發的朋友,如果一旦一接觸到MCU需要是Linux環境來進行開發編譯,第一反應理所應當是“臣妾做不到”!比方說,我們主角ESP8266這顆芯片,原廠提供的就是基于Linux做的開發(早期樂鑫還提供VM的開發環境鏡像)。因此,我們為了開發這塊芯片,就避免不了與linux打交道。
????????在Windows上安裝虛擬機,再在做芯片的開發,這是目前比較常用的一種方式。但是如果基于VistualStudioCode插件的alios-studio進行開發需linux開發環境的,我是更推薦如下這種方式:使用docker
????????那么我們現在開始搭建windows下基于docker的ESP8266的alios-things的開發環境。
系統環境:????? Windows10
應用環境:????? Docker安裝完畢(Windows下安裝docker的方式可以到網上查一下)
???????????????????? VisualStudioCode(以下簡稱VSCode)
1、 VSCode安裝alios-studio插件,操作如圖1所示
圖1
???????注意:記得把C/C++的插件也一并安裝好,alios-studio對其有依賴.
2、安裝alios-things的docker鏡像
??????方法A:
?????有能力的同學可以參考我在github給出的dockerfile文件(當然也可以不參考),自己搭建一個docker鏡像
https://github.com/lanjackg2003/alios-things-docker.git
????方法B:
? ? ?直接從dockerhub服務器通過pull方式獲取我編譯好的鏡像,方法如圖2
https://hub.docker.com/r/jacklan/alios-things-docker
圖2
????打開命令行,執行如下命令
[plain]?view plaincopy? ? 至此,Windows下的支持docker方式的編譯環境已經搭建完畢了。
二、????克隆alios-things倉庫代碼
????可以通過安裝git工具,并通過git clone指令進行下載
[plain]?view plaincopy????如圖3所示:
圖3
?????? 當然你也可以使用你熟悉的工具從github中下載alios-things的代碼。
三、????編譯Esp8266的HelloWorld固件
1、用VSCode打開AliOS-Things代碼倉庫,如圖4
圖4
2、?修改Alios-Things的HelloWorld.c代碼
????如圖5,增加了一句代碼:??
????printf("esp8266hellowrold example by jack!\r\n");
圖5
3、通過快捷鍵??CTRL+Shift+`?三個按鍵,打開終端
圖6
?????? 我們可以看到,powershell的路徑已經是alios-things代碼倉庫目錄了,所以我們接下來把這個目錄掛載到docker的容器的工作目錄里面。
?????? 在powershell中執行cmd切換到命令行
[plain]?view plaincopy小竅門:想在powershell直接調起docker的容器可以直接將命令行腳本轉城bat文件,然后運行。
圖7
后續我會將這個Win_Build.bat也放到github中.
4、 接下來,使用alios-things的cube工具來編譯剛剛我們的HelloWorld代碼
????在docker容器中執行如下命令
[plain]?view plaincopy圖8
圖9
?
小貼士:
?
四、????燒寫固件到ESP8266開發板
????????到樂鑫官網下載燒錄工具:?Flash?下載工具(ESP8266 & ESP32)
https://www.espressif.com/zh-hans/support/download/other-tools
????????使用樂鑫的Windows下載工具,按照如下地址下載:
| 文件名 | 燒錄地址 |
| boot_v1.7_921600.bin | 0x0 |
| esp_init_data_default.bin | 0x3fc000 |
| blank.bin | 0x3fe000 |
| helloworld@esp8266-0x1000.bin | 0x1000
|
????“boot_v1.7_921600.bin" "esp_init_data_default.bin" "blank.bin"這三個文件可以在
“xxx\AliOS-Things\platform\mcu\esp8266\bsp”目錄找到。
????打開燒寫工具,按照表格的地址進行填寫后,對ESP8266板子進行燒寫即可。
????當前我使用的是NodeMCU這個開發板,所以我的燒錄配置參數如下圖
圖10
五、????驗證結果
圖11
????從串口打印中可以看到?“esp8266 hellowrold example by jack!”?的輸出信息。
注意:
????串口參數:
??????波特率? ? ?:??921600
? ? ??停止位? ? ?:??1
? ????數據位? ? ?:??8
? ? ??奇偶校驗? :??無
補充注意:
????對于非Win10的 Windows系統,雖然docker也是支持的。但是要注意一點,其實你的docker是跑在你的虛擬機上面?并非真實的windows上的docker。
? ? 因此 你是無法直接通過windows的文件路徑掛載到docker里面,應該掛載虛擬機下的路徑到docker容器。
? ? 在此有兩個步驟:
? ? 1.將windows上的路徑,通過虛擬機共享文件夾的方式共享到docker虛擬機
? ? 2.掛載時候,使用docker下的共享文件夾路徑進行掛載。
? ? 如:
? ? 這句指令的"G_DRIVE"其實是"G盤"與docker虛擬機共享的文件夾的掛載路徑。
? ?如果掛載windows路徑到docker虛擬機,可以參考以下鏈接(特別注意設置共享文件夾后,一定要重新虛擬機才會生效)
????完整記錄在 windows7 下使用 docker 的過程
? ? 總結一下,本人是比較推薦win10下使用docker技術進行開發,其他windows下這種方式效率其他沒有那么高。部分原因從剛剛的分析過程應該可以體會一二。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql 常用函数(14)- lowe
- 下一篇: 如何开启一个Django项目