tag 标签: openembedded

相关博文
  • 热度 20
    2016-5-16 11:09
    2189 次阅读|
    0 个评论
    By Toradex 秦海 随着ARM平台处理能力的日益强大,越来越多的工业智能/机器人应用在ARM平台上面实现,在这个过程中不可避免的就涉及到将机器人应用开发框架移植到ARM平台来运行,因此本文就着重示例基于Openembedded环境,将ROS(Robot Operating System)编译集成到嵌入式Linux中运行。 ROS是一种为机器人应用设计的分布式处理框架,集成了大量相关库和工具,目的是为了提高机器人应用开发时代码复用率。目前ROS发布版本官方只支持Ubuntu Linux等安装,但由于在Openembedded框架下维护了meta-ros layer,使得我们可以将ROS集成到同样基于Openembedded框架的嵌入式Linux中运行。 本文所使用硬件为Toradex Colibri T20 基于nVidia Tegra2的ARM核心板配合Colibri 开发板,软件即为Toradex官方发布的基于Openembedded框架的Yocto Project兼容Linux系统。 1). 编译配置roscore a). 下载配置基本的Openembedded环境 详细的关于Toradex Openembeded配置说明请见这里,如下下载配置Opembedded 和Toradex Linux release V2.5相关meta layer数据 --------------------- $ mkdir oe-core $ cd oe-core $ repo init -u http://git.toradex.com/toradex-bsp-platform.git -b LinuxImageV2.5 $ repo sync --------------------- b). 下载meta-ros layer --------------------- $ cd oe-core/stuff $ git clone https://github.com/bmwcarit/meta-ros.git //默认head为ROS indigo,如需hydro请继续如下操作 //cd meta-ros git checkout v0.2 cd .. --------------------- c). 修改配置文件 ./ 生成相关配置文件 --------------------- $ cd oe-core $ . export --------------------- ./ 修改oe-core/build/conf/bblayers.conf --------------------- BASELAYERS ?= " \ ...... + ${TOPDIR}/../stuff/meta-ros \ " --------------------- ./ 修改oe-core/build/conf/local.conf文件 --------------------- MACHINE ?= "colibri-t20" //设备配置为colibri-t20,这里也可以改为其他产品型号 ...... + IMAGE_INSTALL_append = "roslaunch" //安装roscore --------------------- d). 编译image --------------------- bitbake -k angstrom-lxde-image --------------------- e). 部署image 编译成功后,在oe-core/build/out-glibc/deploy/colibri-t20/images目录下找到生成的image Colibri_T20_LinuxImageV2.5_xxxxxxxx.tar.bz2,然后按照这里的方法更新到Colibri T20模块上面。 f). 启动roscore环境 ./ 配置环境变量 --------------------- export ROS_ROOT=/opt/ros/ indigo export PATH=$PATH:/opt/ros/ indigo/bin export LD_LIBRARY_PATH=/opt/ros/ indigo/lib export PYTHONPATH=/opt/ros/ indigo/lib/python2.7/site-packages export ROS_MASTER_URI=http://localhost:11311 export export ROS_HOSTNAME=localhost export CMAKE_PREFIX_PATH=/opt/ros/ indigo touch /opt/ros/ indigo/.catkin --------------------- ./ 启动roscore --------------------- roscore --------------------- 2). 编译配置ros-world a). 重新修改oe-core/build/conf/local.conf文件 --------------------- ...... IMAGE_INSTALL_append = "packagegroup-ros-world"" //安装roscore 以及完整的相关package --------------------- b). 编译部署 方法和上面roscore一致,由于meta-ros问题编译前请修改oe-core /stuff/meta-ros/recipes-ros/geometry-experimental/geometry-experimental.inc --------------------- SRC_URI = "063484906d1c2f1a4ee961680e43b559" SRC_URI = "011b77bc33afea927bab2707ddda585df8de5f1fc6e387081f6bf1ea12d2323b" --------------------- 第一次编译可能会遇到一些错误,请编译退出后做如下修改 ./ oe-core_v25_ros/build/out-glibc/work/armv7at2hf-vfp-angstrom-linux-gnueabi/ 目录下面 修改所有 tf2/0.5.12-r0/geometry-0.5.12/ 和 tf2-xxx/0.5.12-r0/geometr-0.5.12/ 目录名均修改为geometry_experimental-0.5.12 ./ 修改oe-core_v25_ros/build/out-glibc/work/armv7at2hf-vfp-angstrom-linux-gnueabi/pluginlib/1.10.1-r0/build/CMakeFiles/plugin_tool.dir/link.txt --------------------- ……/arm-angstrom-linux-gnueabi-g++ -pthread –mfpu=vfpv3-d16 …… //编译器添加” –pthread”参数 --------------------- c). 后续生成部署image则和roscore一致。 3). 总结 本文着重展示了在基于Openembedded框架的嵌入式Linux上面编译运行ROC core以及相关组件的方法,具体关于ROC的使用请参考其官方网站和网上相关资料。
  • 热度 21
    2016-5-16 11:08
    1549 次阅读|
    0 个评论
    By Toradex 秦海 随着ARM平台处理能力的日益强大,越来越多的工业智能/机器人应用在ARM平台上面实现,在这个过程中不可避免的就涉及到将机器人应用开发框架移植到ARM平台来运行,因此本文就着重示例基于 Openembedded 环境,将ROS(Robot Operating System)编译集成到嵌入式Linux中运行。 ROS 是一种为机器人应用设计的分布式处理框架,集成了大量相关库和工具,目的是为了提高机器人应用开发时代码复用率。目前ROS发布版本官方只支持Ubuntu Linux等安装,但由于在Openembedded框架下维护了meta-ros layer,使得我们可以将ROS集成到同样基于Openembedded框架的嵌入式Linux中运行。 本文所使用硬件为Toradex  Colibri T20  基于nVidia Tegra2的ARM核心板配合 Colibri 开发板 ,软件即为Toradex官方发布的基于Openembedded框架的 Yocto Project 兼容 Linux 系统。 1).  编译配置 roscore a).  下载配置基本的Openembedded 环境 详细的关于Toradex Openembeded配置说明请见 这里 ,如下下载配置Opembedded 和Toradex Linux release V2.5相关meta layer数据 --------------------- $ mkdir oe-core $ cd oe-core $ repo init -u http://git.toradex.com/toradex-bsp-platform.git -b LinuxImageV2.5 $ repo sync --------------------- b).  下载meta-ros layer --------------------- $ cd oe-core/stuff $ git clone  https://github.com/bmwcarit/meta-ros.git //默认head为ROS indigo,如需hydro请继续如下操作 //cd meta-ros git checkout v0.2 cd .. --------------------- c).  修改配置文件 ./ 生成相关配置文件 --------------------- $ cd oe-core $ . export --------------------- ./ 修改oe-core/build/conf/bblayers.conf --------------------- BASELAYERS ?= " \ ...... + ${TOPDIR}/../stuff/meta-ros \ " --------------------- ./ 修改oe-core/build/conf/local.conf文件 --------------------- MACHINE ?= "colibri-t20"        //设备配置为colibri-t20,这里也可以改为其他产品型号 ...... + IMAGE_INSTALL_append = "roslaunch"   //安装roscore --------------------- d).  编译image --------------------- bitbake -k angstrom-lxde-image --------------------- e).  部署image 编译成功后,在oe-core/build/out-glibc/deploy/colibri-t20/images目录下找到生成的image Colibri_T20_LinuxImageV2.5_xxxxxxxx.tar.bz2,然后按照这里的方法更新到Colibri T20模块上面。 f).  启动roscore 环境 ./ 配置环境变量 --------------------- export ROS_ROOT=/opt/ros/ indigo export PATH=$PATH:/opt/ros/ indigo/bin export LD_LIBRARY_PATH=/opt/ros/ indigo/lib export PYTHONPATH=/opt/ros/ indigo/lib/python2.7/site-packages export ROS_MASTER_URI=http://localhost:11311 export export ROS_HOSTNAME=localhost export CMAKE_PREFIX_PATH=/opt/ros/ indigo touch /opt/ros/ indigo/.catkin --------------------- ./ 启动roscore --------------------- roscore ---------------------   2).  编译配置 ros-world a).  重新修改oe-core/build/conf/local.conf 文件 --------------------- ...... IMAGE_INSTALL_append = "packagegroup-ros-world""   //安装roscore 以及完整的相关package --------------------- b).  编译部署 方法和上面roscore一致,由于meta-ros问题编译前请修改oe-core /stuff/meta-ros/recipes-ros/geometry-experimental/geometry-experimental.inc --------------------- SRC_URI = "063484906d1c2f1a4ee961680e43b559" SRC_URI = "011b77bc33afea927bab2707ddda585df8de5f1fc6e387081f6bf1ea12d2323b" --------------------- 第一次编译可能会遇到一些错误,请编译退出后做如下修改 ./ oe-core_v25_ros/build/out-glibc/work/armv7at2hf-vfp-angstrom-linux-gnueabi/ 目录下面 修改所有 tf2/0.5.12-r0/geometry-0.5.12/  和 tf2-xxx/0.5.12-r0/geometr-0.5.12/ 目录名均修改为geometry_experimental-0.5.12 ./ 修改oe-core_v25_ros/build/out-glibc/work/armv7at2hf-vfp-angstrom-linux-gnueabi/pluginlib/1.10.1-r0/build/CMakeFiles/plugin_tool.dir/link.txt --------------------- ……/arm-angstrom-linux-gnueabi-g++ -pthread –mfpu=vfpv3-d16 ……  //编译器添加” –pthread”参数 --------------------- c).  后续生成部署image 则和roscore 一致。   3).  总结 本文着重展示了在基于Openembedded框架的嵌入式Linux上面编译运行ROC core以及相关组件的方法,具体关于ROC的使用请参考其官方网站和网上相关资料。