为MTK 9300开发板移植Linux系统(以Debian为例)的详细技术指南

发布于:2025-06-16 ⋅ 阅读:(21) ⋅ 点赞:(0)

以下是为MTK 9300开发板移植Linux系统(以Debian为例)的详细技术指南,涵盖环境搭建、内核移植、驱动适配(摄像头/显示器/WiFi)、系统集成与优化。


MTK 9300开发板Linux系统移植全流程指南

1 项目概述

1.1 硬件平台

  • SoC:MediaTek MTK9300 (ARMv8-A架构,4×Cortex-A78 + 4×Cortex-A55)
  • 外设
    • MIPI CSI-2摄像头接口 ×2
    • HDMI 2.1 + MIPI DSI显示输出
    • MT7921K WiFi6/BT5.2模块
    • 4GB LPDDR5 + 64GB UFS 3.1
  • 开发板接口:USB 3.0 Type-C ×2, PCIe 3.0 ×1, 40-pin GPIO扩展口

1.2 软件起点

  • 基线代码:Android 13 (Kernel 5.10 LTS)
  • 目标系统:Debian 12 Bookworm (ARM64)

2 开发环境搭建

2.1 主机系统配置

# Ubuntu 22.04 LTS
sudo apt install gcc-aarch64-linux-gnu u-boot-tools \
flex bison libssl-dev device-tree-compiler \
git-lfs swig python3-dev

2.2 交叉工具链

# ARM官方工具链 (aarch64-none-linux-gnu)
wget https://developer.arm.com/-/media/Files/downloads/gnu/12.3.rel1/binrel/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz
tar xvf arm-gnu-toolchain-*.tar.xz
export CROSS_COMPILE=/path/to/bin/aarch64-none-linux-gnu-

2.3 源码仓库

# 内核源码 (基于MTK官方仓库)
git clone -b mtk-5.10 https://github.com/mediatek/linux.git
# U-Boot源码
git clone https://github.com/u-boot/u-boot.git
# Debian根文件系统
wget https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-12.4.0-arm64-netinst.iso

3 Bootloader移植

3.1 U-Boot配置适配

文件:u-boot/arch/arm/dts/mt9300-evb.dts

/ {
    memory@40000000 {
        device_type = "memory";
        reg = <0x40000000 0x10000000>; // 匹配开发板内存布局
    };

    chosen {
        stdout-path = &uart0;
    };
};

&uart0 {
    status = "okay";
};

&usb0 {
    dr_mode = "otg";
    status = "okay";
};

3.2 DDR初始化参数提取

使用MTK专有工具从Android bootloader提取:

python3 mtk_bootinfo_extract.py preloader.bin > ddr_init_params.h

在U-Boot board初始化代码中包含该头文件:

// u-boot/board/mediatek/mt9300/init.c
#include "ddr_init_params.h"

void mtk_ddr_init() {
   

网站公告

今日签到

点亮在社区的每一天
去签到