1. 程式人生 > >ESP8266開發環境——Ubuntu編譯環境

ESP8266開發環境——Ubuntu編譯環境

這裡以Ubuntu 16.04.1 x64為例安裝交叉編譯環境
1、下載xtensa-lx106-elf.tar.bz2
http://pan.baidu.com/s/1o8S2jF0   gp1m
連結失效請聯絡我或自行Google下載

新建esp8266/opt 目錄

2、解壓到opt目錄
sudo tar -vxjf xtensa-lx106-elf.tar.bz2 -C /opt/


3、配置環境變數

cd ~

vim .profile
在檔案末尾新增:export PATH=/opt/xtensa-lx106-elf/bin:$PATH

儲存退出,更新環境變數使配置生效
source .profile

echo $PATH    可以看到環境變數中已經包含/opt/xtensa-lx106-elf/bin

輸入xtensa並按 Tab 鍵若補全為xtensa-lx106-elf- 則配置成功


4、安裝Git與編譯器依賴庫libc6-dev-amd64 (先安裝好 git)
如果不需要使用git下載程式碼可以不安裝,但libc6-dev-amd64一定要安裝,之前安裝漏了libc6-dev-amd64,總是編譯錯誤,提示找不到xtensa-lx106-elf-gcc
要注意libc6-dev-amd64是否安裝成功,有時候網路問題可能會安裝失敗,這時去編譯也會出錯。



5、下載SDK,編譯例程
參考https://github.com/espressif/ESP8266_RTOS_SDK
git clone https://github.com/espressif/ESP8266_RTOS_SDK.git

喝杯咖啡等待漫長的下載過程,國內下載github比較慢,有能力的可以開代理飛速下載

根據SDK存放目錄,修改 gen_misc.sh,我是下載到使用者目錄~下的(ESP8266_RTOS_SDK/example/opensll_demo/gen_misc.sh)

vim ESP8266_RTOS_SDK/example/opensll_demo/gen_misc.sh

修改下列為實際路徑:

$export SDK_PATH=~/ESP8266_RTOS_SDK

$export BIN_PATH=~/ESP8266_BIN

新增執行許可權:chmod 777 gen_misc.sh

執行:./gen_misc.sh    

 進行引數配置

大家根據自己的硬體板選擇引數,我這裡選擇預設引數,編譯完成就可以看到有bin檔案輸出


6、安裝下載工具,下載到ESP8266板上
sudo apt-get update
sudo apt install python-pip
pip install esptool
cd ESP8266_BIN/
ls
esptool.py --port /dev/ttyUSB0 write_flash 0x00000 eagle.flash.bin 0x40000 eagle.irom0text.bin

請注意串列埠能否正常使用,我用的是cp2102 USB轉串列埠,Ubuntu 16.04裡預設已經安裝好這個驅動,但當前使用者可能沒許可權訪問,需要將當前使用者新增到dialout使用者組,退出登入,然後重新登入就可以使用ttyUSB0