-
Notifications
You must be signed in to change notification settings - Fork 2
Build Linux
0hs-twolab edited this page Mar 5, 2020
·
3 revisions
在編譯與運行MicroPython之前需要安裝所需要環境
- Ubuntu 14.04 LTS或更新的版本
- GNU make 3.8.1
- 32-bit 執行檔支援
- Linaro GCC Toolchain for ARM Embedded Processors 4.8.4
準備好 ubuntu 作業系統之後,先進行更新套件資訊與安裝相關套件,開啟終端機(console),輸入下列指令
sudo apt-get update
sudo apt-get install -y build-essential vim p7zip git
sudo apt-get install -y pkg-config libreadline-dev
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y libc6-i386
到下面官方連結:
SDK
非 MediaTek 許可客戶,一般使用者下載公開使用者 SDK
按下 Download Lastest Linkit SDK 之後將進入下網頁如下,下載 SDK 。
將下載放入Download資料夾,下載的時檔案名會以下列型式
LinkIt_SDK_Vx,y.z_public.7z
x.y.z 為版本號碼,所撰文時期所下載檔名為 LinkIt_SDK_V4.6.1
mkdir -p ~/Work/LinkIt_SDK
mv LinkIt_SDK_V4.6.1_public.7z ~/Work/LinkIt_SDK
cd ~/Work/LinkIt_SDK
7zr x LinkIt_SDK_V4.6.1_public.7z
需將 LINKIT_SDK_PATH 環境變數加入.profile 文件裡,開啟文字編輯器加入下列文字
vim ~/.profine
加入內容如下:
#set LinkIt_SDK Path
if [ -d "$HOME/Work/LinkIt_SDK"] ; then
export LINKIT_SDK_PATH="$HOME/Work/LinkIt_SDK"
fi
重新開機讓設置環境重新載入系統。
開啟終端機,用 git 下載整個專案
cd ~/Work/
git clone https://github.com/twolab2019/micropython-into-mt7697.git
進入MicroPython的MT7697資料夾裡並且進行編譯。
cd micropython-into-mt9697/ports/mt7697/GCC
make
編譯完成之後將產生 build/ 資料夾裡面有產生3個bin檔。
- mt7697.bin : 為MT7697的MicroPython的bin檔
- mt7697_bootloader.bin : 為MT7697的bootloader的bin檔
- WIFI_RAM_CODE_MT76X7_in_flash.bin:為晶片wifi設定bin檔
這是一個工具是由MediaTek所提供燒錄工具在Linux系統採用 Python2.7 進行燒錄,此項工具提供了功能是對於 Flash bootloader 與韌體裡的CM4與N9裡行燒入專案的完成產生的 bin 檔(二進檔)。
git clone https://github.com/MediaTek-Labs/mt76x7-uploader.git
使用指令選項:
- -c com_port:串列埠 在Linux系統 /dev/tty.USBx(x:為作業系統產生號碼)
- -f BIN_FILE:這是要被燒錄至晶片的二進制檔的檔名
- -n DA_FILE:為MT7687與MT7697所需要的燒錄的時資料檔,da87.bin用於MT7687與da97.bin 用於MT7697
- -t FLASH_TARGET:程式燒錄至晶片空間位置,主要分為3個區塊cm4、ldr、n9
使用方式:
cd mt76x7-uploader/
python ./upload.py -c /dev/ttyUSB0 -f your_sample.bin -t cm4 -p mt7697
通過upload.py將二進制檔燒錄至晶片組
python upload.py -c /dev/ttyUSB0 -n da97.bin -t ldr -f mt7697_bootloader.bin
python upload.py -c /dev/ttyUSB0 -n da97.bin -t n9 -f WIFI_RAM_CODE_MT76X7_in_flash.bin
python upload.py -c /dev/ttyUSB0 -n da97.bin -t cm4 -f mt7697.bin
簡化了此流程,提供腳本程式:updateToChip.sh
#!/bin/bash
if [ $# -ne 3 ]; then
echo "使用法: ./updateToChip.sh /dev/port 檔案路 檔名"
exit
fi
devices=$1
filePath=$2
fileName=$3
echo "python upload.py -c $devices -n da97.bin -t ldr -f $filePath/mt7697_bootloader.bin"
python upload.py -c $devices -n da97.bin -t ldr -f $filePath/mt7697_bootloader.bin
echo "python upload.py -c $devices -n da97.bin -t n9 -f $filePath/WIFI_RAM_CODE_MT76X7_in_flash.bin"
python upload.py -c $devices -n da97.bin -t n9 -f $filePath/WIFI_RAM_CODE_MT76X7_in_flash.bin
echo "python upload.py -c $devices -n da97.bin -t cm4 -f $filePath/$fileName"
python upload.py -c $devices -n da97.bin -t cm4 -f $filePath/$fileName使用方式sudo ./updateToChip.sh uart的路徑 檔案路 檔名
cd Work/mt76x7-uploader/
sudo ./updateToChip /dev/ttyUSB0 ~/Work/micropython-into-mt7697/ports/mt7697/GCC/build/ mt7697.bin

- Pin (machine module)
- I2C (machine module)
- PWM (machine module)
- WDT (machine module)
- RTC (machine module)
- Timer (machine module)
- ADC (machine module)
- SPI (machine module)
- UART (machine module)
- BLE (Peripheral)
- LinkIt Remote
- cmath (Builtin functions)
- gc (Builtin functions)
- math (Builtin functions)
- sys (Builtin functions)
- uarray (Builtin functions)
- ubinascii (Builtin functions)
- ucollections (Builtin functions)
- uerrno (Builtin functions)
- uhashlib (Builtin functions)
- uheapq (Builtin functions)
- uio (Builtin functions)
- ujson (Builtin functions)
- uos (Builtin functions)
- ure (Builtin functions)
- uselect (Builtin functions)
- usocket (Builtin functions)
- ussl (Builtin functions)
- ustruct (Builtin functions)
- utime (Builtin functions)
- uzlib (Builtin functions)
- []