編譯Openmv韌體&增加串列埠
阿新 • • 發佈:2021-07-29
編譯官方板子的韌體
克隆倉庫到本地
git clone --recursive https://github.com/openmv/openmv.git
Openmv
專案中有很多子模組,務必加上recursive引數,這樣才會一併把子模組下載下來。
安裝Docker
過程不表,網上已有許多完善的教程
編譯
git clone https://github.com/openmv/openmv.git --depth=50 cd openmv/docker make TARGET=<TARGET NAME> 下面是可選的韌體 make TARGET=OPENMV2 # To build the OpenMV Cam M4 Firmware make TARGET=OPENMV3 # To build the OpenMV Cam M7 Firmware make TARGET=OPENMV4 # To build the OpenMV Cam H7 Firmware (default) make TARGET=OPENMV4P # To build the OpenMV Cam H7 Plus Firmware make TARGET=OPENMVPT # To build the OpenMV Pure Thermal Firmware make TARGET=PORTENTA # To build the Arduino H7 Portenta Firmware make TARGET=NANO33 # To build the Arduino Nano 33 BLE Firmware
編譯WeAct的板子
克隆倉庫到本地
git clone https://github.com/WeActTC/openmv/tree/WeActStudio #這裡先不下載子模組,因為這個庫裡有個子模組是死活下載不下來的 git checkout -b WeActStudio origin/WeActStudio #切換到WeActStudio分支 cd openmv git submodule init git submodule update --depth=1 cd src/micropython git submodule init git submodule update --depth=1 cd .. #下載子模組
安裝依賴
Weact的倉庫中暫時沒看到支援Docker一鍵編譯,手動安裝以下依賴
sudo apt-get remove gcc-arm-none-eabi sudo apt-get autoremove sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa sudo apt-get update sudo apt-get install gcc-arm-embedded sudo apt-get install libc6-i386 sudo apt-get install python2.7 python-dev python-pip sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev sudo apt-get install python-gtksourceview2 sudo pip install numpy pyserial==2.7 pyusb==1.0.0b2 Pillow sudo apt-get install git sudo apt-get install make
編譯
Weact的板子支援兩種韌體,一種直接執行在晶片內部flash,另一種執行在QSPI的flash。下面編譯的是直接執行在晶片內部flash的韌體。另一種沒測試,理論上只需修改
cd src/micropython/mpy-cross
make
cd ../../
make TARGET=WeActStudioSTM32H7xx
修改IO&新增串列埠
主要修改 /micropython/ports/stm32/boards/WeActStudioSTM32H7xx/mpconfigboard.h
和
micropython/ports/stm32/boards/WeActStudioSTM32H7xx/pins.csv
這兩個檔案
修改IO
pins.csv
裡面定義了IO,自行修改即可
新增串列埠五
在mpconfigboard.h
中新增串列埠五的定義
// UART1 config
#define MICROPY_HW_UART1_TX (pin_A9)
#define MICROPY_HW_UART1_RX (pin_A10)
/******************這是新增的部分***********/
// UART5 config
#define MICROPY_HW_UART5_TX (pin_B13)
#define MICROPY_HW_UART5_RX (pin_B12)
/******************這是新增的部分***********/
// UART3 config
#define MICROPY_HW_UART3_TX (pin_B10)
#define MICROPY_HW_UART3_RX (pin_B11)
#define MICROPY_HW_UART3_RTS (pin_B14)
#define MICROPY_HW_UART3_CTS (pin_B13)