ESP8266_RTOS_SDK 3.4 ubuntu20.10编译环境搭建

最近在研究ESP8266,发觉这真是一个好玩的东西,感觉自己来迟了,错过了几百万!

windows的编译环境我根据手册搭建完成,但是感觉好慢啊。网上有人说Linux下编译快的一批。

我特意来尝试了一下,我是个linux小白,根据网上的资料一步一步来,走了很多弯路,花了几天时间终于可以编译了。给大家分享下过程,自己也做个记录。

1. 我用的是虚拟机VMware,大家自行下载安装。

  

 

 2. 下载ubuntu20.10

   http://mirrors.aliyun.com/ubuntu-releases/

   阿里云镜像,再用迅雷下载,快的很。网上很多百度云的,那速度...

3. 创建新的虚拟机,安装ubuntu20.10

 

 

 

 

 

 

   选择好安装路径

 

  根据自己的CPU选择相应数量

 

 

 

  网络先用这个方式(安装的时候系统需要更新下载),安装好以后再切换为桥接。

 

 

 

 

 

 

 

 

  点击“编辑虚拟机设置”,加载下载好的ubuntu光盘镜像

 

  点击 “开启此虚拟机”

  根据提示,移动鼠标到虚拟机内选择安装

 

  选择“install ubuntu”

 

  选择语言,我选的是英文,虽然我英文水平并不好,但是必须要有个态度不是吗?

 

  我把安装中的更新去掉了,因为点了会很慢。虽然它还是会自己下载一些更新。但明显快多了,而且安装完以后更新也是一样的。

 

 

  选择"install now" =>“continue”

 

  选择地区,鼠标点击到中国的位置 => "continue"

 

  填写用户名和密码,那必须“123456”,好记啊。

 

  好了,它开始安装了,漫长的过程。

 

  终于完成

 

  重启进入桌面

 

  好了,接下来开始见证奇迹的时候了...

  好吧,也没什么奇迹。一切都是度娘查来的。

 

4  设置网络相关

在桌面上鼠标右键“open in termial”或者“Ctrl+Alt+T”

 接下来的操作基本都是在终端下完成的。

5. 设置一下网络,更改为桥接模式、

  为啥要更改呢?

  现在是NET模式,装虚拟机的这台电脑是可以和虚拟机通讯的。但是局域网内的其他电脑是没办    法和  虚拟机通讯的。

  在屏幕右上角有一个小三角形,点击后选择"wired connect"进行网络设置

 

 

 

 

   “Identity”选项页直接下来选择

 “IPv4”选项页,选择手动"Manual",IP地址写一个局域网里别人没使用的,网关要写实际网关,可以在windows下的命令行模式通过命令“ipconfig”得到。DNS填入电信的IP。完成后点击“Apply”

 

 

  

然后在“虚拟机”-> “设置选项”

 

设置一下网络选项,改为桥接模式

 

  

虚拟机屏幕右下角有一个网络标志,点击“断开连接”,然后再来一次“连接”

 

重新开关一下“开关”,这时网络已经通了。可以在windows命令行下ping一下。

网络符号表示已连接

 

6. 先更新下软件库        

sudo apt-get update

 

7. 安装一下网络工具  

sudo apt install net-tools

 

 

 

8.  修改root 密码  

sudo passwd root

 

 

9. 安装openssh-server,用于远程操作(选做)。  

sudo apt-get install openssh-server

 

    安装完成后会自动运行。以后就可以用secureCRT等软件远程操作ubuntu

10. 安装ftp-server,用于文件传输(选做)  

sudo apt-get install vsftpd

 

    安装好以后,需要这个文件里面的配置,这个时候就需要用到root用户了。

   输入命令 su  后输出密码就切换到root了。

   编辑文件可以用gedit和vim。但是vim目前没装,可以用sudo apt-get install vim安装

   编辑文件,输入命令  

gedit /etc/vsftpd.conf

 

 把“#”号去掉,就使能了某些响应功能操作。

 就修改如下  

listen=NO

listen_ipv6=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

use_localtime=YES

xferlog_enable=YES

connect_from_port_20=YES

chroot_local_user=YES

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

ssl_enable=NO

allow_writeable_chroot=YES

   修改完,保存退出。

   重启下ftp服务器  

sudo service vsftpd restart

 完成后可以用FileZilla软件和虚拟机通过ftp协议传输文件了。

  

11. 安装python环境

   默认是安装了python3.8的。

  

    注意:千万不要手欠去删除它,不然你会知道后果的。(下次运行的时候界面都没了,只有命令行)   把python3链接到/usr/bin/python目录。别问我为什么,我只知道你不照着做后面有你看的。

  

   这个时候我们再查下

  

    安装python-setuptools  

sudo apt-get install python-setuptools

   安装python-pip这个很关键,我在这里花了特多时间,走了很多弯路。结果回头看时本来很简单的一   件事被我整复杂了,原谅我的无知和年轻(虽然并不是)。所以说前面那步为啥要那么做。是很关键的。  

sudo apt-get install python3-pip

    有人会问为啥不批量安装......那不是为了加深印象吗?

   接下来批量安装  

sudo apt-get install python3-serial python3-click python3-cryptography python3-future python3-pyparsing python3-pyelftools

   接下来在安装一些需要依靠的工具  

sudo apt-get install git wget flex bison gperf cmake ninja-build ccache libffi-dev libssl-dev libncurses5-dev

 

12. 下载并配置编译工具链

   xtensa-lx106

   https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz

   下载此文件到Downloads文件夹里(在虚拟机里用浏览器下载就会报错在此目录下)

   也可以在windows下载完通过ftp传输到downloads文件夹里。

   创建工作目录,并把工具链解压到工作目录下  

mkdir -p ~/esp8266

cd ~/esp8266

tar -xzf ~/Downloads/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz

  完成此操作后,工具链已经解压到esp8266文件下了。

   接下来要设置环境变量,方法有几种

   修改/etc/profile 文件

   切换到root用户  

cd /etc

gedit profile

   在末尾添加,保存并退出。乐鑫的SDK库,环境变量先添加,后面再下载。  

export PATH="$PATH:$HOME/esp8266/xtensa-lx106-elf/bin"

export IDF_PATH="$HOME/esp8266/ESP8266_RTOS_SDK"

 

    上面截图是普通用户下查看的,所以是只读。

   修改完以后,需要重新登录才能生效。

  查询环境变量

printenv PATH

 

   或者修改系统文件bashrc

   也是root用户下操作

   gedit .bashrc

   在文件首部添加上面的内存。完成后输入命令。

   source ~/.bashrc

   这里不演示了,功能一样。

13. 下载ESP8266_RTOS_SDK

   在这个步骤,由于我之前是在windows下有下载过这个文件。我就用ftp传输到虚拟机。导致后面出来太多问题,编译不通过,一度奔溃。这些后面再说。

   https://github.com/espressif/ESP8266_RTOS_SDK.git

   这里下载我们用到git工具从github网站下克隆SDK库。这里是克隆是重点。直接打包下载是不行的。

   输入命令  

cd

cd esp8266/

git clone --recursion https://github.com/espressif/ESP8266_RTOS_SDK.git

   这里用的是递归克隆。github是国外网站,经常连不上,且会下载不完全。所以下载完后

   到ESP8266_RTOS_SDK目录上输入命令,进行更新和补全。要不然编译会出错。  

git submodule update --init --recursive

   多运行几次。直到返回为空。一定要这样做!!!确保完整。

   到这里,环境就基本搭建完成了。

   输入下面这个命令,用于检查工具链是否安装和版本是否满足  

python -m pip install --user -r $IDF_PATH/requirements.txt

    如果版本不足,会自行下载安装。

   接下来就可以用make 命令了。到ESP8266_RTOS_SDK/examples/get-started/目录下,把

   hello_world文件拷贝到ESP8266_RTOS_SDK/目录下,进行编译等测试。

    进入ESP8266_RTOS_SDK/hello_world目录下

   输入命令进行参数设置

make menuconfig

    如果屏幕太小是不会显示界面的。

 

  

make clean

 

  

make all

 

 

    真的是快的一批。

   开始你们的飞翔吧!

   下面说一些问题的解决办法。

   之前说的,我通过ftp把ESP8266_RTOS_SDK直接传输到虚拟机里。导致后面编译的时候会出现一些错误。

   例如某个.sh文件提示permission denied 错误(没有权限)。

   解决办法:进入这个文件的目录。(“文件”替换成错误的文件名)  

sudo chmod 777 文件

vim 文件

   在尾部命令行输入  

:set ff=unix

:wq

   例如提示syntax error错误

  是dash和bash的问题,ubuntu下 shell 默认安装的是 dash,改为bash即可。

(不过默认的是dash,我没改一样没问题。所以还是文件拷贝的问题。拷贝过来后,有些文件格式会变成dos,改为unix应该就没问题。关键就是要找出哪个文件引起的错误)

   查看shell 对应的程序,输入下面命令查询  

ls -al /bin/sh

   如果是dash输入下面的命令,选择No,改为bash,再次编译,OK  

sudo dpkg-reconfigure dash
source ~/.bashrc

有可能执行完此命令后,环境变量会被清除,重新设置即可。

特别感谢CSDN和广大网友。我就不一一列举在哪抄的了。见谅!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值