(NodeMCU開發)篇1:搭建NodeMCU開發環境,HelloWorld


(NodeMCU開發)篇1:搭建NodeMCU開發環境,HelloWorld

CONTENTS

前言

目前,關於NodeMCU的開發環境各不一樣,支持在不同平台不同語言進行開發。這里講的主要是C語言環境的搭建。同樣使用C語言搭建開發方式也有很多,但是本質上都是一樣的。

在這里,收集了各種環境開發方式,對其進行整理歸類,然后選了其中的一種綜合方便與更接近底層的方式進行開發。

名詞解釋

  • AiThinkerIDE: 安信可 ESP 系列一體化開發環境(基於 Windows + Cygwin + Eclipse + GCC 的綜合 IDE 環境)。將window環境封裝起來成為一個IDE。<注:在版本的后期將Cygwin換成MSYS2了>

  • GNU兼容環境 : 這里說的GNU環境是指NodeMCU在編譯的時需要的編譯環境。有Cygwin、MSYS2。提供了GUN運行環境,能讓windows運行make命令。

  • GNU:一個技術組織,運動,計划。—— 軟件開源。GNU/Linux 的意思是上層應用程序是GUN體系(遵循GPL標准的一套)。

  • GPL(GeneralPublicLicense): GUN通用公共授權。

  • 編譯工具鏈xtensa-lx106-elf:
    因為ESP8266功能太弱,不足以支持開發工作,所以需要在其他平台上進行開發。現在我們就要在樹莓派上將ESP8266的程序代碼編譯鏈接成ESP8266可執行的文件,再將編譯好的文件燒寫到ESP8266上運行,這個過程就是交叉編譯,交叉編譯所需的軟件工具叫做工具鏈toolchain。
    我們需要的工具鏈是一個lx106編譯器,可以為各種以lx106為內核的器件開發程序,也包括ESP8266。
    因為樹莓派資源也有限,還有前面說過的樹莓派操作系統本身的問題,我們沒有采用樂鑫最新的編程架構ESP-IDF。而使用較老的ESP8266開發工具esp-open-sdk為樹莓派編譯一個工具鏈xtensa-lx106-elf。(來自:樹莓派安裝ESP8266_SDK開發環境

GNU兼容環境 :

  • MSYS2:MSYS2是一組工具和庫,MSYS2 為 GCC、mingw-w64、CPython、CMake、Meson、OpenSSL、FFmpeg、Rust、Ruby 等提供最新的本機構建,僅舉幾例。
    👉🏼 offical鏈接
  • Cygwin

Cygwin就是在Windows中增加了一個中間層——兼容POSIX的模擬層,並在此基礎上構建了大量Linux-like的軟件工具。再來解釋本文開頭的回答,如下圖,POSXI兼容環境包括以下兩部分:

  • cygwin1.dll,作為實現POSIX系統調用的模擬層,可原生運行在Windows中;
  • 在cygwin1.dll之上構建的大量函數庫、應用程序,如libc、zlib、bash、gcc、vim、awk、sed、git等等,與UNIX/Linux幾乎等同*。

Cygwin將cygwin1.dll、函數庫、應用程序等文件按照UNIX/Linux的目錄樹架構進行組織存放。

優點:

  • 首先自然是近乎一致的UNIX/Linux體驗;

缺點:

總結:提供了一個環境,一個統一的環境。

參考鏈接:
Cygwin系列(一):Cygwin是什么 - silaoA的文章 - 知乎

開發

開發方式

NodeMCU的環境有很多種方式

  • Arduino開發
  • Lua開發
  • C 開發
方案 方案說明 支持的SDK 參考鏈接
使用AiThinkerIDE(版本:V1.5.2) 需個人將編譯文件進行燒錄 NONOS-SDK3.0
RTOS-SDK3.0
- [1] 安信可官方-csdn
使用AiThinkerIDE(版本:V0.5)中的Cygwi環境 + 編譯工具鏈xtensa-lx106-elf + IED(eclipse/VSCode代碼編輯工具) NONOS-SDK2.0
RTOS-SDK2.0
- [1] Esp8266學習之旅 - 半顆心臟
- [2] 如何在Visual Studio Code上搭建ESP8266開發環境.md <推薦>
使用GNU兼容環境 + 編譯工具鏈xtensa-lx106-elf + IDE(eclipse/VSCode代碼編輯工具) - [1] 《ESP8266 SDK入門指南》—— 搭建環境部分--使用虛擬機
使用GNU兼容環境 + 編譯工具鏈xtensa-lx106-elf + IDE(eclipse/VSCode代碼編輯工具) 整合燒錄--python腳本實現 NONOS-SDK3.0
RTOS-SDK3.0
- [1] 官方:ESP8266 RTOS SDK Programming Guide——how to use ESP8266_RTOS_SDK (ESP-IDF Style)
- [2] 官方-github
- [3] 復現官方的教程1:搭建 ESP8266 開發環境(windows)- CSDN
- [4] 復現官方的教程2:搭建ESP8266 RTOS的VS Code開發環境 (個人根據此復現成功)
- [5] 跟教程2一樣,但更詳細聊聊ESP8266的SDK(ESP8266_RTOS_SDK v3.3 環境搭建)——cnblog
樹莓派開發 - 樹莓派安裝ESP8266_SDK開發環境

開發方式講解

這里講的主要是C語言環境的搭建。

總體過程:NodeMCU開發需要在GNU/Liunx下進行編譯。輸出文件進行燒錄。

也就是說在windows中需要構建這樣的GNU編譯環境,構建環境的方法是可以是使用虛擬機、使用軟件(例如:Cygwin、MSYS2等),總而言之就是構建這樣一個GNU兼容環境。

以上的C開發過程中都是先構建這樣一個GNU兼容環境,其中AiThinkerIDE里包含了GNU兼容環境。只要有這環境就可以對NodeMCU中的工程文件進行編譯輸出二進制文件。再使用燒錄軟件進行燒錄。

編譯工具鏈xtensa-lx106-elf的用途,本質就是一個makefile文件,是針對x106芯片的,是進行交叉編譯的過程中所需的軟件工具(工具鏈toolchain),是必備的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM