(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