1
microPython源碼分析.1
microPython源碼分析.2
之前寫過兩篇水文。。。大家先看看。
這篇文章來編譯一個microPython的交叉編譯器。
Python的腳本為了速度變快做了一次“編譯”,對!就是這樣,其實是編譯過一次的。將腳本預編譯為字節碼。
作用是py文件到mpy文件。
https://github.com/micropython/micropython我們先去clone這個庫。

打開以后,我們關注這三個文件夾
py文件夾是mpy的核心實現,編譯器,運行時候的庫,核心庫
mpy-cross就是我們的交叉編譯器

在端口這個文件夾里面,關注這些
運行Arm-MCU的最低標準
至于樂鑫,我只是喜歡它的便宜,好做實驗
mininal是移植在別的MCU的時候從這開始
unix的實現,需要在unix的環境下編譯

打開我們的文件夾,可以看到一個vcxproj的VS項目文件

這樣更清楚

在編譯后運行的時候,可以通過參數指定優化的級別

打開main文件,在開始就可以看到我們的默認優化的級別是0
和我們的文檔對應了

GC堆的大小,64位的指針更占地方

輸入help的打印文件,這個語法有點奇怪
然后你就打開這個vs的項目;

注意這些文件

都是這些頭導入的

要編譯的話,找到這個main文件

打開以后點擊這里

生成階段

最后在文件夾下出現這個exe就成功了

移動到一個文件夾下

-h,打印幫助
.\mpy-cross.exe .\hhhh.py
打印成功