- 本系列博客學習由 安信可科技 - 官方博客 技術分享,如有疑問請留言或聯繫郵箱。
1、【esp8266】多角度、多方位講解安信可 esp8266/esp32 一體化環境如何編譯各種SDK版本代碼到esp8266模組;
1、【esp32】多角度、多方位講解安信可 esp8266/esp32 一體化環境如何編譯各種SDK版本代碼到esp32模組;
文章目錄
前言
懷着同各位開發者一樣沉重的心情,我們也持續關注着新型冠狀病毒的疫情發展,加油中國!加油武漢!
上一篇的《安信可 ESP8266/32一體化開發環境 IDE》發出後,有一些剛剛接觸的用戶或嵌入式開發小白可能存在着搭建失敗等諸多問題,那麼今天就來和我一同學習安信可一體化IDE吧!
本篇主要介紹 ESP8266 的2個SDK版本的編譯和燒錄
在正文開始前,向大家科普下 ESP8266與ESP32 這兩款黑馬芯片的開發環境情況 ;
- ESP8266與ESP32 這兩款芯片是 上海樂鑫科技 自主設計研發生產的。安信可基於樂鑫ESP8266EX芯片設計研發的低功耗UART-WiFi芯片的模組,可以方便地進行二次開發,接入雲端服務,實現手機3/4G全球隨時隨地的控制,加速產品原型設計。
然而,這兩款模組,官方並沒有推出其真正的IDE軟件,一直推薦使用 linux開發環境,還推出了鏡像給開發者使用。
由此看來,一款真正適合這兩款芯片,集成了開發環境的軟件正是廣大開發者迫切需要的!也就是安信可提供的由官方工具鏈 + Eclipse軟件自主集成的“編譯器”~
但是,由於沒有真正對應的集成環境,在編譯過程中存在的警告和錯誤,還需開發者自己定位,以及在源文件中存在錯誤提示但編譯成功的bug,是不可避免的!
不過,這套“編譯器”的確可以大大提高開發效率,一鍵編譯、一鍵清理和C語法常見錯誤捕捉等工具都是入門開發者真正需要的神器!
一、下載、安裝和配置
1.1 下載
首先我們從網盤拉取下載:https://pan.baidu.com/s/1ffc71Zqiu44ww3FM-bG5WQ
1.2 安裝解壓
點擊 AiThinkerIDE_V1.0.exe
,例如解壓到 D:\Ai-Thinker\AiThinkerIDE_V1.0
,解壓時間長短取決電腦配置,一般5分鐘甚至更長!
尤其注意安裝路徑不能帶空格,不能帶中文字符!
1.3 配置變量
以管理員身份運行Config.exe配置下環境,包括SDK路徑、cywin環境等,此配置程序只需要運行一次即可,之後就不需要再點擊運行。
- Eclipse Path路徑爲eclipse.exe所在的路徑
示例:D:\Ai-Thinker\AiThinkerIDE_V1.0\eclipse\eclipse.exe
- Msys32 Path路徑爲msys32 bin文件所在的路徑
示例:D:\Ai-Thinker\AiThinkerIDE_V1.0\msys32\usr\bin
- Mingw32 Path路徑爲mingw32 bin文件所在的路徑
示例:D:\Ai-Thinker\AiThinkerIDE_V1.0\msys32\mingw32\bin
點擊 defualt
確定路徑是否正確?確認配置正確後,點擊Save,Config會自動關閉保存當前配置
首次使用 Eclipse 時會提示選擇一個目錄作爲工作空間,選擇之前的安裝目錄作爲工作空間例如:D:\Ai-Thinker\AiThinkerIDE_V1.0
首次打開 eclipse ,會提示這個 保存工作空間的提示,選擇一個目錄之後,勾上不再提示:
二、【ESP8266】編譯 非操作系統 Nonos SDK 3.0 版本
爲了減少開發者下載sdk的時間,解壓後的文件中,包含了多個版本的 SDK 的代碼;你問我SDK是什麼?我只能說不同的資源開發包,編譯之後都是固件,8266都可以運行!
對於各個SDK版本的區別,本文不多講述,具體自己去翻資料!安信可IDE解壓後的文件擁有了多個版本的 SDK 的代碼,雖是非最新版本,但具有不錯的學習參考價值!
本小點教大家如何編譯 帶操作系統 Nonos SDK 3.0 版本代碼;
- 硬件材料:安信可NodeMCU開發板;
- SDK版本(非最新版本):
3.0.1(78a3e33)
導入步驟:
- 點擊C/C++分支,選擇
Existing Code as MakeFile Project
工程; - 複製安裝之後的
msys32\home\aithinker\ESP8266_NONOS_SDK
的路徑,import --> Cross Gcc , 並且去掉對應的 C++ 勾勾;如下動圖所示:
編譯步驟:
- 項目屬性設置,鼠標選中項目名稱右鍵點擊,在右側菜單中選擇Properties
- 選擇Properties --> C/C++ Build --> Build command 中添加編譯規則,當前硬件是 32Mbit的模塊,所以這樣填:(
make COMPILE=gcc BOOT=none APP=0 SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=6
); - 在Properties --> C/C++ Build --> Build directory 選擇編譯的工程路徑,比如根目錄下的 IoT_Demo工程。
- 然後,就可以 清理工程
clean Project
和編譯工程build Project
了; - 控制檯輸出只保留 Console ,其他一律關閉!
- 編譯成功之後,從控制檯看到:
!!!
No boot needed.
Generate eagle.flash.bin and eagle.irom0text.bin successully in folder bin.
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x10000
!!!
燒錄
從官方下載燒錄工具,插上安信可出的 nodemcu 模塊,選擇各個 bin 文件,如下的配置,先 ERASE
,再 START
即可:
默認的打印波特率 74880 ,那麼我們的電腦串口軟件要支持 74880,下面以 SmarTTY 軟件爲例,如下打印,表示運行成功!
三、【ESP8266】編譯 帶操作系統 rtos SDK 3.0 版本
爲了減少開發者下載sdk的時間,解壓後的文件中,包含了多個版本的 SDK 的代碼;你問我SDK是什麼?我只能說不同的資源開發包,編譯之後都是固件,8266都可以運行!
對於各個SDK版本的區別,本文不多講述,具體自己去翻資料!安信可IDE解壓後的文件擁有了多個版本的 SDK 的代碼,雖是非最新版本,但具有不錯的學習參考價值!
本小點教大家如何編譯 帶操作系統 rtos SDK 3.0 版本代碼;
- 硬件材料:安信可官方淘寶店自行購買,正品nodeMcu模塊一個;
- SDK版本(非最新版本):
3.0.1(78a3e33)
導入工程:
- 點擊C/C++分支,選擇
Existing Code as MakeFile Project
工程; - 複製安裝之後的
msys32\home\aithinker\ESP8266_RTOS_SDK
的路徑,import --> Cross Gcc , 並且去掉對應的 C++ 勾勾;
如下動圖操作所示:
配置環境步驟:
- 項目屬性設置,鼠標選中項目名稱右鍵點擊,在右側菜單中選擇Properties
- 在Properties --> C/C++ Build --> Build directory 選擇編譯的工程路徑,比如 examples\get-started\project_template工程。
- 添加IDF環境變量在Properties --> C/C++ Build --> Environment 點擊Add ,路徑爲
ESP8266_RTOS_SDK
文件夾路徑,變量名字爲IDF_PATH
; - 然後點擊 OK 保存退出!
- 控制檯輸出只保留 Console ,其他一律關閉!
如下動圖操作所示:
編譯步驟:
與其他版本不一樣, rtos3.0或以上支持面板設置參數,即通過 make menuconfig 設置,同樣地,我們可以利用快捷鍵去快速設置;
- 構建menuconfig菜單,選中項目名稱,在右鍵菜單中選擇Make Targets --> Create;或者快捷鍵 Alt + F9 ;
- 在彈出的對話框中取消勾選Same as the target name 與 User builder settings 這2個選項,並且
在Build command
中輸入mintty.exe -e make menuconfig
。
如下動圖操作所示:
然後,就可以編譯工程了,點擊 Build Project。編譯過程需要的時間5分鐘以上,取決電腦配置,耐心等待,當出現以下信息,說明編譯成功!
下載步驟:
配置快捷鍵進行下載,其命令是 make flash
,如果指定端口進行燒錄下載固件比如 com12
的話,可以這樣寫: make flash ESPPORT=COM12
;
如下動圖操作所示:
燒錄完畢之後,會如下所示:
默認的打印波特率 74880 ,那麼我們的電腦串口軟件要支持 74880,下面以 SmarTTY 軟件爲例,如下打印,表示運行成功!
列舉下,安信可出品的ESP8266系列模組的常見問題與解答:*
- 1、ESP8266系列模組的12L、12F和12S 有什麼異同?
答: 共同點是32Mbit的flash、貼片封裝,不同點是ESP-12L使用的PCB板層爲兩層,12F使用的PCB板層爲四層,使用上更加穩定,12S在12F的基礎上將四個引腳IO0,IO15,RST,EN引腳進行了內部上下拉處理,接線上只需要接四根線就可以正常使用。所以,我們是推薦各位客戶使用 12S/12F 型號!
- 2、安信可的ESP8266模模組的最小系統是如何規劃的?
答: 正常運行環境是 3.3v 和500mA的直流供電;具體的模塊最小系統原理圖設置如下!尤其說明下,下方紅色框的引腳是不可用的,因爲 ESP8266芯片和flash芯片連接已經佔用了!
- 技術支持:[email protected] ,或留言諮詢,有問必回覆!
- 關注“安信可科技”公衆號二維碼,乾貨多多,第一時間推送!