Cubieboard 启动指南(一):从零开始配置你的开发板

一、Cubieboard 开发板简介

Cubieboard 系列开发板是基于 ARM 架构的低功耗嵌入式开发平台,适用于物联网、边缘计算、多媒体处理等场景。其核心优势包括:

  • 硬件扩展性:支持多种外设接口(GPIO、UART、I2C、SPI、HDMI 等);
  • 系统兼容性:可运行 Linux(Debian、Ubuntu、ArchLinux)、Android 等操作系统;
  • 社区支持:拥有活跃的开源社区,提供丰富的驱动和开发资源。

本指南以 Cubieboard2(A20 芯片) 为例,其他型号(如 Cubieboard1、Cubieboard4)的配置逻辑类似,但需注意硬件差异(如芯片型号、存储接口)。

二、启动前准备:硬件与工具清单

1. 硬件清单

  • Cubieboard2 开发板(含电源适配器,推荐 5V/2A);
  • MicroSD 卡(至少 8GB,Class 10 或更高,用于系统镜像烧录);
  • HDMI 显示器(或通过串口调试);
  • USB 转 TTL 串口线(可选,用于无显示器时的调试);
  • 键盘/鼠标(USB 接口)。

2. 软件工具

  • 镜像烧录工具
    • Windows:Win32 Disk Imager、BalenaEtcher;
    • Linux/macOS:dd 命令或 BalenaEtcher。
  • 串口调试工具(如 PuTTY、minicom)。
  • SSH 客户端(如 Xshell、MobaXterm)。

三、系统镜像选择与烧录

1. 镜像类型

Cubieboard 支持多种系统镜像,常用选项包括:

  • Lubuntu:轻量级 Linux 发行版,适合资源受限场景;
  • Debian:稳定性强,适合服务器或长期运行;
  • Android:适用于多媒体或触摸屏应用。

推荐从官方或社区获取镜像:

  • 官方镜像源:Cubieboard 官网;
  • 社区镜像:Armbian(基于 Debian/Ubuntu 的优化镜像)。

2. 烧录步骤(以 BalenaEtcher 为例)

  1. 下载镜像文件(如 armbian-2023-xx-focal-cubieboard2.img.xz);
  2. 插入 MicroSD 卡,运行 BalenaEtcher;
  3. 选择镜像文件,选择目标设备(SD 卡),点击 Flash
  4. 等待烧录完成(约 5-10 分钟)。

注意事项

  • 烧录前备份 SD 卡数据;
  • 使用高速 SD 卡(UHS-I 或更高)以提升系统性能。

四、首次启动与基础配置

1. 启动方式

  • HDMI 显示器:连接 HDMI 线、键盘鼠标,直接启动;
  • 无显示器(Headless 模式):通过 USB 转 TTL 串口线连接电脑,使用串口工具(如 PuTTY)访问。

2. 串口调试配置

  1. 连接 USB 转 TTL 线到 Cubieboard 的 UART0 接口(TX、RX、GND);
  2. 在电脑上打开串口工具,设置波特率为 115200,无流控;
  3. 启动 Cubieboard,观察串口输出日志。

3. 首次登录

系统启动后,默认用户名为 root,密码为 1234(首次登录需修改密码):

  1. passwd root # 修改 root 密码

4. 网络配置

Cubieboard 支持有线(以太网)和无线(需外接 USB Wi-Fi 模块)网络:

  • 有线网络:插入网线后自动获取 IP(DHCP);
  • 无线网络:编辑 /etc/network/interfaces 或使用 nmcli 命令。

示例:通过 nmcli 连接 Wi-Fi:

  1. nmcli device wifi list # 列出可用网络
  2. nmcli device wifi connect "SSID" password "密码" # 连接指定网络

五、开发环境搭建

1. 更新系统

  1. apt update && apt upgrade -y # Debian/Ubuntu

2. 安装开发工具

  • 编译工具链
    1. apt install build-essential gcc-arm-linux-gnueabihf # ARM 交叉编译
  • Python 环境
    1. apt install python3 python3-pip # 安装 Python3
    2. pip install numpy pandas # 安装常用库

3. GPIO 控制示例

Cubieboard 的 GPIO 引脚可通过 /sys/class/gpio 接口或 Python 库(如 RPi.GPIO 的兼容库)控制。

示例:通过 Bash 控制 GPIO 引脚(需 root 权限):

  1. echo 20 > /sys/class/gpio/export # 导出 GPIO20
  2. echo out > /sys/class/gpio/gpio20/direction # 设置为输出
  3. echo 1 > /sys/class/gpio/gpio20/value # 输出高电平

Python 示例(使用 sunxi-gpio 库):

  1. import sunxi_gpio as gpio
  2. gpio.init()
  3. gpio.setcfg(20, gpio.OUTPUT) # 设置 GPIO20 为输出
  4. gpio.output(20, 1) # 输出高电平

六、常见问题与排查

1. 启动卡在 logo 界面

  • 原因:SD 卡损坏、镜像不兼容、电源不足;
  • 解决方案
    • 重新烧录镜像;
    • 更换电源适配器(确保 5V/2A);
    • 检查 SD 卡是否为高速卡。

2. 串口无输出

  • 原因:波特率错误、接线错误;
  • 解决方案
    • 确认串口工具波特率为 115200;
    • 检查 TX/RX 线序是否正确。

3. 网络无法连接

  • 原因:驱动未加载、DHCP 失败;
  • 解决方案
    • 加载 Wi-Fi 驱动(如 modprobe 8192cu);
    • 手动配置静态 IP:
      1. echo "auto eth0
      2. iface eth0 inet static
      3. address 192.168.1.100
      4. netmask 255.255.255.0
      5. gateway 192.168.1.1" > /etc/network/interfaces.d/eth0

七、总结与后续建议

本指南覆盖了 Cubieboard 从硬件准备到基础开发的完整流程。下一步可探索:

  • 高级功能:如 GPU 加速、摄像头驱动开发;
  • 项目实践:搭建家庭媒体服务器、物联网网关;
  • 社区资源:参与 Cubieboard 论坛(forum.armbian.com)获取最新支持。

通过系统化的配置和调试,Cubieboard 可成为强大的嵌入式开发平台,满足从原型设计到产品落地的需求。