BeagleBone Green 学习笔记
本文档为个人学习记录整理,涵盖 BBG 开发板的选型背景、硬件规格、工具准备、上电检测、系统烧录、串口调试、网络配置、环境搭建及资源汇总全流程。
1. 前言:为什么学习 BBG 开发板?
为什么学习 BBG 这块板子?它能解决什么问题?适用于什么方向?应用环境下的所属领域在哪?我要拿 BBG 这块板子做什么项目?实现什么功能?这是我在写这篇文章时所思考的问题。下面就是我在学习时的个人记录所得。
还有这是开篇(首坑),也是我挖的第一坑吧,如果有需要,希望能对你有所帮助。
,我为什么学习 BBG 开发板?首先这块开发板是朋友 22 年 12 月底送给我的,送给我的原因是,BBG 这块板子国内属于冷门小众类,他不学了,我接手一个月后,也觉得比较冷门,23 年元旦后就扔物料箱里了。前两天大扫除,才重新捡起手里这块板子。我的计划就是将 BBG、鲲鹏香橙派、飞凌 EIF2 这三块板子与我手中的大量 STM32 系列开发板联动起来,整合成个人练手项目。总之我的大方向就是这样了,至于为什么不解释详细些呢,诶呀,我可不想立啥 flag,所以就先这样了,现在让我们开始从零到一的首个进程吧 (:з」∠) 。
2. 什么是狗板(BBG 开发板)?
2.1 基本概况
BBG 是 BeagleBoard‑org 基金会 + Seeed‑Studio(矽递科技)联合推出的开源硬件单板计算机,硬件基于经典 BeagleBone Black(BBB)改版:
移除原板载 HDMI 接口,替换成 2 个 Grove 传感器接口,适配 Seeed 庞大的 Grove 传感器模组生态;
硬件、软件完全兼容 BeagleBone Black,可复用 BBB 所有 Cape 扩展板、驱动代码和系统镜像。
定位:工业控制(我的所属行业)、机器人、AGV、IoT、传感器网关、实时控制。相比树莓派最大优势是自带双 PRU 硬核,适合硬实时控制(EtherCAT、电机控制)。
尺寸:126 × 76 mm;重量约 81g。
2.2 核心硬件参数
1. 主控芯片(TI Sitara AM3358‑1000)
主处理器:1GHz ARM Cortex‑A8(ARMv7‑A),内置 NEON 浮点单元 + SGX530 3D 图形加速器;
2 颗独立 32‑bit PRU‑ICSS(可编程实时单元),主频 200MHz —— 这是 BBG 核心亮点:
PRU 独立于 ARM 内核运行,不受 Linux 系统调度延迟影响,可实现微秒级精准时序;
专门用来跑 EtherCAT、脉冲控制伺服电机、编码器采集、高速 GPIO、自定义工业总线,非常适合 AGV 运动控制项目;
内存与存储:
512MB DDR3 内存;
4GB 板载 eMMC 闪存;
Micro SD 卡槽(可从 SD 卡启动系统)。
2. 板载外设接口
- 通信接口:10/100M 以太网、Micro USB Client(可供电 + USB 虚拟串口)、1 路 USB‑Host;
扩展排针:两侧各一组 46Pin 排针(P8、P9),引出大量 GPIO、UART、SPI、I2C、PWM、ADC、CAN;
特色接口(BBG 独有):
- 1 路 I2C Grove 接口、1 路 UART Grove 接口,无需焊接杜邦线,即插即用 Grove 传感器(温湿度、陀螺仪、超声波、电机模块);
按键与指示灯:BOOT 启动按键、RESET 复位键、电源按键、状态 LED 指示灯;
供电:标准 5V 供电,Micro USB 供电(5V‑1A),也可通过扩展排针外接 5V 输入。
对比 BeagleBone Black(BBB):BBB 有 HDMI 无 Grove;BBG 去掉 HDMI,换来 2 个 Grove 口,其余核心芯片、内存、PRU、引脚完全一致,代码通用。
2.3 软件生态
原生操作系统:官方预装 Debian,同时支持 Ubuntu、Android;还可以部署 FreeRTOS、Yocto、VXWorks、TI‑RTOS;Linux 系统 10 秒即可启动完成;
开发方式:
网页端 Cloud9 IDE + BoneScript(JavaScript 快速开发);
C/C++ 开发 PRU 程序(TI‑CCS 编译器);
Python、C 语言开发 Linux 上层应用;设备树配置引脚复用;
PRU 可脱离 Linux 独立写固件,实现硬实时控制,上层 Linux 做业务逻辑;
启动方式优先级:eMMC 启动 > SD 卡启动 > USB 启动 > UART 串口启动;
衍生版本:
BeagleBone Green Wireless(BBGW):去掉网口,增加 WiFi‑b/g/n + 蓝牙 4.1、4 路 USB‑Host,适合无线 IoT 项目;
BeagleBone Green Eco 新版:升级 USB‑C 接口,优化 PMIC 电源芯片,工业宽温 ‑40~85℃。
2.4 优缺点总结
优点:
PRU 硬核是最大优势:微秒级实时性,做 AGV、步进伺服、EtherCAT 比 STM32 算力更强,比树莓派(无独立实时内核)时序可靠很多;
开源硬件,原理图公开;大量成熟工业项目案例;
引脚资源充足,同时兼容 BBB 的 Cape 扩展板和 Grove 传感器;
Linux 系统功能完善,既能跑高级应用,又能做底层实时控制,软硬结合非常适合嵌入式工程师学习;
功耗低:待机约 25mW,深度睡眠 7mW,适合电池供电设备。
缺点:
Cortex‑A8 内核老旧,1GHz 性能偏弱,复杂 AI 图像处理不如树莓派;
标准版 BBG 不带 WiFi 蓝牙,需要外接 USB 网卡;
国内教程相比 STM32、树莓派偏少,PRU 编程入门门槛较高。
3. 前期准备:硬件与工具清单
论嵌入式软件、硬件与工具清单:嵌入式之与软件与工具清单,这个怎么说嘞?穷软富硬啊,还列什么清单?我的硬件都屯两箱子了,可是还感觉不够用啊,所以工具有啥用啥,AI 工具用的好真的挺香的。
3.1 核心硬件
必备硬件:
BeagleBone Green(BBG 开发板)1 块(TI AM3358,板载 4GB eMMC);
Micro SD 卡(16GB U1 级别及以上)1 张,用于烧写 Debian 系统镜像;优先选用工业级 SD 卡,避免长时间运行丢固件;
5V‑2A 电源适配器(Micro USB 口)
- 说明:仅靠电脑 USB‑5V‑1A 供电负载不足,外接电机模块后会出现电压跌落、系统重启;开发阶段必须使用 5V‑2A 适配器供电;
CH340G USB 转 TTL 模块(3.3V 电平)
- 重点:BBG 串口电平为 3.3V,严禁使用 5V 串口模块,否则会烧毁板子引脚,这是新手高频踩坑点。
我手上已有的配套硬件(后期项目使用):
STM32 系列开发板(F103、H430):负责底层 IO 执行、电机驱动;和 BBG 通过串口/CAN 通信;
鲲鹏香橙派、飞凌 EIF2:运行上层路径规划算法,通过以太网和 BBG 交互;
电机相关模块:L298N、闭环步进电机、伺服驱动器、正交编码器;后期交给 BBG‑PRU 读取编码器和输出脉冲指令;
Grove 传感器套件(适配 BBG 两个 Grove 接口):超声波测距模块、MPU6050 陀螺仪、红外循迹模块。
3.2 连接线材与辅助配件(必备)
Micro USB 数据线 2 根:一根用于供电,一根作为 USB 虚拟网卡(192.168.7.2)实现 SSH 连接;
杜邦线(40P 公对母、母对母),选用线芯粗的优质杜邦线;P8、P9 排针接线使用;
排线:2.54mm 间距排线,后期外接 Cape 扩展板时使用;
SD 读卡器:电脑端烧写系统镜像;普通 USB 读卡器即可;
防静电手环(可选但非常建议):AM3358 芯片比较脆弱,冬天静电极易损坏芯片,拆机接线时佩戴;
板子底座:塑料支架,防止开发板背面焊盘接触金属台面造成短路。
可选拓展配件(后期 AGV 项目阶段购置):
USB‑LAN 有线网卡:标准版 BBG 只有板载百兆网口,如需多网口做 EtherCAT 测试额外购置;
USB 无线网卡:RTL8188CUS 芯片,给 BBG 增加 WiFi 功能;代替 BBGW 无线版;
CAN 收发模块 SN65HVD230:接 BBG 的 CAN 引脚,实现和 STM32 远距离通信;
示波器:用来验证 PRU 输出脉冲时序,观察微秒级波形,验证 200MHz PRU 时序准确性。
3.3 PC 端软件(Windows 11 环境)
必备软件:
镜像烧写工具:Rufus‑4.x(免费开源,写入 Debian 镜像到 SD 卡);
串口+SSH 终端工具:MobaXterm‑Home 版,集成串口调试、SSH 远程登录、SFTP 文件传输,全程只用这一个软件;
CH340 驱动:Windows 安装 USB 转 TTL 驱动;还有 BBG 自带 USB 虚拟网卡驱动(板子上电后访问 192.168.7.2 里面 START.htm 一键安装);
文件传输工具:WinSCP 备选;用来 Windows 和 BBG 之间传输 C 程序、设备树文件、PRU 工程;
文本编辑器:VS Code,安装 C/C++ 插件;编写上层 Linux 应用代码,后期交叉编译程序。
后续开发软件(PRU、内核开发阶段安装):
TI‑CCS12:TI 官方编译器,用来编译 PRU‑ICSS 内核代码(脉冲输出、编码器读取);
WSL2(Ubuntu‑22.04):Windows 子系统,安装 arm-linux-gnueabihf-gcc 交叉编译工具链;编译运行在 BBG 上的 C/C++ 程序;编译内核源码、设备树 DTS 文件;
Git:下载 GitHub 官方 PRU 示例、内核源码、设备树 Overlay 工程;
Putty(备选):如果不习惯 MobaXterm 可以使用;Xshell 也可以(注意版权问题,个人使用免费版)。
3.4 整体清单精简总结版
硬件:BBG 开发板、16GB SD 卡、读卡器、5V‑2A 适配器、Micro USB 线、CH340‑3.3V 串口模块、杜邦线;
后期项目器件:STM32、步进伺服电机、编码器、Grove 传感器、CAN 模块;
PC 软件:Rufus、MobaXterm、VS Code、WSL2‑Ubuntu、TI‑CCS12。
4. 硬件初检:上电前避坑步骤
4.1 整体查看 PCB 正反面
查看板子背面:检查焊盘有无锡珠、多余焊锡、细小金属碎屑,如果掉落金属颗粒落在排针间隙,通电后直接造成 P8、P9 引脚短路烧毁外设甚至 AM3358;
观察 PMIC 电源芯片、DDR3、eMMC 芯片,有无发黑、鼓包、引脚锈蚀;我的 BBG 放置在物料箱两年,重点查看 P8、P9 排针引脚是否氧化发黑;引脚氧化后期会出现引脚通信不稳定、时通时断;
检查 BOOT 按键、RESET 按键按压回弹是否正常,无卡滞。
4.2 Grove 接口检查
两个 Grove 插座内部不要残留杂物;Grove 接口是 I2C 和 UART,插错 5V 模块极易烧坏对应引脚。
4.3 排针状态确认
P8、P9 两侧 46Pin 排针,不要提前插杜邦线、扩展板、Cape 扩展板,初检阶段所有外设全部断开,只保留开发板本体,接线一定要细心仔细,不然几百大洋就当场报废了。
4.4 空载上电测试
供电选择区分两种模式:
电脑 USB‑5V‑1A 供电(仅用来初次验证板子是否可以启动);
5V‑2A 正规 Micro USB 电源适配器(后期正式开发必用)。
分两种启动模式测试:
默认 eMMC 启动模式(松开 BOOT 按键)
Micro USB 插上供电,观察 4 颗系统 LED 指示灯;
上电瞬间 LED 短暂闪烁,随后指示灯按官方逻辑循环点亮;
等待 40‑60 秒启动完毕;电脑端识别出 BeagleBone 虚拟网卡,出现 192.168.7.2 设备,说明板载 eMMC 里原厂 Debian 系统完好;
如果上电之后 LED 完全不亮:大概率电源问题或者板子硬件损坏;LED 常亮不闪烁代表 eMMC 固件损坏,后续就要 SD 卡烧写镜像。
SD 卡启动模式(烧写系统前必须测试)
先拔出 SD 卡,按住 BOOT 按键不放,再接上 Micro USB 供电;持续按住 BOOT 键 5‑8 秒松开;
此时板子进入 SD 卡等待启动状态;LED 缓慢闪烁;
如果按住 BOOT 上电无反应,说明 BOOT 按键电路故障。
4.5 串口接线测试(CH340‑3.3V)
接线规则:BBG TX → CH340 RX;BBG RX → CH340 TX;GND 和 GND 相连;VCC 引脚不要接。
BBG 硬件串口默认引脚:P9‑11 TX、P9‑13 RX。
接线完成后打开 MobaXterm 串口,波特率:115200,数据位 8,停止位 1,无校验;上电查看启动日志:
可以正常输出内核启动信息代表硬件底层正常;
串口乱码:一是电平是 5V,二是波特率配置错误,三是 GND 没有共地。
4.6 上电后检查项目(启动完成之后)
使用万用表测量:P9‑05 输出稳定 5V;3.3V 引脚输出严格 3.3V 左右,偏差超过 0.2V 就异常;
用手触摸 PMIC、AM3358 芯片温度:微微温热属于正常;烫手就立刻断开电源,存在短路问题;
禁止刚上电就插上 Grove 模块、电机驱动板、编码器等外设;确认系统正常运行后再依次接入外设,做到分步接入,出问题可以快速定位故障器件。
4.7 上电避坑精简清单
上电前:肉眼排查锡渣;万用表检查 5V、3.3V 对地有没有短路;释放静电;
牢记:BBG GPIO 全部为 3.3V 电平,严禁接入 5V 设备;
初次上电只插 USB 供电,不带任何外设;确认 LED 状态、虚拟网卡正常;
串口调试必须使用 3.3V 版 CH340;收发引脚交叉对接;
外设分步接入,不要一次性把一堆模块全部接上。
5. 系统镜像烧录(SD 卡启动)
5.1 整体思路
将官方 Debian 镜像烧写到 Micro SD 卡;
按住 BOOT 按键上电,强制 BBG 优先从 SD 卡启动;
测试 SD 卡系统正常后,可以选择把系统刷入板载 4GB eMMC 或者一直 SD 卡运行。
注意:BBG 与 BBB 镜像完全通用,下载 bb-am335x 镜像即可;原厂 eMMC 系统仅初次上电自带,SD 卡启动不会覆盖原有 eMMC 固件。
5.2 准备文件
硬件:
Micro SD 卡:16GB 及以上,U1 级别,优先工业 SD 卡;
USB 读卡器;
PC(Windows 11)。
软件与镜像:
烧写工具:Rufus‑4.x(免费开源);
镜像选择:
推荐版本:bone-debian-11.7-iot-bb-am335x-4gb(Debian 11‑Bullseye Lite 精简版,不带桌面,适合做 AGV 和 PRU 开发);
国内备选:中科大镜像源加快下载 mirrors.ustc.edu.cn/beagleboard/images。
注意镜像下载完毕以后,需要校验,不然系统不完整,容易出很多奇怪的Bug,还有不要下载带 LXQT 桌面版本,系统臃肿,会拖慢 PRU 时序稳定性。
5.3 Rufus 烧写步骤(Windows)
将 SD 卡插入读卡器接电脑;打开 Rufus;
设备:选中你的 SD 卡(千万不要选成本地硬盘);
引导选择:磁盘映像,选中下载好的 .img.xz 镜像文件(Rufus 可以直接解压 xz 压缩包,不用手动解压);
分区方案保持默认:MBR;文件系统:不用修改;
点击开始,弹出警告确认 SD 卡数据全部清除,等待写入 + 校验完成。
烧写完成之后 Windows 只会识别 boot 分区,rootfs 分区 Linux 格式 Windows 无法查看属于正常现象。
5.4 BBG 进入 SD 启动模式(关键步骤)
SD 卡插入板子 Micro SD 卡槽;
按住板子上 BOOT 按键不放;
接上 Micro USB 供电;继续按住 BOOT 按键 5‑8 秒松开按键;
此时跳过 eMMC,优先加载 SD 卡镜像;
LED 指示灯缓慢闪烁代表正在加载 SD 系统;
大约 60‑90 秒系统启动完毕。
启动状态判断:
LED 周期性有序闪烁:SD 系统正在正常启动;
LED 完全不亮:SD 卡损坏或者镜像选错;
LED 快速狂闪:镜像文件损坏,重新下载校验。
5.5 通过串口查看 SD 卡系统启动情况
CH340‑3.3V 接线不变:P9‑11 (TX) → RX,P9‑13 (RX) → TX,P9‑01 GND;波特率 115200;
可以看到 U‑Boot 阶段、内核加载、文件系统挂载日志;
系统启动完成登录账号:debian,密码:temppwd。
5.6(可选操作)把 SD 卡系统写入板载 eMMC
⚠️ 高危警告:该脚本会全盘擦除板载 4GB eMMC 原厂系统,无法恢复!开发阶段强烈建议长期使用 SD 卡启动,项目定型后再固化。烧写全程禁止断电。
- 在 SD 卡系统内执行:
sudo ./opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh 执行之后板子会自动重启开始烧写 eMMC,所有 LED 同步闪烁;烧写期间禁止断电;
全部 LED 熄灭代表烧写完成;拔掉 SD 卡,重启开发板就从 eMMC 启动。
5.7 常见踩坑问题汇总
| 问题现象 | 可能原因与解决办法 |
|---|---|
| 烧写完 SD 卡之后依旧运行 eMMC 里面旧系统 | BOOT 按键按住时间太短,必须通电后保持 5-8 秒再松手 |
| 串口看不到 SD 启动日志,还是旧系统 | SD 卡速度过低,使用劣质低速 TF 卡会识别失败 |
| 系统启动超级缓慢 | 使用电脑 USB-1A 供电电压不足,后期尽量使用 5V-2A 适配器 |
| 镜像版本选错 | 必须下载 -bb-am335x- 镜像;树莓派镜像不能给 BBG 使用 |
5.8 命令验证系统信息
成功登录后输入下面命令确认板子识别正常:
uname -a # 查看内核版本
cat /proc/cpuinfo # 确认 AM3358 处理器
能够看到 AM3358 说明系统适配成功。
6. 串口调试搭建(核心调试入口)
6.1 串口作用说明
UART0(/dev/ttyS0)是 BeagleBone-Green 的系统控制台串口,U-Boot 启动信息、内核打印信息、系统报错日志、Debian 终端命令行全部由此串口输出;
USB 虚拟网卡(192.168.7.2)依赖 Linux 系统启动之后才能生效,如果内核崩溃、eMMC 固件损坏、文件系统出错,SSH 将无法连接;串口是唯一底层排障手段;
其余剩余串口(UART1、UART2)后期用来和 STM32 做串口通信。
6.2 硬件引脚分配(P9 排针)
BBG 和 BBB 引脚完全兼容,调试串口固定为 UART0:
| BBG 引脚 | 功能定义 | 说明 |
|---|---|---|
| P9-11 | UART0_TX | BBG 发送数据;接到 CH340-RX |
| P9-13 | UART0_RX | BBG 接收数据;接到 CH340-TX |
| P9-01 | GND | 公共地线,必须连接;共地是通信正常前提 |
接线逻辑:TX 接 RX,RX 接 TX,GND 相连;严禁接 P9-05(5V 引脚)。
BBG-P9 排针 CH340 (3.3V 版)
P9-11 (TX) ────────────→ CH340-RX
P9-13 (RX) ←──────────── CH340-TX
P9-01 (GND)────────────── GND
硬性注意事项:
BBG 全部 GPIO 电平为 3.3V;CH340-G 模块务必拨至 3.3V 档位;5V 模式接入会直接击穿 AM3358 引脚;
CH340 由电脑 USB 供电,不从 BBG 板上取电,防止相互干扰;
只使用三根杜邦线,不要额外接入 5V。
6.3 Windows-PC 环境配置
安装 CH340 驱动,安装完成后打开设备管理器查看 COM 编号;
打开 MobaXterm 软件,选择 Serial 模式,参数:
COM 口:设备管理器内查到的 COM 编号
波特率:115200
数据位:8
停止位:1
校验位:None
流控:None(流控必须关闭)
6.4 两种使用场景
场景 1:U-Boot 阶段(系统还未启动)
按住复位按键重启开发板,串口立刻输出 U-Boot 启动日志,可以修改 boot 参数、选择启动设备、恢复 eMMC 固件,板子变砖修复全靠串口。
场景 2:Linux 系统终端
系统完全启动结束之后输入账号密码登录:
用户名:debian
密码:temppwd
登录成功之后可以执行 Linux 命令。
注意:Debian 出厂默认情况:内核启动日志串口输出,登录终端默认被重定向至 USB 虚拟网卡,串口只输出启动日志,不能输入命令。想要串口可以登录终端,必须修改 /boot/uEnv.txt。
6.5 开启串口终端登录(必做配置)
通过 SSH 或者串口登录系统;
打开 boot 环境配置文件:
1.sudo nano /boot/uEnv.txt找到下面一行,取消注释(删掉前面 #):
cmdline=console=ttyS0,115200往下找到 #enable_uboot_overlays=1 取消注释;
按下 Ctrl+O 保存、Ctrl+X 退出;重启开发板:
sudo reboot重启之后串口既可以看到启动日志,也能输入指令操作 Linux 系统。
6.6 BBG 剩余串口汇总(后续对接 STM32)
| Linux 设备节点 | 硬件串口 | 引脚 | 用途 |
|---|---|---|---|
| /dev/ttyS0 | UART0 | P9-11 TX、P9-13 RX | 调试控制台串口 |
| /dev/ttyS1 | UART1 | P9-26 TX、P9-24 RX | 和 STM32 通信串口 |
| /dev/ttyS2 | UART2 | P9-22 TX、P9-21 RX | Grove-UART 复用串口 |
注意:默认引脚为 GPIO 功能,想要启用串口需要配置设备树 Overlay。
6.7 故障排查清单(高频踩坑点)
| 故障现象 | 可能原因 |
|---|---|
| 串口完全无输出 | 收发引脚接反;GND 没有连接;CH340 模块拨到 5V 档位;杜邦线接触不良 |
| 打印乱码 | 波特率设置错误;地线接触不良;线材过长引入干扰;CH340 驱动异常 |
| 上电仅有几秒日志,之后无法输入命令 | uEnv.txt 没有开启 ttyS0 控制台,执行上面配置即可 |
| 偶尔丢字符 | 电脑 USB 供电不足,后期使用 5V-2A 独立电源给 BBG 供电 |
6.8 验证串口可用命令
登录串口终端执行下面指令,确认系统识别 AM3358:
uname -a
cat /proc/cpuinfo
出现 AM3358-1000 处理器信息代表硬件和系统全部正常。
7. 网络环境配置(SSH 远程开发必备)
BBG 提供两种网络方式:USB 虚拟网卡(本机直连)、以太网网线连接(局域网 SSH)。USB 网卡适合仅电脑-板子调试;网线模式用于后续和香橙派、STM32、上位机组网做 AGV 项目。
7.1 方式一:USB-Net(Micro-USB 虚拟网卡,最简单,不需要路由器)
7.1.1 原理
BBG 通过 Micro-USB 数据线内部虚拟出 RNDIS 网络设备;Windows 识别网卡后板子 IP 固定:192.168.7.2,电脑端 IP 自动分配为 192.168.7.1,不用路由器。
硬件接线:仅一根 Micro-USB 线连接 PC 和 BBG;串口线可以继续保留用来查看启动日志。
安装 Windows 驱动:
板子正常从 eMMC 或 SD 卡系统启动完成;
电脑浏览器打开:http://192.168.7.2;
页面里打开 START.htm,运行里面 Windows 驱动程序;安装 RNDIS 驱动。
如果打不开网页:设备管理器里面出现带有黄色感叹号的 BeagleBone 设备,手动更新驱动选择文件夹安装。
7.1.2 MobaXterm 使用 SSH 连接
MobaXterm 选择 SSH;
Remote host:192.168.7.2;端口默认 22
Login:debian;密码:temppwd
登录成功之后就可以执行 Linux 指令,SFTP 文件传输自动开启,Windows 和 BBG 互传代码、设备树文件非常方便。
7.2 方式二:以太网网线接入局域网(正式开发推荐)
7.2.1 硬件连接
网线一端接 BBG 网口,另一端接家用路由器或者交换机;PC 连同一个路由器。Debian 系统默认开启 DHCP,路由器自动分配 IP。
7.2.2 获取 BBG 的 IP 地址(两种查看方法)
方法 1:串口里面查看(优先)
串口登录 BBG 输入:
hostname -I
会输出局域网 IP,例:192.168.1.105。
方法 2:路由器后台查看设备 IP
登录路由器管理页面,在设备列表找到 beaglebone 对应 IP。
7.2.3 PC 端 SSH 登录
打开 MobaXterm,SSH 模式填入查到的局域网 IP,账号密码不变:debian / temppwd。
之后香橙派、PC、BBG 处在同一个局域网,以太网通信延迟低,为后面 EtherCAT、AGV 组网打下基础。
7.3 静态 IP 配置(必做,防止每次开机 IP 变动)
DHCP 分配 IP 会随机变化,每次 SSH 都要查 IP 很麻烦,修改配置设置静态 IP。
7.3.1 修改 /etc/dhcpcd.conf 文件
sudo nano /etc/dhcpcd.conf
文件末尾追加下面配置,根据你的路由器网段修改:
interface eth0
static ip_address=192.168.1.105/24
static routers=192.168.1.1
static domain_name_servers=223.5.5.5 8.8.8.8
192.168.1.105:自定义固定 IP;
192.168.1.1:你的网关(路由器地址);
按下 Ctrl+O 保存,Ctrl+X 退出。重启网络服务:
sudo systemctl restart dhcpcd
7.3.2 USB-Net 也设置静态 IP(可选)
USB 虚拟网卡默认固定 192.168.7.2,出厂已经写死,一般不用修改。
补充注意:同时插 USB-NET + 以太网会出现双网段冲突(192.168.7.x / 192.168.1.x),容易路由异常,调试时建议只保留一种网络。
7.4 配置免密登录(省去每次输密码,开发必备)
Windows 的 MobaXterm 生成密钥,实现无密码 SSH 登录 BBG。
- 在 MobaXterm 输入:
ssh-keygen 一路回车生成密钥; - 将公钥发送到 BBG:
ssh-copy-id debian@192.168.7.2 输入一次密码;后续 SSH 连接不再需要密码。
7.5 网络故障排查(高频问题)
| 故障现象 | 可能原因 |
|---|---|
| USB 虚拟网卡电脑识别不到 | Micro-USB 数据线只能用数据传输线,仅充电线无法启用 RNDIS 网卡;更换数据线;安装 RNDIS 驱动 |
| 网线接上之后获取不到 IP | 网线损坏;路由器 DHCP 服务关闭;可以手动配置静态 IP |
| SSH 连接超时无法连通 | Windows 防火墙拦截;关闭电脑防火墙或者放行 22 端口;两边不在同一个网段;USB-Net 网段 192.168.7.x 和局域网 192.168.1.x 不能互通 |
| ping 不通外网(无法 apt 下载软件包) | DNS 配置错误;把 DNS 改成阿里公共 DNS 223.5.5.5 |
7.6 简单连通验证命令
登录 BBG 执行下面命令检验网络:
ping [www.baidu.com](https://www.baidu.com/) -c 4 # 测试外网连通
ip a # 查看 eth0 和 usb0 网卡状态
usb0:对应 192.168.7.2(USB 虚拟网卡)
eth0:以太网口
8. 系统基础环境完整配置
当前系统环境:Debian-11(Bullseye),系统默认软件源为国外源,下载速度缓慢,同时需要安装编译依赖、设备树工具、PRU 开发环境、配置权限,为后面 Linux 上层应用、PRU-ICSS 程序开发、和 STM32 联合开发做准备。
整体执行顺序:更换国内镜像源 → 更新系统 → 安装必备工具包 → 设置免 sudo 权限 → 配置设备树编译环境 → 准备 PRU 开发依赖 → 配置串口权限 → 文件传输环境。
8.1 备份原源文件(重要,出错可以恢复)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
8.1.1 修改 apt 源为清华 Debian 源
sudo nano /etc/apt/sources.list
清空原有内容,填入下面内容:
deb [https://mirrors.tuna.tsinghua.edu.cn/debian/](https://mirrors.tuna.tsinghua.edu.cn/debian/) bullseye main contrib non-free non-free-firmware
deb [https://mirrors.tuna.tsinghua.edu.cn/debian/](https://mirrors.tuna.tsinghua.edu.cn/debian/) bullseye-updates main contrib non-free non-free-firmware
deb [https://mirrors.tuna.tsinghua.edu.cn/debian/](https://mirrors.tuna.tsinghua.edu.cn/debian/) bullseye-backports main contrib non-free non-free-firmware
deb [https://mirrors.tuna.tsinghua.edu.cn/debian-security/](https://mirrors.tuna.tsinghua.edu.cn/debian-security/) bullseye-security main contrib non-free-firmware
Ctrl+O 保存,Ctrl+X 退出编辑器。
8.1.2 更新软件包索引并升级系统
sudo apt update
sudo apt upgrade -y
注意:第一次更新耗时较长,不要断电;更新内核后重启开发板生效。
sudo reboot
8.2 安装基础通用开发套件(Linux 上层开发必备)
sudo apt install -y build-essential git cmake vim tree htop minicom libusb-dev pkg-config screen dos2unix sshfs network-manager-gui
软件作用:
build-essential:gcc、g++ 编译器;编译 C/C++ 上层程序;
git:下载 PRU 官方示例、内核源码;
minicom:Linux 端串口工具,调试 STM32;
screen:后台长时间运行程序;
htop:查看 CPU 占用,监控 AM3358 负载,查看 PRU 占用情况。
8.3 配置串口权限(解决普通用户无法访问 /dev/ttyS0)
debian 用户默认不在 dialout 用户组,访问串口会报权限不足。
sudo usermod -aG dialout debian
sudo usermod -aG plugdev debian
⚠️ 必须完全退出 SSH 会话重新登录才能生效;临时调试可执行 sudo chmod 666 /dev/ttyS0(不推荐长期使用)。
8.4 配置免 sudo(开发过程频繁输密码非常繁琐)
sudo nano /etc/sudoers
找到 root 那一行,在下面添加:
debian ALL=(ALL) NOPASSWD: ALL
安全提示:此配置仅适合本地开发调试;工业量产设备不建议全开免密 sudo,可仅放开所需命令缩小权限范围。
保存退出,后续执行 sudo 命令不需要输入密码。
8.5 安装设备树 Overlay 编译环境(配置 P8、P9 引脚至关重要)
BBG 的 P8、P9 引脚复用(GPIO、UART、SPI、CAN、PWM)全部依靠 dtbo 设备树覆盖层;官方 BB-overlay 工具安装:
sudo apt install -y bb-dt-overlays device-tree-compiler
查看当前已经加载的设备树:
cat /sys/devices/platform/bone_capemgr/slots
后期开启 UART1、UART2、CAN、PWM 引脚,修改 /boot/uEnv.txt 启用对应 overlay。
示例开启 UART1(用于 BBG 和 STM32 通信):
修改 /boot/uEnv.txt,取消注释:
disable_uboot_overlay_video=1
enable_uboot_overlays=1
uboot_overlay_options=enable-uart1
重启之后 /dev/ttyS1 即可正常使用。
8.6 PRU-ICSS 环境部署(本项目核心,用于 EtherCAT、伺服脉冲、编码器采集)
8.6.1 安装 TI 官方 PRU 固件加载工具
sudo apt install -y pru-software-examples am335x-pru-firmware
8.6.2 下载官方 PRU 示例工程
git clone [https://github.com/beagleboard/am335x-pru-software-examples](https://github.com/beagleboard/am335x-pru-software-examples) ~/pru_project
PRU0:用来输出伺服脉冲信号;
PRU1:读取正交编码器;
后期 Windows 端 CCS-12 编译 PRU 代码,将生成的 .bin 文件通过 SFTP 传到 BBG 运行。
8.6.3 开启 PRU 内核(默认 PRU 内核处于关闭状态)
编辑 /boot/uEnv.txt 启用 PRU-ICSS:
sudo nano /boot/uEnv.txt
添加:
uboot_overlay_options=enable-pru
重启板子,验证 PRU 是否启用:
ls /dev/rpmsg_pru30
ls /dev/rpmsg_pru31
出现对应设备文件,说明 PRU0 和 PRU1 内核就绪;若未识别可手动加载内核模块 modprobe pru_rproc。
8.7 配置 SFTP 文件传输(Windows 与 BBG 互传文件)
MobaXterm 自带 SFTP,USB-Net 模式下自动生效;如果使用网线局域网模式:
协议:SFTP
Port:22;账号 debian,密码 temppwd
把 Keil 生成的 STM32 程序、PRU 固件、上层 Linux 代码传到板子里面。
8.8 安装可选工具(后期 AGV 项目)
sudo apt install -y python3 python3-pip numpy matplotlib can-utils
can-utils:配合 SN65HVD230 模块,实现 BBG 和 STM32-CAN 总线通信;
python3:上层做简单路径算法调试。
8.9 系统环境验证命令,确认全部配置成功
gcc --version # 确认 gcc 编译器安装成功
git --version # git 可用
ls /dev/ttyS0 # 调试串口存在
ls /dev/rpmsg_pru30 # PRU 内核开启成功
9. 总结
恭喜,当你坚持走到这一步时,你的开发环境已经搭建完毕了,我们的从零到一的任务目标已经完成。
当然,如果你按照我的过程行进,但是进行的不太顺利的话,那就很抱歉了,毕竟需要你亲自动手来解决问题了,不过这就是AI时代背景下我们嵌入式工程师的核心价值,尤其是在这个 AI 智能大爆发的时代,AI写代码的速率和产量相信大家都已经亲身体验过,所以我个人觉得现在调试 Bug 才是我们的主要工作日常,最后就是 "我是真的不敢保证已经在我电脑上跑通了的过程在别人的电脑上能完美复现出结果",毕竟奇奇怪怪的 Bug 总是那么多,所以,下班了,兄弟,Bug明天继续。
最后一件事,写那么长,我是真的懒得排版了,所以就让豆包帮我排版了,如果有啥问题,就麻烦留言给我了,总之第一坑就这样填完了,后续有时间开第二坑。
编辑于 2026 年 7 月 10 日 20:59:14
个人邮箱:980903809@qq.com
10. BeagleBone Green 资源链接
个人资料整理链接:
通过网盘分享的文件:BeagleBone_Green
链接:https://pan.baidu.com/s/1-RDeIeM496EJKp-6TO2GGw?pwd=8888
提取码:8888
来自百度网盘超级会员 v8 的分享
要点说明:
BBG 硬件完全兼容 BBB(BeagleBone-Black),BBB 全部镜像、驱动、PRU 例程、设备树工程都可以直接在 BBG 运行;
硬件资料由 Seeed-Studio 提供;
AM3358 芯片手册、PRU-ICSS 资料来自 TI 官方;
系统镜像由 BeagleBoard-org 维护。
一、官方主页与硬件文档(硬件原理图、规格书、引脚说明)
1. BeagleBoard-org 官方总站
获取 Debian 官方镜像、U-Boot 资料、BoneScript 文档、Cape 扩展板资料、P8/P9 引脚复用说明;
默认登录账号:debian,密码:temppwd;USB-Net 默认 IP:192.168.7.2。
2. Seeed-Studio 矽递 BBG 官方页面(标准版 BBG)
Wiki 页面:https://wiki.seeedstudio.com/BeagleBone_Green/
可下载文件:
BBG 硬件手册:BeagleBone-Green SRM 手册;
PCB 原理图(OrCAD 源文件 + PDF 版)、机械尺寸图纸、3D 模型;
Grove-I2C、Grove-UART 接口硬件说明;
硬件勘误文档。
产品购买页面:https://www.seeedstudio.com/BeagleBone-Green-p-2793.html
BBGW 无线版页面:https://www.seeedstudio.com/BeagleBone-Green-Wireless-p-2992.html
3. TI 德州仪器 AM3358 官方文档(PRU 开发必看,AGV 伺服、EtherCAT 核心资料)
AM3358 数据手册:https://www.ti.com/lit/ds/symlink/am3358.pdf(SPRS717L)
PRU-ICSS 技术参考手册:https://www.ti.com/lit/ug/spruih2h/spruih2h.pdf
包含 PRU 指令集、寄存器、200MHz 时序、内存映射、高速 GPIO 配置、EtherCAT 底层时序资料;
TI-CCS 编译器官网:https://www.ti.com/tool/CCSTUDIO
免费授权,编译 PRU-ICSS 内核固件。
二、系统镜像下载地址(SD 卡镜像、eMMC 固件)
1. BeagleBoard 官方镜像仓库(Debian 首选)
官方镜像下载:https://beagleboard.org/latest-images
推荐镜像:bone-debian-11-iot-bb-am335x-img-4gb(Debian 11-Bullseye-Lite 精简版,无桌面,适配 PRU-ICSS 开发);
镜像通用:文件名带 -bb-am335x-,BBB/BBG/BBGW 开发板全部兼容。
2. 国内高速镜像(解决国外下载缓慢)
中科大 BeagleBoard 镜像归档:https://mirrors.ustc.edu.cn/beagleboard/images/
可以下载历史版本 Debian 镜像文件。
3. Linux 内核源码(编译自定义内核、修改设备树)
beagleboard 官方 Linux 内核仓库:https://github.com/beagleboard/linux
用来裁剪内核、修改 DTS 设备树、配置引脚复用。
三、GitHub 开源工程(适配 BBG+STM32+AGV 项目)
1. PRU-ICSS 官方示例(重中之重)
https://github.com/beagleboard/am335x-pru-software-examples
包含:高速 GPIO、正交编码器采集、PWM 脉冲输出、SPI 通信、PRU 与 ARM 内存交互示例,适配伺服电机开发。
2. 设备树 Overlay 仓库(配置 P8/P9 引脚)
https://github.com/beagleboard/BeagleBoard-DeviceTrees
UART、CAN、PWM、SPI 的设备树配置文件,修改 /boot/uEnv.txt 启用对应功能。
3. Seeed Grove 配套驱动(BBG 两个 Grove 接口)
https://github.com/Seeed-Studio/Grove_for_BeagleBone
超声波、MPU6050 陀螺仪、红外传感器、电机模块示例代码。
4. EtherCAT 开源项目(PRU-ICSS 运行 EtherCAT)
Simple-EtherCAT:https://github.com/simple-ethercat/slave
利用 BBG 双 PRU 内核实现 EtherCAT 从站,用于 AGV 伺服通信。
5. PRU 控制步进电机工程
https://github.com/maciejczyzewski/beaglebone-stepper
可移植到自己项目,实现 PRU 发脉冲控制步进电机。
四、Windows 端配套软件下载
Rufus-4.x(镜像烧写工具):https://rufus.ie/zh/
MobaXterm-Home(串口 + SSH + SFTP 工具):https://mobaxterm.mobatek.net/
CH340 驱动:沁恒官网下载,必须选用 3.3V 电平模式
Windows 端 RNDIS 虚拟网卡驱动:板子上电访问 192.168.7.2,运行页面内 START.htm 一键安装驱动
WSL2(Ubuntu-22.04):Windows 安装 Ubuntu 子系统,部署 arm-linux-gnueabihf-gcc 交叉编译工具链