1. 程式人生 > >ESP8266模組使用,環境搭建,編譯和燒錄

ESP8266模組使用,環境搭建,編譯和燒錄

經過一陣子的搗漿糊,無數次的迷茫,困惑,終於慢慢看到點希望的曙光。網上的資料很多,但都不繫統,講地也不詳細,一半靠努力學,一半靠悟。阻擋了很多菜鳥的進步,我現在把我的經驗分享出來,希望少點痛苦多點成就感。
      學習這個主要分兩大塊,第一塊,是APP端建立,第二塊是MCU端建立。以下文章是從MCU端建立來說的。
      微控制器端立即又分為SOC程式建立和微控制器程式建立。前者是利用esp8266本身來寫,優點是少了微控制器,體積更小,成本更低。缺點是入門得化了半月一月的,埠資源也少。如果利用自己熟悉的微控制器來開發進度就快多了,這就是後者微控制器端的建立。優點是自身熟悉,操作流暢,埠資源豐富,缺點就是體積和成本都要增加。需要ESP8266 + MCU,MCU建議有采用有兩個串列埠的。

   
     開始我們學習之路吧。
   
第一章ES8266 WIFI模組開發環境搭 建  

       本人有開發微控制器的基礎,但對於WIFI智慧模組需要用到的軟體是小白一枚,幾天這安看了柯林斯信狀語從句:機智雲的開發教程,很多細節都沒寫清楚,走了許多轉路,針對學習中遇到的痛苦經歷,以及官方資料不詳盡,本人把這些寫下來一則備忘,二則為了和我同樣的小白們少浪費些時間

      選擇安信可的AiThinker_IDE的原因是,它不需要搭建的Linux和虛擬機器,非常方便。解壓後在視窗環境下直接就能用。現在支援XP,WIN7了。

第一步,如何安裝安信可一體化開發環境

   ESP8266 SKD的開發環境有很多,官方的開發環境配置比較複雜,這裡介紹使用安可信出品的整合開發環境ESP8266 IDE,其實就是eclipse集成了相關的開發外掛,用起來還是挺方便的。

安信可一體化開發環境有以下特點:

·支援ESP8266 NONOS和FreeRTOS環境開發

·支援ESP31B / ESP32 FreeRTOS環境開發

·下載即用,無需另外配置環境

·可直接編譯所有樂鑫官方推出的SDK開發包

下載地址:http://pan.baidu.com/s/1skRvR1j(百度雲盤)下載紅框內的最新版本。其它的老版本不用下了。

已更新支援XP支援ESP32支援OpenOCD支援GCC 5.2版本         解壓後:         雙擊AiThinke rIDE_V0.5_setu p安裝程式,選擇一個解壓目錄,預設是D盤。我在D盤新建個資料夾“WIFI_ESP8266”,這裡要注意資料夾名稱不要有中文和空格和小數點,要不後面編譯程式時不會成功。解壓完成後,目錄開啟下面以個名字瞭解下,其中安信可的AiThinker_IDE.exe將一些煩瑣的步驟簡化了。

 
 

 

 

 

檔名

描述

備註

Cygwin.exe cygwin的和Xtensa可編譯器環境 含ESP8266和ESP31B / ESP32開發環境
的eclipse.exe eclipse c / c ++開發工具,僅在官網版本基礎上打包了jre執行環境 本機已經安裝eclipse cdt環境的的無需重複下載
AiThinker_IDE.exe 一體化開發環境配置工具


-------------------------------------------------- -------------------------------------------------- -----------------------------


開始整合性compile-環境
第一步:雙擊這個   。第二步:先點選“Dafult”按鈕,將用點的“儲存”儲存設定。步驟2:執行第二章如何使用安信可ESP系列一體化開發環境  以匯入一個SDK為例,按官方的步驟有問題,反正我沒成功。我總結了一下,有兩種匯入方式有些差別:第一種,當檔案 - >匯入彈出對話方塊後,選“一般”裡的“現有專案進入工作區”匯入。第二種,選“C / C ++”裡的“現有程式碼為Makefile Project”匯入。當第一種匯入不成功時,可嘗試用第二種匯入。機智雲生成的SDK都是用第二種方法匯入的。網路上蝕大都用的第一種,為什麼這樣我沒有去深究,我覺得還是先學好怎麼用吧。


 


 

 



        

      兩種方法的共同點是,所需的專案文件一定要匯入AiThinkerIDE_V0.5 \ cygwin的\家庭\ aithinker \專案資料夾,這個資料夾類似日食官方資料常提到的工作區資料夾,否則編譯不成功,不成功,不成功(重要的事說三遍)。這一步卡了我三天,誰讓我是小白呢,下面我按我的流程詳細寫下來備忘。

      安信可IDE安裝好後,已經給我們準備好了開啟的快捷方式。我們開啟剛才解壓縮的“AiThinkerIDE_V0.5”資料夾,可以看到有個“OpenWorkSpace”批處理檔案。雙擊開啟,會自己定位到所要匯入的資料夾,該資料夾內,就是已經匯入好的專案SDK。先說第一種匯入方式:以安信可官方下載的SDK為例   步驟1:雙擊開啟AiThinker_IDE“檔案” - >”匯入“。專案欄裡右擊選擇”匯入“也可以。步驟2:選擇”常規“ - >”現有專案進入工作區“點選”下一步“。步驟3:如圖,選擇桌面上解壓好的的esp8266_nonos_sdk_v1。 5.4資料夾。下面又要注意了,資料夾名稱不能有小數點,不能是中文名,並且將“選項”欄裡,“將專案複製到工作區”,前打勾。意思是將該資料夾複製進文章開頭提到的專案資料夾內。一定要打勾,否則編譯又是不成功!不成功!不成功!     就是該專案資料夾一定要放到 AiThinkerIDE_V0.5 \ cygwin的\家庭\ aithinker \專案資料夾內。可以自己手動複製,也可以讓軟體自己複製。    廢話多一點,自己多注意點。    如果出現這種樣子,就是資料夾內有同名檔案了。       由於程式預設已載入了“ESP8266_NONOS_SDK”,跟我們現在要匯入的文件是一樣的,重複了。所以要把以前的刪除按下“DEL”鍵,或者右鍵單擊,選擇“刪除”。
     


     


 







 

 
      在彈出的對話方塊內如下圖,將“刪除磁碟上的專案內容......”前打上勾。然後點選確定。就將專案名稱連同工作空間資料夾內的文件全部刪除了。       重新按以上步驟匯入下,成功後,先選擇“clean project”,防止出錯。然後再右鍵單擊選擇“bulid project”或者工具欄上的那個小錘子.OK,開始編譯。完成後,如下圖第二種匯入方式,針對第三方雲平臺專案用第一種方法無法匯入問題例如“機智雲”生成的專案資料夾。步驟1:解壓從機智雲下載的專案並複製到專案資料夾內雙擊“OpenWorkSpace”批處理檔案,自動開啟簡化步驟。步驟2:將專案手動複製進去下圖選中的就是我剛才複製的專案資料夾步驟3:雙擊開啟該資料夾,直到定位到有“生成檔案”的資料夾處。並複製檔案路徑,到安信可IDE內用注意路徑上有檔名,不能出現中文。步驟4:雙擊開啟AiThinker _IDE。“檔案” - >“匯入”。圖略了。步驟5:雙擊下圖的“現有程式碼為Makefile Project” 步驟6:將剛才複製的路徑直接貼上到“現有程式碼位置”處,省地點“瀏覽“按鈕一層層找了。下面選”Cygwin GCC“。點”完成“。匯入成功,但還有些地方需要修改,否則編譯不成功。我是從機智雲論壇上看來的,目前我還沒整明白。就是雙擊開啟生成檔案,將下面這段程式引數修改下。
        
          



        


        

 

    



 

 

 


 

 
 

BOOT?=無
APP?= 0
SPI_SPEED?= 40
SPI_MODE?= QIO
SPI_SIZE_MAP?= 0

改成

 

BOOT?=新
APP?= 1
SPI_SPEED?= 40
SPI_MODE?= QIO
SPI_SIZE_MAP?= 6

啟動賦值為新的,意思就是可以升級

APP賦值為1,就可以生成user1的bin檔案如果需要OTA雲端升級,就要用到user2檔案,只要在這裡將APP值賦為2就行了。

 

SPI_SPEED是下載的速度

SPI_MODE是下載模式

SPI_SIZE_MAP是flash的大小這個可以看上面那個文件詳細介紹賦值為0表示使用的flash是512k

有一處沒搞清楚,安信可官方的SPI_SIZE_MAP?= 2機智雲論壇上的那位大神是SPI_SIZE_MAP?= 4,而下面有位版主說要改成SPI_SIZE_MAP?= 6反正都能編譯成功。

具體可以檢視這人的文章http://blog.csdn.net/chen244798611/article/details/51375337

 

試驗了下。

編譯後生成的箱檔名稱不同。看user1.1024.new.2.bin那行。

SPI_SIZE_MAP?= 2 Flash容量是1024Kb


 
SPI_SIZE_MAP?= 4檔名:user1.4096.new.4.bin SPI_SIZE_MAP?= 6檔名是user1.4096.new.6.bin Flash容量為4096Kb沒有改變。機智雲SDK生成的檔名是user1.4096 .new.6.bin故我們先寫成SPI_SIZE_MAP?= 6

 




第三章燒錄
       關於燒錄方面,這裡提一下。燒錄檔案在專案檔案bin /升級資料夾內,檔案格式是.bin。燒錄地址是後面的0x01000。
軟體:ESPFlashDownloadTool_v3.4.4在安信可官方也可以下載到,搜檔名。


燒錄前先講些基本知識。
軟體編譯好後,燒錄檔案為bin格式的檔案。例如:boot.bin和user1.512.new.4.bin按生成的地址為準。

設定好以後我們可以看看編譯的結果如下

從這裡可以看到boot的開始地址是0x00000支援的版本必須要1.2版本或以上版本

 







第一步:軟體解壓後雙擊執行,選擇“ESP8266 DownloadTool” 第二步:我在桌面建立了個“燒寫檔案”資料夾,裡面放著每次要燒錄的檔案。機智gokit 3串列埠燒錄為例上面方式一的bin檔案,還要加上esp_init_data_default.bin blank.bin boot.bin才行。並且地址要寫正確,按下圖中地址來寫。如下圖:     如果要生成那種單個檔案,地址是0x00000的。類似方式二這種。需要在方式一的基礎上,點選燒錄軟體裡的“CombineBin”按鈕生成。生成在燒錄軟體的“結合”。夾數檔案內關於燒錄,最後講一點,機智雲Gokit3 SOC開發時,板子上的CP2102 USB轉串列埠模組是不能燒錄的。如下圖白色USB線連線的,只能用來向電腦端串列埠傳送資料,波特率是115200
 

 














 


 

IMG_20170511_181618.jpg  (1.42 MB,下載次數:269)

IMG_20170511_181618.jpg

IMG_20170511_214520.jpg  (1.23 MB,下載次數:261)

 

IMG_20170511_214520.jpg

IMG_20170512_093157.jpg  (1.34 MB,下載次數:233)

 

IMG_20170512_093157.jpg

IMG_20170512_093256.jpg  (1.37 MB,下載次數:255)

 

IMG_20170512_093256.jpg

IMG_20170512_093317.jpg  (1.41 MB,下載次數:268)

 

IMG_20170512_093317.jpg

01.jpg  (31.47 KB,下載次數:104)

 

01.JPG

轉至:

http://club.gizwits.com/thread-6447-1-1.html