
1. OK113i-S开发板环境搭建全景图拿到OK113i-S开发板的第一天我就意识到环境搭建的复杂性远超普通ARM开发板。全志T113-i这颗国产芯片虽然性能强悍但开发环境配置却像在迷宫里找出口——官方文档零散、社区资料稀少、工具链版本敏感。经过三天三夜的折腾终于整理出这套保姆级环境搭建方案特别适合从零开始的开发者。开发环境搭建主要面临三个核心挑战首先是交叉编译工具链的选择官方提供的工具链存在glibc版本兼容问题其次是Windows平台开发者的Linux环境适配WSL2和原生Ubuntu的差异会导致各种诡异问题最后是烧录工具的配置PhoenixSuit和LiveSuit的驱动兼容性令人头疼。下面我就从这三个维度展开手把手带你避开所有坑位。2. 开发主机环境准备2.1 Windows子系统方案选型对于习惯Windows的开发者WSL2是最佳选择。但要注意必须使用WSL2而非WSL1因为USB设备透传和内核模块编译等功能在WSL1上存在严重缺陷。我实测过以下版本组合Windows 11 22H2 WSL2 Ubuntu 20.04 LTS推荐Windows 10 21H2 WSL2 Ubuntu 18.04 LTS兼容性好安装时有个关键细节执行wsl --install前先修改DNS为114.114.114.114否则微软商店下载速度可能只有10KB/s。安装完成后务必执行sudo apt update sudo apt upgrade -y sudo apt install build-essential git python3-dev libusb-1.0-0-dev警告不要使用WSL默认的22.04版本其glibc 2.35会导致工具链兼容性问题。若已安装可通过sudo vi /etc/apt/sources.list替换所有jammy为focal然后执行降级操作。2.2 原生Linux环境配置推荐使用Ubuntu 20.04.6 LTS物理机安装注意以下硬件要求至少16GB空闲磁盘空间源码编译需要8GBUSB3.0接口×2一个用于调试一个用于烧录有线网络连接WiFi驱动可能干扰USB设备需要特别处理的依赖项sudo apt install gcc-arm-linux-gnueabihf mtools u-boot-tools \ device-tree-compiler bc swig libpython3-dev libssl-dev遇到E: Unable to locate package错误时先执行sudo add-apt-repository deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe3. 全志专用工具链部署3.1 交叉编译工具链安装全志官方提供的toolchain存在路径硬编码问题我改良后的安装流程如下wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz -C /opt接着配置环境变量在~/.bashrc末尾添加export CROSS_COMPILEarm-linux-gnueabihf- export ARCHarm export PATH/opt/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin:$PATH验证安装arm-linux-gnueabihf-gcc -v # 应输出类似 gcc version 7.5.0 (Linaro GCC 7.5-2019.12)3.2 内核编译环境配置T113-i需要特定版本的u-boot和内核源码git clone https://github.com/orangepi-xunlong/u-boot-orangepi.git -b t113-s3-dev git clone https://github.com/orangepi-xunlong/linux-orangepi.git -b orange-pi-5.16-sunxi64编译时有个关键技巧先执行make sun8iw20p1_defconfig后必须手动修改.configCONFIG_USB_EHCI_HCDy CONFIG_USB_OHCI_HCDy CONFIG_USB_SUNXI_HCDy否则USB设备无法正常识别。编译命令建议使用make -j$(nproc) bindeb-pkg LOCALVERSION-custom4. 烧录工具链配置4.1 PhoenixSuit安装与避坑Windows平台推荐使用PhoenixSuit v1.1.6新版有BUG安装时右键选择以管理员身份运行驱动安装需进入禁用驱动程序强制签名模式设备管理器中出现USB Device(VID_1f3a_PID_efe8)表示识别成功Linux平台使用liveSuit需要打补丁git clone https://github.com/allwinner-zh/tools.git cd tools/livesuit make sudo make install烧录时常见问题处理卡在等待UBOOT/用户响应按住开发板上的FEL按钮再上电报错USB控制传输失败更换USB线并确保连接在主机后方接口4.2 镜像烧录实战推荐使用Tina Linux系统镜像烧录流程解压官方镜像包得到.img文件PhoenixSuit选择固件→升级开发板进入FEL模式LED快速闪烁进度条走完自动重启首次启动需要配置串口控制台建议使用MobaXterm设置波特率115200数据位8停止位1流控无5. 开发环境验证与调试5.1 基础功能测试上电后通过串口执行cat /proc/cpuinfo # 应显示T113-i处理器信息 ls /dev/tty* # 检查串口设备节点 dmesg | grep USB # 查看USB设备枚举情况5.2 外设接口验证GPIO测试示例echo 110 /sys/class/gpio/export # PH14 echo out /sys/class/gpio/gpio110/direction echo 1 /sys/class/gpio/gpio110/valueI2C设备检测i2cdetect -y 0 # 检测I2C0总线设备5.3 网络配置技巧有线网络静态IP设置vi /etc/network/interfaces # 添加 auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1WiFi连接需外接模块nmcli dev wifi connect SSID password PASSWORD6. 进阶开发环境优化6.1 VSCode远程开发配置安装Remote - WSL扩展创建.vscode/settings.json{ C_Cpp.default.includePath: [ /opt/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include, ${workspaceFolder}/** ], C_Cpp.intelliSenseMode: linux-gcc-arm }6.2 自动化构建脚本创建build.sh#!/bin/bash export TOPDIR$(pwd) make -C u-boot CROSS_COMPILEarm-linux-gnueabihf- Oorange-pi-t113i make -C linux ARCHarm CROSS_COMPILEarm-linux-gnueabihf- -j$(nproc)6.3 调试环境搭建安装OpenOCDgit clone https://git.code.sf.net/p/openocd/code openocd cd openocd ./bootstrap ./configure --enable-sunxi make sudo make install配置调试接口interface sunxi-usb transport select swd set WORKAREASIZE 0x20000我在实际项目中发现当同时连接调试器和USB设备时开发板供电可能不足。建议使用带独立供电的USB Hub并在电源输入端并联1000μF电容。另外T113-i的JTAG接口复用GPIO需要特别配置否则会出现信号完整性问题导致调试失败。