ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

时间:2024-04-10 09:35:14

一、    开发环境搭建

        目前国内大多数开发者使用的都是WinXP/Win7/Windows XX做MCU的开发。习惯Windows环境开发的朋友,如果一旦一接触到MCU需要是Linux环境来进行开发编译,第一反应理所应当是“臣妾做不到”!比方说,我们主角ESP8266这颗芯片,原厂提供的就是基于Linux做的开发(早期乐鑫还提供VM的开发环境镜像)。因此,我们为了开发这块芯片,就避免不了与linux打交道。

        在Windows上安装虚拟机,再在做芯片的开发,这是目前比较常用的一种方式。但是如果基于VistualStudioCode插件的alios-studio进行开发需linux开发环境的,我是更推荐如下这种方式:使用docker

        那么我们现在开始搭建windows下基于docker的ESP8266的alios-things的开发环境。

系统环境:      Windows10

应用环境:      Docker安装完毕(Windows下安装docker的方式可以到网上查一下)

                     VisualStudioCode(以下简称VSCode)

1、 VSCode安装alios-studio插件,操作如图1所示

ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

图1

       注意:记得把C/C++的插件也一并安装好,alios-studio对其有依赖.

2、安装alios-things的docker镜像

      方法A:

     有能力的同学可以参考我在github给出的dockerfile文件(当然也可以不参考),自己搭建一个docker镜像

https://github.com/lanjackg2003/alios-things-docker.git

    方法B:

     直接从dockerhub服务器通过pull方式获取我编译好的镜像,方法如图2

https://hub.docker.com/r/jacklan/alios-things-docker

ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

图2

    打开命令行,执行如下命令

[plain] view plain copy
  1. docker pulljacklan/alios-things-docker  

    至此,Windows下的支持docker方式的编译环境已经搭建完毕了。


二、    克隆alios-things仓库代码

    可以通过安装git工具,并通过git clone指令进行下载

[plain] view plain copy
  1. git clone https://github.com/alibaba/AliOS-Things  

    如图3所示:

ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

图3

       当然你也可以使用你熟悉的工具从github中下载alios-things的代码。


三、    编译Esp8266的HelloWorld固件

1、用VSCode打开AliOS-Things代码仓库,如图4

ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

图4

2、 修改Alios-Things的HelloWorld.c代码

    如图5,增加了一句代码:  

    printf("esp8266hellowrold example by jack!\r\n");

ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

图5

3、通过快捷键  CTRL+Shift+` 三个按键,打开终端


ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

图6

       我们可以看到,powershell的路径已经是alios-things代码仓库目录了,所以我们接下来把这个目录挂载到docker的容器的工作目录里面。

       在powershell中执行cmd切换到命令行

[plain] view plain copy
  1. docker run -v %cd%:/home/alios/AliOS-Things --name alios-things-build -it --rm jacklan/alios-things-docker  

小窍门:想在powershell直接调起docker的容器可以直接将命令行脚本转城bat文件,然后运行。

ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

图7

后续我会将这个Win_Build.bat也放到github中.


4、 接下来,使用alios-things的cube工具来编译刚刚我们的HelloWorld代码

    在docker容器中执行如下命令

[plain] view plain copy
  1. aos make [email protected]  

ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

图8

ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

图9

 

小贴士:

ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件



 

四、    烧写固件到ESP8266开发板

        到乐鑫官网下载烧录工具: Flash 下载工具(ESP8266 & ESP32)

https://www.espressif.com/zh-hans/support/download/other-tools

        使用乐鑫的Windows下载工具,按照如下地址下载:

文件名

烧录地址

boot_v1.7_921600.bin

0x0

esp_init_data_default.bin

0x3fc000

blank.bin

0x3fe000

[email protected]

0x1000

    “boot_v1.7_921600.bin" "esp_init_data_default.bin" "blank.bin"这三个文件可以在

“xxx\AliOS-Things\platform\mcu\esp8266\bsp目录找到。

    打开烧写工具,按照表格的地址进行填写后,对ESP8266板子进行烧写即可。

    当前我使用的是NodeMCU这个开发板,所以我的烧录配置参数如下图

ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

图10


五、    验证结果

ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

图11

    从串口打印中可以看到 “esp8266 hellowrold example by jack!” 的输出信息。

注意:

    串口参数:

      波特率     :  921600

      停止位     :  1

      数据位     :  8

      奇偶校验  :  无




补充注意:

    对于非Win10的 Windows系统,虽然docker也是支持的。但是要注意一点,其实你的docker是跑在你的虚拟机上面 并非真实的windows上的docker。

    因此 你是无法直接通过windows的文件路径挂载到docker里面,应该挂载虚拟机下的路径到docker容器。

    在此有两个步骤:

    1.将windows上的路径,通过虚拟机共享文件夹的方式共享到docker虚拟机

    2.挂载时候,使用docker下的共享文件夹路径进行挂载。

    如:

[plain] view plain copy
  1. docker run -v /G_DRIVE/vmshare/alios/AliOS-Things:/home/alios/AliOS-Things --name alios-things-build -it --rm jacklan/alios-things-docker  

    这句指令的"G_DRIVE"其实是"G盘"与docker虚拟机共享的文件夹的挂载路径。

   如果挂载windows路径到docker虚拟机,可以参考以下链接(特别注意设置共享文件夹后,一定要重新虚拟机才会生效)

    完整记录在 windows7 下使用 docker 的过程


    总结一下,本人是比较推荐win10下使用docker技术进行开发,其他windows下这种方式效率其他没有那么高。部分原因从刚刚的分析过程应该可以体会一二。