1. 网关硬件平台搭建与系统启动
任务目标
在一块ARM Cortex-A系列工业网关核心板上(以全志T3为例),完成Linux系统烧录并验证系统启动流程。最终通过串口终端观察到内核启动日志与登录提示符,证明系统可正常运行。
硬件与工具准备
- 核心板:全志T3(Cortex-A7四核)工业级核心板,底板含调试串口(UART0,TTL电平,默认115200-8-N-1)
- 存储:板载eMMC(8GB)
- 烧录工具:全志PhoenixSuit(Windows)或sunxi-fel(Linux)
- 调试工具:USB转TTL模块、串口终端软件(MobaXterm/minicom)
- 镜像文件:
t3_industrial_v1.0.img(包含U-Boot、内核、设备树、根文件系统)
烧录Linux系统
使用PhoenixSuit进行eMMC烧录,操作步骤如下:
- 安装PhoenixSuit并打开,选择“一键烧录”模式
- 加载镜像文件
t3_industrial_v1.0.img - 按住核心板上的FEL键,通过USB连接核心板与PC
- 软件提示“连接成功”后自动开始烧录,进度条走满即完成
- 断开USB,核心板上电,系统将从eMMC启动
串口登录与启动验证
将USB转TTL模块连接至底板调试串口(TXD→RXD,RXD→TXD,GND→GND),打开串口终端并配置为115200-8-N-1,给核心板上电,观察启动输出。
# 串口终端中预期观察到的启动关键阶段(与代码逻辑对应)
U-Boot 2018.05 (Mar 12 2024 - 10:30:00)
CPU: Allwinner T3 (SUN8I)
DRAM: 1 GiB
MMC: SUNXI SD/MMC: 0
Loading Device Tree: sun8i-t3-industrial.dtb
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.118 (build@server) (gcc version 6.5.0)
[ 1.234567] mmc0: new high speed SDXC card at address 0001
[ 2.345678] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode
[ 3.456789] Freeing unused kernel memory: 256K
[ 4.567890] random: crng init done
Welcome to Buildroot
t3 login: root
# uname -a
Linux t3 4.9.118 #1 SMP PREEMPT Mon Mar 12 10:30:00 CST 2024 armv7l GNU/Linux
以上为预期输出示例,实际日志以烧录镜像版本为准。判定系统启动成功的条件为:
- 串口输出包含“Starting kernel”及后续内核初始化日志
- 文件系统挂载成功(EXT4-fs消息)
- 出现登录提示符
t3 login:,输入用户名root(默认无密码)可进入shell - 执行
uname -a能返回当前内核版本信息
常见问题排查
| 现象 | 可能原因 | 处理方式 |
|---|---|---|
| 串口无输出 | 串口接线错误或波特率不匹配 | 检查TXD/RXD是否交叉连接,确认终端设置为115200-8-N-1 |
| 烧录失败/无法识别设备 | FEL键未正确触发或驱动未安装 | 重新按住FEL键再插入USB,安装全志USB驱动(PhoenixSuit安装目录下driver文件夹) |
| 启动卡在U-Boot | eMMC中镜像损坏或分区错误 | 重新执行烧录流程,确保烧录过程中不断电 |
本案例完成从硬件准备到系统启动验证的完整闭环,核心交付物为可启动的Linux系统及串口验证路径。后续案例将在此系统基础上进行网关功能开发。