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(百度雲盤)下載紅框內的最新版本。其它的老版本不用下了。
-------------------------------------------------- -------------------------------------------------- ----------------------------- 開始整合性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?=無 BOOT?=新 啟動賦值為新的,意思就是可以升級 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_214520.jpg (1.23 MB,下載次數:261)
IMG_20170512_093157.jpg (1.34 MB,下載次數:233)
IMG_20170512_093256.jpg (1.37 MB,下載次數:255)
IMG_20170512_093317.jpg (1.41 MB,下載次數:268)
01.jpg (31.47 KB,下載次數:104)
轉至:
http://club.gizwits.com/thread-6447-1-1.html