为什么用ubuntu而不用windows
- 对linux还算熟悉
- windows下没有搭建好平台
- eclipse还是不喜欢用,而且Ai-Thinker还是老版本eclipse魔改
- ubuntu下配置好了是真丝滑,编绎更快,烧写更方便
开发环境
# 依赖安装
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial
# 编译器下载
mkdir ~/esp
cd ~/esp
wget https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz
tar zxvf xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz
cd xtensa-lx106-elf
# 将编译器加入path
vim ~/.bashrc
export PATH=${JAVA_HOME}/bin:$PATH:/home/dawen/esp/xtensa-lx106-elf/bin/
# 下载sdk
# gitee上搜索ESP8266_RTOS_SDK和esp-gitee-tools
git clone --recursive https://gitee.com/EspressifSystems/ESP8266_RTOS_SDK.git
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
# 下载sdk的子模块,官网说的是用git submodule update --init --recursive,但从github下载太慢了
./esp-gitee-tools/submodule-update.sh ESP8266_RTOS_SDK/
# 配置环境变量
# 可以把这一句加入~/.bashrc,今后每次使用前就输入一个esp8266,就配置好的IDF_PATH变量
alias esp8266='export IDF_PATH=~/esp/ESP8266_RTOS_SDK/'
# 确认python版本为python3
python --version
# 安装python3依赖
python -m pip install --user -r $IDF_PATH/requirements.txt
# 复制出hello_world项目
cd ~/esp/project/
cp -r $IDF_PATH/examples/get-started/hello_world .
# 设置
make menuconfig
# 编译
# 这里要注意头文件不能包含系统头文件/usr/include,C_INCLUDE_PATH变量不能有/usr/include。第一次就是在这里>出问题,系统头文件和项目头文件有冲突
make build
# 烧录,这里要看后面内容,不然会报权限问题
make flash
# 监视,同上要先配置好ttyUSB0权限
make monitor
下载权限问题
/dev/ttyUSB0默认只有root用户才有权限访问,但可以设置
# 以下目录加入70-ttyUSB.rules文件
cat /etc/udev/rules.d/70-ttyUSB.rules
# 就是把ttyUSB* 权限改成都能访问
KERNEL=="ttyUSB*", OWNER="root", GROUP="root", MODE="0666"
# 重启udev.service,不行就重启电脑
systemctl restart udev.service
完成以上步骤后可进入/dev/目录,用
ls -al|grep USB
看下ttyUSB0的权限,只要是
-rw-rw-rw-
就可以了。完成以上步骤后就可以使用普通用户运行
make flash
直接烧写,如果使用windows,要下载还要自己选择各bin文件和下载地址,就一个字慢。相比而言linux首次编绎也要比windows快。
linux用什么串口助手
linux串口助手有很多,我试过microcom,minicom,putty,cutecom。前3个都不支持74880波特率。cutecom可以选择自定义74880波特率。esp8266默认启动uart0波特率就是74880,所以要想查看完整信息要选一个支持74880波特率的串口助手。最坑的地方是windows下的putty是支持74880的,linux下就不支持。为此我还专门切换了3次系统,就是显示不出来,还改程序波特率为115200试了下,前半节乱码,后半节就可以显示了。
在那里找学习资料
-
CSDN学习点
,这里是csdn的一个学习资料 -
克隆下来的
ESP8266_RTOS_SDK
仓库下
examples
目录下有很多例程,上面的资料也不少是直接抄的
examples
目录下面的试例。说说这个目录下内容:
peripherals # 外围设备,gpio,uart,pwd,spi,sdio,adc,i2s等
get-started # 就一个hello_world,用来看你的程序能不能运行
protocols # 一些网络协议相关库,这个我也不太懂
wifi # 这个不用说wifi相关
# 其它的我就不熟悉了
再说一个小知识
freertos 的频率可以在
make menuconfig
的时候配置,我的先是100,用vTaskDelay(500)等了5秒钟,还以为程序死了。里面还有很多选项,有待您的探索。
版权声明:本文为weixin_45850062原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。