2、开发环境搭建:硬件准备、SDK获取与编译、烧录工具使用

好,咱们正式开始动手了。这一章我带你把开发环境搭起来。说白了,就是让板子能跑、代码能编、固件能烧进去。这一步要是没弄好,后面全是白搭。我在项目里见过太多人卡在环境上,一卡就是半天,心态直接崩了。

2.1 硬件准备:你得有这些家伙

先看看手头的东西齐不齐。V853 的开发,核心硬件就三样:核心板、摄像头、屏幕。嗯,这里要注意,别买错了型号。

硬件 推荐型号/规格 备注
核心板 全志 V853 官方核心板(TinyVision 或 EVB) 我建议直接买官方的,省心。第三方的坑太多。
摄像头 OV5640 / GC2053(MIPI 接口) 记得要配 0.5mm 间距的 FPC 排线,别买成 USB 摄像头了。
屏幕 5寸 MIPI DSI 屏(480x854 或 720x1280) 如果你只是做算法验证,其实串口 + 网线也行。但做视觉落地,没屏幕你调试起来会疯掉。
电源 5V/2A Type-C 供电 别用电脑 USB 口供电,电流不够,板子会随机重启。我曾经因为这个排查了整整两天。
调试工具 USB 转 TTL 串口模块(CH340/CP2102) 必备!看内核打印信息全靠它。
⚠️ 特别注意: 摄像头和屏幕的 FPC 排线非常脆弱。插拔时一定要对准方向,轻轻推入,然后扣上卡扣。我见过有人大力出奇迹,直接把座子干废了。

2.2 SDK 获取:从哪里搞到源码?

全志的 SDK 不像 STM32 那样随便下。你需要走正规渠道。我个人习惯是直接找全志的 FAE 或者代理商要。如果你是个人开发者,可以去全志的开发者社区(Allwinner Developer Community)注册申请。

拿到 SDK 之后,你会看到一个压缩包,名字大概长这样:V853_Linux_SDK_v1.0.0.tar.gz。别急着解压,先看看你的硬盘空间够不够。这个包解压后大概 15GB,编译完会膨胀到 30GB 以上。

💡 我的习惯: 我一般会在 Ubuntu 的 /home/ 下建一个 workspace/v853 目录,专门放这个 SDK。别放桌面,也别放 Windows 共享目录,否则编译会报一些莫名其妙的权限错误。

2.3 SDK 编译:第一次编译,别慌

解压 SDK:

tar -xzf V853_Linux_SDK_v1.0.0.tar.gz
cd V853_Linux_SDK_v1.0.0

然后你会看到一堆文件夹。别被吓到,核心就几个:lichee/(内核和 uboot)、brandy/(启动相关)、tina/(根文件系统和应用)。

第一次编译,我建议你直接跑全自动脚本:

source build/envsetup.sh
lunch v853_linux_evb_uart0
make -j8

这里解释一下:

  • source build/envsetup.sh:加载编译环境变量。每次打开新终端都要跑一次。
  • lunch:选择目标板配置。我选的是 v853_linux_evb_uart0,对应官方 EVB 板,串口0输出。
  • make -j8:开始编译。-j8 表示用8个线程并行编译。如果你的电脑是4核,改成 -j4

第一次编译大概需要 30-60 分钟,取决于你的电脑性能。这时候你可以去泡杯咖啡。编译过程中如果报错,90% 的原因是:

  • 缺少依赖库(比如 libncurses-devuuid-dev
  • Python 版本不对(需要 Python 2.7 或 Python 3.5+)
  • 磁盘空间不足

✅ 编译成功标志: 最后你会看到类似这样的输出:

Build finished successfully!
Output images:
  out/v853_linux_evb_uart0/boot.img
  out/v853_linux_evb_uart0/rootfs.img
  out/v853_linux_evb_uart0/v853_linux_evb_uart0.img

这三个 .img 文件,就是我们后面要烧录的固件。

2.4 烧录工具使用:把固件灌进板子

全志的烧录工具叫 PhoenixCard(Windows 版)或者 PhoenixSuit(Windows 版)。Linux 下也可以用 sunxi-fel 命令行工具,但我建议新手先用 Windows 版 PhoenixSuit,图形界面,操作直观。

烧录步骤:

  1. 安装驱动: 第一次插上核心板,Windows 会提示安装驱动。驱动在 SDK 的 tools/windows/Drivers/ 目录下。手动指定路径安装。
  2. 打开 PhoenixSuit: 点击「固件包」按钮,选择我们刚才编译好的 v853_linux_evb_uart0.img
  3. 进入烧录模式:
    • 按住核心板上的 FEL 按钮(或者叫 UPGRADE 键)不放。
    • 然后插上 USB 线连接到电脑。
    • 看到 PhoenixSuit 提示「发现一个设备」,松开按钮。
  4. 点击「立即升级」: 进度条开始跑。大概 2-3 分钟烧完。烧完后板子会自动重启。
⚠️ 避坑指南: 我曾经遇到过烧录到一半卡住,进度条不动。后来发现是 USB 线的问题。一定要用 带数据功能 的 USB 线,不要用那种只能充电的线。另外,如果电脑是 USB 3.0 接口,有时候兼容性不好,换到 USB 2.0 接口试试。

2.5 验证:板子跑起来了没?

烧录完成后,用串口模块连接核心板的 UART0 引脚(GND、TX、RX)。波特率设置成 115200。打开串口工具(比如 MobaXterm 或 SecureCRT)。

给板子上电,你应该能看到一串启动日志。最后出现登录提示:

V853 login: root
Password: (默认空密码,直接回车)

登录成功后,输入 ls /dev/video*,看看有没有摄像头设备节点。如果有 /dev/video0,说明摄像头驱动加载成功了。再输入 cat /proc/cpuinfo,确认 CPU 信息。

💡 小技巧: 如果串口没有任何输出,先检查 TX/RX 有没有接反。这是最常犯的错误。另外,确认一下你的串口模块的 GND 和板子的 GND 是否共地。

嗯,到这里,你的开发环境就算搭好了。硬件能跑,SDK 能编,固件能烧。下一章我们开始写第一个 AI 视觉程序——让摄像头采集图像,并在屏幕上显示出来。到时候你会发现,前面这些准备工作,都是值得的。