iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 22
0
自我挑戰組

Micropython x ESP H/W 之三十個錦囊妙計系列 第 22

[錦囊-貳拾貳] 如何自行編譯MicroPython 原始碼呢?[以ports/Unix 為例]

  • 分享至 

  • xImage
  •  

MicroPython 有不少玩法是需要修改MicroPython原始碼才能玩, 但是網站上寫的方式有點小複雜, 直接實做後發現有更快速的方案就可以達到.

筆者將跟大家分享如何在Linux OS中使用MicroPython環境
(以Ubuntu 18.04.01 LTS為例)

[作法]
0. 安裝編譯時需要的套件

sudo apt-get install build-essential libreadline-dev libffi-dev git pkg-config
  1. 下載MicroPython 原始碼
git clone --recurse-submodules https://github.com/micropython/micropython.git
  1. 切換到/ports/unix
cd micropython/ports/unix
  1. 編譯程式碼
make

[秘訣] MicroPython Github 介紹說要先使用make axtls後再make才能使用, 但筆者驗證後發現並不需要先make axtls 就可以達成需求
4. 編譯結束後就可以在目錄中看到micropython byte code 並使用file查看屬性
https://ithelp.ithome.com.tw/upload/images/20181103/20103824dgRZjSCwZ6.png
5. 輸入以下命令就可以看到MicroPython 的提示字元
https://ithelp.ithome.com.tw/upload/images/20181103/201038245VbaQr9hkW.png
[秘訣] 以這種方式編譯完, 裡頭是沒有內建任何模組的

* 以內建的machine 為例, 匯入時就會出現失敗的狀況
>>> import machine
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: no module named 'machine'
>>> 
  1. 安裝cpython移植過來的相關模組
./micropython -m upip install micropython-pystone
  1. 安裝支援machine模組
    [秘訣] MicroPython 需要安裝machine模組後才能夠使用autocomplete的功能
./microtpyhon -m uppip install micropython-machine
MicroPython v1.9.4-683-gd94aa577a on 2018-11-02; linux version
Use Ctrl-D to exit, Ctrl-E for paste mode
>>> import machine

[秘訣] 在PyPi 網站中搜尋micropython- 這樣的單詞後就可以搜尋出可被安裝在micropython中的模組, 其他模組的話需要做實驗才知道能不能正常被使用, 由於upip 不支援search的功能, 僅支持install
https://ithelp.ithome.com.tw/upload/images/20181103/20103824edfBdeN6gg.png


上一篇
[錦囊-貳拾壹] ESP x MicroPython只能做prototype 嗎?
下一篇
[錦囊-貳拾叁] 編譯MicroPython port ESP系列原始碼的前期條件是什麼?
系列文
Micropython x ESP H/W 之三十個錦囊妙計31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言