环境搭建参考文档:https://blog.csdn.net/solar_lan/article/details/79887807
1、首先还是更新下源吧
备份/etc/apt/sources.list
cp /etc/apt/sources.list /etc/apt/sources.list.bak
在/etc/apt/sources.list文件前面添加如下条目
#添加阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
最后执行如下命令更新源
##更新
sudo apt-get update
sudo apt-get upgrade
vi操作这个文件会有问题,可以先修改文件权限,将文件拷贝出来在windows上写入文件。
2、安装samba
sudo apt-get install samba
配置文件:/etc/samba/smb.conf(ubuntu 中)
最好先拷贝一份备份
sudo cp smb.conf bak_smb.conf
配置需要共享哪个目录,以及这个目录的权限
sudo vi smb.conf
[vmuser_share]
comment = My share
path = /home/hu/share
browseable = yes
writable = yes
添加用户
sudo smbpasswd -a hu
重启服务
sudo /etc/init.d/smbd restart
sudo /etc/init.d/nmbd restart
windows下访问:
先查看ubuntu地址
windows+R 输入\\ubuntu的IP地址
连接成功
windows上也可以添加映射网络驱动器
3、安装交叉编译工具链依赖的环境:sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial
有些朋友会出错,只要按照第一步先将源更新一下,大部分情况下就可以解决了。
我这边之前已经安装好
4、创建目录
创建ESP32文件夹,然后进入ESP32目录 然后 esp32文件夹里创建三个文件夹:crossTools、demos、sources分别保 存交叉编译工具链、样例和SDK源码
5、下载交叉编译工具
注意自己的机器是32位的还是64位的以下载对应的工具,可以使用命令file /bin/ls 进行查看
直接输入浏览器进行下载:
64 位 Linux:https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-amd64.tar.gz
32 位 Linux:https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-i686.tar.gz
解压到crossTools目录下,解压命令tar -zxvf +文件名,解压后的结果:
6、添加环境变量
(1)、sudo vim /etc/profile
(2)、更新profile文件使其生效: source /etc/profile
(3)、检查是否安装成功:xtensa-esp32-elf-gcc -v
成功的话会打印版本信息,如我的gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0-75-gbaf03c2)
7、下载官方SDK : Espress-idf 到source文件夹
官方已经开源托管在了github上,我们可以使用git clone命令进行下载:
git clone --recursive https://github.com/espressif/esp-idf.git
也可以直接去乐鑫官网去下载:https://www.espressif.com/zh-hans/products/hardware/esp32/resources
8、拷贝SDK例程进demo文件夹
SDK中examples/get-started中的hello_world文件夹拷贝到demo文件夹下
cp命令加上-r表示递归拷贝
9、配置项目工程
(1)在demos/hello_world/目录下 输入命令进入菜单设置:
make menuconfig(注意控制台的窗体大小放大一点否则会报错)进入后,命令台界面如下
(2)进入SDK tool configuration查看交叉编译工具链是否指定正确,已经python命令是否正确安装,ESP-IDF需要你的python属于python2的版本,最好不要使用python3。
(3)进入Bootloader config目录,配置bootloader的打印日志显示信息等级为warning
(4)进入Serial flasher config,指定用于烧写程序的串口设备,一般使用USB转串口的选择/dev/ttyUSB0即可,设置默认的波特率为115200,Flash的SPI模式为DIO,SPI速率为80MHz,Flash的大小为4MB
(5)进入Partition Table设置分区表,为了更好的管理SPI Flash,ESP-IDF引入了分区表的概念,默认使用Single factory app,no OTA制作分区BIN(略默认就好,各位看家可以自己点进去瞅瞅)Component config是对ESP-IDF的内核进行的更加详细的配置( 默认就好)
(6)最后选择 Exit 退出make menuconfig的配置界面,保存刚才的配置,将会在工程根目录下看到新生成的一个build文件夹和sdkconfig文件
10、编译
在demos/hello_world下输入编译命令生成bin文件,make all将会编译所有的BIN文件,默认会编译bootloader、partition_table、app文件,并且还会提示如何进行烧写。
make all -j4 或者 make all -j
(“-j [<jobsnum>]” “--jobs[=<jobsnum>]” 指同时运行命令的个数。如果没有这个参数,make运行命令时能运行多少就运行多少。如果有一个以上的“-j”参数,那么仅最后一个“-j”才是有效的。(注意这个参数在MS-DOS中是无用的))
如果有报错 有可能是没有让环境变量运行起来 输入 source /etc/profile 再编译试试.
11、烧写
输入make flash 命令下载(按照官方的说明 要先长按开发板boot键不放然后按一下Reset键进入下载模式,but 我发现无视这个直接执行命令也是ok的)
下面的截图下载的是smart_config工程不是hello_world工程
也可以直接在windows下去烧写。之前我们装了smaba,直接在windows下就可以访问操作ubuntu里的文件。
下载编译后的bin文件到对应的地址
12、实验结果
.
可以看见是正确执行的,