ESP8266笔记-02.ESP8266 RTOS环境搭建 - RISC-V MCU技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

[文章]

ESP8266笔记-02.ESP8266 RTOS环境搭建

选择RTOS SDK进行开发

在上一篇内容里面说过,ESP8266可以选择很多种方案进行开发,例如Arduino,lua,python,官方的RTOS SDK,NONOS SDK开发,看样子他们不过是使用的编程语言不同,但是编程语言不过相当于兵器,我认为从本质上来讲,可以分为三类,第一类就是官方的RTOS SDK和NONOS SDK,原厂的东西兼容性、功能和运行速度肯定是最好的,直接用代码编译成了固件;第二类就是Arduino,这种类型也是直接由代码编译成了固件,因为按照Arduino的方式进行编写,以及添加Arduino不同的组件库,所以,在代码的处理上肯定和官方的不同;第三类就是Lua和Python的这两种脚本语言,他们的方式是相当于先烧写进去解释器的固件,然后再写脚本语言放进去让解释器根据脚本语言去执行,这种方案的功能和运行速度毫无疑问的不如第一类官方的SDK。

但是,第二类和第三类的优势也是显而易见的,那就是开发的速度是很快的,尤其如果以前开发过项目,迁移起来也是不用费太大力气的。

我使用Lua开发过两个项目,一个是合宙的4G模块,一个就是ESP8266的NodeMCU,虽然我的心里真的挺担心使用脚本语言会不会出问题,尤其使用Lua语言,属于弱类型的动态语言,而我刚开始接触的语言是Pascal语言,也可能是性格的原因,所以对这种语言有种天然的不放心,如果不是项目工期太赶,我是真的不敢使用这种语言的,就像是埋地雷似的,没有编译器帮我在编译的时候告诉我哪里出问题,真的很担心。

但是,好在这两个项目都运行了两三年了,完全没出问题,我只能说,合宙的技术挺厉害的,以及感谢开源的大佬们的精心付出了。

至于官方的SDK中,为什么选择RTOS SDK,其实在上一篇也提到过,NONOS SDK一方面停止更新了,另外一方面加个多线程会轻松很多,最主要的就是官方推荐RTOS SDK,大概是因为最新的RTOS SDK 3.0以后的代码风格类似于esp-idf了,而ESP-IDF是ESP32官方推荐的编码方式,其实呢,RTOS SDK也在2021年也停止更新了,毕竟在2026年就要停止供货周期了。

选择开发环境

开发环境的选择,有一个集成式的IDE,就是安信可开发的AiThinkerIDE,最新版本1.5,缺点是使用的是RTOS SDK V3.0,并没有采用最新的版本,因为这个IDE也很久没有更新了。

现在,大部分应该都是采用的是Visual Code+编译器+SDK的形式进行的开发,或者采用的Eclipse+编译器+SDK,其实AiThinkerIDE的底层也是Eclipse,包括rtthread-studio也是Eclipse。

所以,我决定也采用Visual Code+编译器+SDK的形式进行的开发.

搭建环境

搭建环境可以从半颗心脏的CSDN博客或者B站中进行查看,也可以直接按照我的流程来,大佬的教程有些地址变了。

首先要明确下载的几个东西:

  1. Visual Code
  2. ESP-IDF
  3. 编译器
  4. SDK

第1个不用多说,非常强大的编辑器。

第2个其实是GNU的兼容环境,主要是需要里面的MSYS2环境,然后送了一个ESP32的开发环境。

第3个是编译器

第4个是ESP8266的SDK

首先,第1个不必多说,自己下载就可以了;第2个的下载链接,下载后进行解压。然后第3个和第4个都可以在这里找到,如果感觉下载慢,可以使用镜像进行加速。

然后解压编译器,将编译器放在msys32下的opt目录当中,里面会有一个esp32的目录。

然后解压SDK,将SDK放在msys32下的home目录下的用户目录当中,里面会有一些配置文件。

然后打开mingw64,在这里我们进行配置变量。

输入:vim /etc/profile.d/esp32_toolchain.sh ,然后就可以进行编辑了。

2024-04-15_155953.png

然后我们修改成下面这样:

export PATH="/opt/xtensa-lx106-elf/bin:$PATH"
export IDF_PATH="/home/zcxj-1/ESP8266_RTOS_SDK"

zcxj-1是我的用户名,自己的要根据自己的进行更改。
2024-04-15_160725.png

环境到这里基本上就搭建好了,然后继续进行下一步。

首先我们需要在ESP8266_RTOS_SDK下创建一个目录,例如我的是workspace,然后将examples\get-started\hello_world这个工程复制到这个目录下,接下来就可以进行编译啦!

我不知道我的哪里出问题了,反正编译失败,大概意思就是找不到Python,好样的,那就准备安装python吧,结果发现pacman没有办法使用,就在我打算自己动手安装MSYS2的时候,突然发现mingw32下是有python的,只不过是PATH中没有,那就算了吧,执行以下两行代码,顺便把esp32_toolchain.sh里面的变量也导入了。

export esp32_toolchain.sh
export PATH=$PATH:/mingw32/bin

然后就没问题啦,接下来输入make menuconfig,然后就开始编译了,记得选择所在串口号和Flash Size,然后编译成功后,执行make flash就可以进行烧录了!

2024-04-15_173149.png

回帖(1)

熊治坤

2024-4-19 16:48:50
linux环境,很多人不适应啊,其实是非常好的。
1
  • dutong0321: 是的,主要还是大部分的工作场景在Windows下,其实用惯Linux是超级舒服的

更多回帖

×
发帖