一、開發環境:Ubuntu 16.04.7 LTS(下載下傳VMware和Ubuntu系統鏡像檔案進行安裝,若有linux環境可跳過此步驟)如下截圖我本機安裝的虛拟機
二、安裝依賴庫:
sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial ssh
sudo apt-get install libsdl2-dev
sudo apt-get install libsdl1.2-dev
三、下載下傳lv_micropython源碼:
git clone https://gitee.com/l_y_r/lv_micropython.git
下載下傳後進入源碼目錄如下截圖
四、進行unix端口編譯,更新子模組(若不更新,代碼下好後編譯會發現很多報錯,很多依賴庫找不到)
cd lv_micropython/
git submodule init lib/berkeley-db-1.xx
git submodule init lib/axtls
git submodule init lib/lv_bindings
git submodule update
cd lv_micropython/lib/lv_bindings/
git submodule init lvgl
git submodule init pycparser
git submodule update
cd lv_micropython/lib/lv_bindings/driver/png/
git submodule init lodepng
git submodule update
(執行過程可能會失敗,則一直執行至更新成功)
五、修改mpconfigvariant.h檔案(支援help('modules')指令)
cd ports/unix/variants/standard目錄下,執行vi mpconfigvariant.h指令,添加如下内容:
#define MICROPY_PY_BUILTINS_MEMORYVIEW_ITEMSIZE (1)
#define MICROPY_PY_BUILTINS_NEXT2 (1)
#define MICROPY_PY_BUILTINS_RANGE_BINOP (1)
#define MICROPY_PY_BUILTINS_HELP (1)
#define MICROPY_PY_BUILTINS_HELP_MODULES (1)
截圖:
六、編譯(先編譯mpy-cross工具)
cd lv_micropython
make -C mpy-cross
(再編譯nix端口的mpy)
cd lv_micropython
make -C ports/unix/
編譯成功後會在ports/unix/目錄下生成micropython檔案
七、測試
1、執行指令檢視micropython版本及子產品資訊
./ports/unix/micropython
如截圖micropython版本v1.18及支援的子產品資訊
2、打開UI界面測試(可以使用micropython開發lvgl應用)
cd lib/lv_bindings/examples/
vi advanced_demo.py
添加如下代碼:
if __name__ == '__main__':
import time
while True:
time.sleep(1)
添加完代碼,執行如下指令:
/home/huaquan/lv_micropython/ports/unix/micopython advanced_demo.py
運作效果: