Skip to content

Build Linux

0hs-twolab edited this page Mar 5, 2020 · 3 revisions

Linux MicroPython 開發環境

在編譯與運行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

下載 MediaTek 官方提供 SDK 包

到下面官方連結: SDK 非 MediaTek 許可客戶,一般使用者下載公開使用者 SDK Screen Shot 2020-02-12 at 2 13 37 PM 按下 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

重新開機讓設置環境重新載入系統。

編譯MircoPython的MT7697專案

開啟終端機,用 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檔

燒錄Bin檔到MT7697

這是一個工具是由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

Clone this wiki locally