nodemcu固件編譯


nodemcu固件編譯

by HYH | 2017 年 10 月 10 日 下午 8:27

一.編譯環境搭建

1.下載

百度雲盤:https://pan.baidu.com/s/1dEOw8bZ 下載密碼:v81b

下載vbox及ova虛擬機包。

里面也有安裝文檔。

2.安裝及必要軟件安裝

安裝vbox時一路next即可,安裝完成后雙擊.ova文件,點擊導入即可。導入后虛擬機所有文件在 用戶目錄\VirtualBox VMs 下 

設置共享文件夾(主要是用於文件傳輸)

設置->共享文件夾(新建或更改共享文件夾為一個存在的目錄)

接下來運行虛擬機,注意用戶密碼是espressif

運行sudo -s后輸入此密碼。

安裝git,python,python-serial.

apt-get install git python python-serial

 

下載頭文件

wget https://github.com/esp8266/esp8266-wiki/raw/master/include.tgz

解壓頭文件

tar –directory=/opt/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.2/ -xvf include.tgz

下載sdk頭文件

git clone https://github.com/espressif/ESP8266_RTOS_SDK.git extra_include/xtensa

復制sdk頭文件

cd extra_include/xtensa/extra_include/xtensa

cp -r * /opt/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.2/include/xtensa/

二.nodemcu 0.9x固件下載及編譯

1.下載

git clone -b old-master https://github.com/nodemcu/nodemcu-firmware.git

下載完成后,當前目錄下的nodemcu-firmware文件夾即為源碼文件夾。

2.編譯

下面幾個文件是可由用戶配置

app/include/user_config.h:nodemcu配置

app/include/user_version.h:版本信息配置
app/include/user_modules.h:模塊配置

以上配置均為注釋define或取消注釋來配置

若采用默認配置,直接編譯即可(如果編譯失敗,請嘗試注釋掉user_module.h中的部分模塊)

make

編譯成功后,會重新生成

0x00000.bin

0x10000.bin

下面直接燒錄到nodemcu上即可。

 nodemcu-firmware

備用下載:https://github.com/HEYAHONG/nodemcu-firmware/tree/old-master/bin

如果會把usb設備中的串口設備接入虛擬機,或使用實機。在直接接入一個USB串口轉設備且設備且為nodemcu,可直接在源碼目錄使用make flash燒寫。

三.nodemcu最新版編譯

1.說明

最新版的配置方式和0.9x版一樣。

由於編譯環境限制,需要修改源碼中esp-gdbstub組件,而且需要調整cc.h。

2.下載

如果下了nodemcu的源碼,需要把原來的源碼刪除或者移動到別的地方。

git clone https://github.com/nodemcu/nodemcu-firmware.git

2.下載libm.a:

wget https://github.com/nodemcu/nodemcu-firmware/raw/old-master/lib/libm.a

先make一下,下載sdk。

make

移動libm.a到sdk目錄。

3.修改esp-gdbstub

nano app/esp-gdbstub/gdbstub.c

在頭部添加一下行:

#ifndef XCHAL_DEBUGLEVEL
#define XCHAL_DEBUGLEVEL 2
#endif

4.調整cc.h

此時如果直接編譯,會出現以下錯誤

重復定義,實際兩個定義的最終值都是14,所以只需要注釋掉其中一個重復定義。最好注釋掉源碼中的那一個。

nano app/include/arch/cc.h

注釋掉:

#define EFAULT 14

或者改為(1.5.4版所用方式)

#ifndef  EFAULT

#define EFAULT 14

#endif

注釋掉之后,就能正常編譯了。

 

5.編譯

make

6.燒錄(直接接入nodemcu開發板,本人板子不是4m的)

make flash512k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 https://hyhsystem.cn/wordpress/



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM