第二篇:RK1808在buildroot中增加ros支持

4 篇文章 0 订阅
4 篇文章 0 订阅

在我上一篇文章中,完成了添加ros_kinetic配置的buildroot编译。把固件刷到板子上去后,出现几个问题:

  1. QLauncher无法正常运行;
  2. source /opt/ros/kinetic/setup.bash失败

第一个问题:

/ # QLauncher 
This application failed to start because it could not find or load the Qt platform plugin "eglfs"
in "".

Available platform plugins are: linuxfb, minimal, offscreen, wayland-egl, wayland.

Reinstalling the application may fix this problem.
Aborted

提示"eglfs"不存在,我在源码里查找,也没找到这个platform,其他的wayland倒是找着了,但是wayland运行时,提示:

/ # QLauncher -platform wayland
error: XDG_RUNTIME_DIR not set in the environment.
Failed to create display (No such file or directory)

这个暂时放在一边,先处理第二个问题。

source的时候提示:

/ # source /opt/ros/kinetic/setup.bash 
/bin/sh: /opt/ros/kinetic/setup.bash: syntax error: bad substitution
/bin/sh: /opt/ros/kinetic/setup.bash: builtin: not found
/bin/sh: .: line 12: can't open '/setup.sh'

这些错误,应该是sh版本问题,看了一下,buildroot中sh使用的是busybox命令集,不支持${变量名}这样的使用方式,只支持“$变量名”的方式调用。而且也取不到BASH_SOURCE变量。busybox不支持builtin命令,尝试了一下,可以使用eval命令代替builtin命令,然后把_CATKIN_SETUP_DIR写死,最后成这样:

#!/usr/bin/env bash
# generated from catkin/cmake/templates/setup.bash.in

CATKIN_SHELL=bash

# source setup.sh from same directory as this file
#echo "test :" $_BASH_SOURCE[0]
_CATKIN_SETUP_DIR=/opt/ros/kinetic
eval cd $_CATKIN_SETUP_DIR > /dev/null && pwd
. "$_CATKIN_SETUP_DIR/setup.sh"

这样后,在根目录下source /opt/ros/kinetic/setup.bash正常,然后 roscore正常,另外开启终端,运行rostopic list,能看到系统的/rosout话题;使用top命令,也看到roscore进程在运行。

在此,解决ros问题,后续再写程序测试……

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
RK3588S是瑞芯微推出的一款高性能、低功耗的处理器芯片,适用于嵌入式系统和物联网设备。Buildroot是一个开源的嵌入式Linux系统构建工具,可以帮助用户快速构建定制化的Linux系统。 要进行RK3588S的Buildroot编译,可以按照以下步骤进行操作: 1. 下载Buildroot源码:首先需要从Buildroot官方网站(https://buildroot.org/)下载最新版本的Buildroot源码包。 2. 配置Buildroot:解压下载的源码包后,进入解压后的目录,在终端运行`make menuconfig`命令,进入配置界面。 3. 选择目标平台:在配置界面,选择`Target options`,然后选择`Target Architecture`,找到并选择`ARM (little endian)`作为目标平台。 4. 配置目标设备:在配置界面,选择`Target options`,然后选择`Target options`,根据实际情况选择RK3588S所在的开发板型号。 5. 配置文件系统:在配置界面,选择`Filesystem images`,然后选择`tar the root filesystem`,选择所需的文件系统格式和压缩方式。 6. 配置内核:在配置界面,选择`Kernel`,然后选择`Kernel version`,输入所需的内核版本号。可以选择使用已有的内核配置文件或者手动配置内核选项。 7. 配置软件包:在配置界面,选择`Target packages`,可以选择需要的软件包和工具链。 8. 保存配置并退出:完成配置后,选择`Save`保存配置,然后选择`Exit`退出配置界面。 9. 开始编译:在终端运行`make`命令,开始进行编译。编译过程可能需要一段时间,取决于系统配置和计算机性能。 10. 获取编译结果:编译完成后,在Buildroot源码目录下的`output/images`目录可以找到生成的镜像文件和根文件系统。 以上是RK3588S的Buildroot编译的基本步骤,具体的配置和操作可能会因实际需求和环境而有所不同。建议在进行编译前,详细阅读Buildroot的文档和相关资料,以确保正确配置和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值