micropython編譯流程

2021-08-14 22:12:47 字數 3131 閱讀 6160

最近終於都考完了,雖然最近沒有發帖子,可是還是看了挺多東西的,都不深,就自己寫一點自己做的工作。

root@charles-virtualbox:/media/sf_linux/micropython-master/ports/stm32# make

use make v=1 or set build_verbose in your environment to increase build verbosity.

stm32lib submodule not found, fetching it now...

(cd ../.. && git submodule update --init lib/stm32lib)

error: pathspec 'lib/stm32lib' did not match any file(s) known to git.

makefile:352: recipe for target '../../lib/stm32lib/readme.md' failed

make: *** [../../lib/stm32lib/readme.md] error 1

root@charles-virtualbox:/media/sf_linux/micropython-master/ports/stm32# make board=cannon

use make v=1 or set build_verbose in your environment to increase build verbosity.

mkdir -p build-cannon/genhdr

create build-cannon/genhdr/pins.h

create stmconst build-cannon/modstm_qstr.h

create build-cannon/genhdr/pybcdc.inf

create build-cannon/genhdr/pybcdc_inf.h

create build-cannon/genhdr/pllfreqtable.h

generating build-cannon/genhdr/mpversion.h

gen build-cannon/genhdr/qstr.i.last

/bin/sh: 1: /media/sf_linux/gcc-arm-none-eabi-linux/gcc-arm-noneezbi/bin/arm-none-linux-gnueabi-gcc: not found

../../py/mkrules.mk:73: recipe for target 'build-cannon/genhdr/qstr.i.last' failed

make: *** [build-cannon/genhdr/qstr.i.last] error 127

make: *** deleting file 'build-cannon/genhdr/qstr.i.last'

///修改了makefile中的路徑

cc ../../py/../extmod/uos_dupterm.c

cc ../../py/../lib/embed/abort_.c

cc ../../py/../lib/utils/printf.c

mpy modules/lcd160cr.py

traceback (most recent call last):

file "modules/lcd160cr.py", line 1

syntaxerror: invalid syntax

../../py/mkrules.mk:115: recipe for target 'build-cannon/frozen_mpy/lcd160cr.mpy' failed

make: *** [build-cannon/frozen_mpy/lcd160cr.mpy] error 1

root@charles-virtualbox:/media/sf_linux/micropython-master/ports/stm32#  

//把lcd160cr.py lcd160cr_test.py onewire.py

//路徑micropython-master\ports\stm32\modules下的顯示函式都槓掉了

省略編譯一堆lib下的庫和stm32lib

stm32f4xx_hal_dma.h檔案  691行

新增uint32_t dma_calcbaseandbitshift(dma_handletypedef *hdma);//dd add

stm32f4xx_hal_dma.c檔案

dma_calcbaseandbitshift函式的 static去掉

編譯成功

雖然現在還沒有成功下進去 ,不過我感覺快了。

歡迎指正

了解MicroPython多執行緒

該模組提供了用於處理多個執行緒 也稱為輕量級程序或任務 的低階原語 多個控制線程共享其全域性資料空間。為 了同步,提供了簡單的鎖 也稱為互斥鎖或二進位制訊號量 發生執行緒特定錯誤時,會runtimeerror引發異常。快速使用示例 import thread import time def th f...

鹹魚micropython入門 函式

函式,即是將一段 封裝起來,用來實現特定的功能。除了micropython內建的函式,使用者也可以使用def語句自定義的函式。定義格式如下 def 函式 引數1 引數2 函式.函式定義完成後,使用函式名來呼叫函式,從而使用其功能。示例 函式可以接收輸入的值,並利用這些值做一些事。多個引數傳遞需要用逗...

gcc編譯流程,交叉編譯

gcc編譯過程 預編譯 gcc e c原始檔 o 輸出i目標檔案 編譯階段 gcc s i原始檔 o 輸出s目標檔案 彙編階段 gcc c s原始檔 o 輸出o目標檔案 gcc編譯例項 gcc g wall c原始檔 o 輸出可執行檔案 g表示在生成的目標檔案中帶除錯資訊,wall表示開啟編譯器常用...