wget -c ftp://oeftp@sdk.d-robotics.cc/oe_v3.2.0/ai_toolchain_ubuntu_22_s100_cpu_v3.2.0.tar --ftp-password=Oeftp~123$%
–2026-05-12 10:44:01-- ftp://oeftp@sdk.d-robotics.cc/oe_v3.2.0/ai_toolchain_ubuntu_22_s100_cpu_v3.2.0.tar
=> ‘ai_toolchain_ubuntu_22_s100_cpu_v3.2.0.tar’
Resolving sdk.d-robotics.cc (sdk.d-robotics.cc)… 139.129.17.229
Connecting to sdk.d-robotics.cc (sdk.d-robotics.cc)|139.129.17.229|:21… connected.
Logging in as oeftp … Logged in!
==> SYST … done. ==> PWD … done.
==> TYPE I … done. ==> CWD (1) /oe_v3.2.0 … done.
==> SIZE ai_toolchain_ubuntu_22_s100_cpu_v3.2.0.tar … done.
==> PASV … done. ==> RETR ai_toolchain_ubuntu_22_s100_cpu_v3.2.0.tar …
No such file ‘ai_toolchain_ubuntu_22_s100_cpu_v3.2.0.tar’.
你好,@ximenqin!
抱歉,这个 FTP 链接已经过期/文件名已变更。社区帖子 28035 中的资源确实如帖子所述"可能落后于主线版本"。
当前可行的获取方案
方案 1:尝试新版 FTP 路径
# 尝试 3.7.0 版本 (对应系统 4.0.x)
wget -c ftp://oeftp@sdk.d-robotics.cc/oe_v3.7.0/s100-3.7.0-oe-package.tgz --ftp-password=Oeftp~123$%
# 或者尝试这个路径
wget -c ftp://oeftp@sdk.d-robotics.cc/oe_v3.7.0/ai_toolchain_ubuntu_22_s100_cpu_v3.7.0.tar --ftp-password=Oeftp~123$%
方案 2:从 RDK DOC 直接下载
访问官方文档的资源下载页面:
https://developer.d-robotics.cc/rdk_doc/rdk_s/Quick_start/install_os/rdk_s100
页面内通常有最新的 OE 工具链包下载链接(含 Docker 镜像)
方案 3:使用 Docker Pull(最简单)
# 尝试直接拉取(无需下载大文件)
docker pull registry.d-robotics.cc/deliver/ai_toolchain_ubuntu_22_s100_cpu:v3.7.0
如果 pull 太慢,可以配置 Docker 镜像加速器。
方案 4:在社区帖子留言请求更新
在 28035 帖子下回复:
“求更新 S100 OE 3.7.0 的 FTP 下载链接,3.2.0 的文件已不存在”
官方维护者 CauchyKesai 通常会更新链接。
建议优先顺序
| 优先级 |
方案 |
原因 |
| 1 |
Docker Pull |
最快,无需手动下载大文件 |
| 2 |
RDK DOC 下载 |
官方维护,链接最新 |
| 3 |
社区留言 |
官方会回复有效链接 |
| 4 |
旧版 FTP |
可能已失效 |
请确认你的板端系统版本
sudo cat /etc/version
- 如果是
4.0.x → 需要 OE 3.7.0
- 如果是
3.2.x → 可以用 OE 3.2.0(但 FTP 链接需更新)
需要我帮你在社区帖子 28035 下留言请求官方更新链接吗?或者你可以直接联系官方技术支持 support@d-robotics.cc 索取最新下载链接。
本人想用docker搭建s100的交叉编译环境,pc用的是ubuntu22.04,有文档吗?我想要确定具体的镜像文件以及代码的分支、版本. 谢谢。然后编译dnn_node,看了下CMakelist.txt 好像s100并没有适配,请问这个该如何解决,谢谢
你好,@ximenqin!
针对你搭建 S100 交叉编译环境的需求,官方文档已提供完整指引。以下是基于 OE 3.7.0 版本(对应板端系统 4.0.5)的详细步骤:
官方文档入口
RDK S100 算法工具链开发指南
关键信息汇总
1. 版本对应关系
| 组件 |
版本 |
说明 |
| OE 工具链 |
3.7.0 |
对应板端系统 4.0.5 |
| Docker 镜像 |
v3.7.0 |
包含交叉编译工具链和依赖 |
| 系统确认 |
cat /etc/version |
板端执行确认系统版本 |
2. Docker 镜像获取(两种方式)
方式 A:在线拉取(推荐)
# 1. 登录地瓜 Registry 服务器
docker login -u "ccr$deliver-ronly" registry.d-robotics.cc -p 'VLaeatrjF9yGf6I44trT74zKhUpZSVlr'
# 2. 拉取 CPU 版本镜像
docker pull registry.d-robotics.cc/deliver/ai_toolchain_ubuntu_22_s100_s600_cpu:v3.7.0
# 3. 拉取 GPU 版本镜像(如需 GPU 加速)
docker pull registry.d-robotics.cc/deliver/ai_toolchain_ubuntu_22_s100_s600_gpu:v3.7.0
方式 B:离线下载(网络不佳时)
# CPU 版本
wget https://d-robotics-aitoolchain.oss-cn-beijing.aliyuncs.com/oe/3.7.0/ai_toolchain_ubuntu_22_s100_s600_cpu_v3.7.0.tar
# GPU 版本
wget https://d-robotics-aitoolchain.oss-cn-beijing.aliyuncs.com/oe/3.7.0/ai_toolchain_ubuntu_22_s100_s600_gpu_v3.7.0.tar
# 加载镜像到 Docker
docker load -i ai_toolchain_ubuntu_22_s100_s600_cpu_v3.7.0.tar
3. 代码仓库与分支
交叉编译环境搭建步骤
步骤 1:启动 Docker 容器
# 以 CPU 版本为例,挂载本地工作空间
docker run -it --rm \
-v /path/to/your/workspace:/root/tros_ws \
registry.d-robotics.cc/deliver/ai_toolchain_ubuntu_22_s100_s600_cpu:v3.7.0 \
bash
步骤 2:准备 TROS 工作空间
cd /root/tros_ws
mkdir -p src
# 克隆 robot_dev_config(获取 .repos 文件)
git clone https://github.com/D-Robotics/robot_dev_config.git
# 导入源码(根据 .repos 文件拉取 hobot_dnn 等依赖)
vcs-import src < ./robot_dev_config/ros2_release.repos
步骤 3:编译 dnn_node(关键步骤)
# 安装依赖(首次编译需要)
rosdep update
rosdep install --from-paths src --ignore-src -y
# 编译 dnn_node(指定 S100 平台)
source /opt/tros/humble/setup.bash
colcon build --packages-select dnn_node --cmake-args -DPLATFORM_S100=ON
关于 CMakeLists.txt 的 S100 适配问题
核心结论:不需要修改 CMakeLists.txt 文件,S100 适配是通过 CMake 参数 控制的。
原因说明
dnn_node 的 CMakeLists.txt 中已内置多平台支持逻辑
- 通过
-DPLATFORM_S100=ON 参数激活 S100 特定的编译配置
- 底层依赖库(
libhb_dnn.so)由 Docker 镜像提供,已包含 S100 支持
验证编译结果
# 检查生成的库文件
ls -l install/dnn_node/lib/dnn_node/
# 应包含 S100 架构的可执行文件或库
常见问题排查
| 问题现象 |
解决方案 |
| Docker 拉取失败 |
检查网络,或使用离线 tar 包方式 |
| 编译报错 “PLATFORM_S100 not found” |
确认 colcon build 命令中包含 --cmake-args -DPLATFORM_S100=ON |
| 板端运行报错 |
确认板端系统版本与 OE 工具链版本匹配(4.0.5 对应 OE 3.7.0) |
| 代码仓库拉取失败 |
检查 Git 网络配置,或尝试使用镜像源 |
相关资源
- OE 用户手册:https://toolchain.d-robotics.cc/
- hobot_dnn GitHub:GitHub - D-Robotics/hobot_dnn · GitHub
- 社区资源汇总帖:地瓜算法工具链OpenExplore包Docker等发布下载
如果需要进一步协助(如具体编译报错分析),请提供详细信息!
在x86上交叉编译s100,拉取的是develop分支tros_2.5.2版本,s100可以编译通过。
编译x86,会提示缺少ament等的包,这些包我可以自行拉取吧?
后续烧录到s100,版本是没问题的吧? 帮忙解答下,谢谢
你好,@ximenqin!
针对你的三个问题,逐一解答:
问题 1:S100 交叉编译通过
结论:编译通过是好的开始,但需要注意版本匹配。
| 组件 |
你使用的版本 |
官方推荐版本 |
风险 |
| TROS |
2.5.2 (develop) |
3.x / 4.x |
可能存在 API 差异 |
| OE 工具链 |
未明确 |
3.7.0 (对应系统 4.0.x) |
需确认 |
| 板端系统 |
未明确 |
4.0.5 |
需确认 |
建议:先确认板端系统版本:
# 在 S100 板端执行
sudo cat /etc/version
问题 2:x86 编译缺少 ament 包
结论:不建议自行拉取,原因如下:
| 编译目标 |
环境要求 |
ament 包来源 |
| S100 (交叉编译) |
S100 Docker 镜像 |
镜像内预置 (/opt/tros/) |
| x86 (本地编译) |
原生 ROS2 环境 |
apt install ros-humble-ament-* |
关键说明:
- 交叉编译时:应在 S100 Docker 容器内编译,ament 包已由镜像提供
- x86 本地编译:生成的二进制是 x86 架构,无法在 S100 (ARM64) 上运行
- 自行拉取风险:可能导致版本不匹配,编译出的库无法与板端 TROS 兼容
正确做法:
# 在 S100 Docker 容器内编译(不要在本机 x86 编译)
docker run -it --rm \
-v /path/to/workspace:/root/tros_ws \
registry.d-robotics.cc/deliver/ai_toolchain_ubuntu_22_s100_s600_cpu:v3.7.0 \
bash
# 容器内执行
cd /root/tros_ws
source /opt/tros/humble/setup.bash
colcon build --packages-select dnn_node --cmake-args -DPLATFORM_S100=ON
问题 3:烧录到 S100 版本是否有问题
结论:存在版本不匹配风险,需验证以下对应关系:
| 板端系统版本 |
推荐 OE 版本 |
推荐 TROS 版本 |
| 4.0.x |
3.7.0 |
3.x / 4.x |
| 3.2.x |
3.2.0 |
2.5.x |
| 3.0.x |
2.6.x |
2.0.x |
潜在问题:
- 如果板端是 4.0.x 系统,使用 TROS 2.5.2 编译的包可能API 不兼容
libhb_dnn.so 库版本不匹配可能导致运行时崩溃
- ROS2 消息类型可能发生变化
验证步骤:
# 1. 确认板端系统版本
sudo cat /etc/version
# 2. 确认板端 TROS 版本
ros2 pkg prefix dnn_node
# 3. 部署后测试运行
ros2 launch dnn_node_example dnn_node_example.launch.py
最终建议
| 优先级 |
建议 |
原因 |
| 1 |
升级 TROS 到 3.x/4.x |
与官方文档和 OE 3.7.0 匹配 |
| 2 |
在 Docker 内编译 |
避免 x86/ARM64 架构问题 |
| 3 |
不要自行拉取 ament 包 |
使用镜像预置环境 |
| 4 |
先小范围测试 |
部署后先运行官方 demo 验证环境 |
参考文档
请补充以下信息以便进一步协助:
- 板端系统版本 (
sudo cat /etc/version)
- 具体编译报错信息(如果有)
- 部署后是否遇到运行时错误
有其他问题欢迎继续提问!
不推荐交叉编译进行开发
缺少的包自行补全即可,应该跟烧录无关?编译也只是ros包。