(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。(来⾃:)
GNU兼容环境:
MSYS2:MSYS2是⼀组⼯具和库,MSYS2 为 GCC、mingw-w64、CPython、CMake、Meson、OpenSSL、FFmpeg、Rust、Ruby 等提供最新的本机构建,仅举⼏例。
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体验;
缺点:
总结:提供了⼀个环境,⼀个统⼀的环境。
参考链接:
开发
开发⽅式
NodeMCU的环境有很多种⽅式Arduino开发
Lua开发
C 开发
⽅案⽅案说明⽀持的
SDK参考链接
使⽤AiThinkerIDE(版本:V1.5.2)需个⼈将编译⽂
件进⾏烧录
NONOS-
SDK3.0
RTOS-
SDK3.0
- [1]
使⽤AiThinkerIDE(版本:V0.5)中的Cygwi环境 + 编译⼯具链xtensa-lx106-elf + IED(eclipse/VSCode代码编辑⼯具)NONOS-SDK2.0
c语言编译器ide代码编辑RTOS-SDK2.0
- [1]
- [2] <;推荐>
使⽤GNU兼容环境 + 编译⼯具链xtensa-lx106-elf + IDE(eclipse/VSCode代
码编辑⼯具)
- [1]
使⽤GNU兼容环境 + 编译⼯具链xtensa-lx106-elf + IDE(eclipse/VSCode代码编辑⼯具)整合烧录--python
脚本实现
NONOS-
SDK3.0
RTOS-
SDK3.0
- [1]
- [2]
- [3] 复现官⽅的教程1:
- [4] 复现官⽅的教程2:(个⼈
根据此复现成功)
- [5] 跟教程2⼀样,但更详细
树莓派开发-
开发⽅式讲解
这⾥讲的主要是C语⾔环境的搭建。
总体过程:NodeMCU开发需要在GNU/Liunx下进⾏编译。输出⽂件进⾏烧录。
也就是说在windows中需要构建这样的GNU编译环境,构建环境的⽅法是可以是使⽤虚拟机、使⽤软件(例如:Cygwin、MSYS2等),总⽽⾔之就是构建这样⼀个GNU兼容环境。
以上的C开发过程中都是先构建这样⼀个GNU兼容环境,其中AiThinkerIDE⾥包含了GNU兼容环境。只要有这环境就可以对NodeMCU中的⼯程⽂件进⾏编译输出⼆进制⽂件。再使⽤烧录软件进⾏烧录。
编译⼯具链xtensa-lx106-elf的⽤途,本质就是⼀个makefile⽂件,是针对x106芯⽚的,是进⾏交叉编译的过程中所需的软件⼯具(⼯具链toolchain),是必备的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论