当前位置:网站首页>搭建ros交叉编译环境(从x86到nvidia arm)
搭建ros交叉编译环境(从x86到nvidia arm)
2022-08-04 12:50:00 【华为云】
方法1:
交叉编译环境搭建流程
- 交叉编译环境搭建的主要思路是利用catkin提供的rostoolchain脚本设置相应的交叉编译工具、lib库地址等,中间遇到问题再针对性解决。
基础环境:
- 目标运行环境
- arm64 cpu
- Ubuntu 16.04
- ros kinetic for arm
- 编译环境
- x86_64 cpu
- Ubuntu Kylin(16.04)
- ros kinetic for amd64
环境设置流程:
1 ARM ubuntu环境上安装arm-indigo版本,后面需要将这个arm版本copy到交叉编译环境上
2 x86环境上安装docker(ubuntu)
3 下载docker-ros(ubuntu)镜像, 加载启动docker-ros(ubuntu+ROS)镜像
4 安装 sudo apt-get install g++-arm-linux-gnueabihf
5 将docker环境中中x86版本的indigo替换成arm版本的indigo,
替换之前需要备份x86版本indigo的lib,因为这些库文件在运行ros时是需要的。
将x86版本indigo的lib保存到localpath目录下,设置export LD_LIBRARY_PATH=localpath,
实现运行ros命令时使用x86的lib库。
6 将arm环境下的库文件/头文件 copy到docker环境中,目录可以自己设定比如:/$ENV{HOME}/cross-compiling/ubuntu-rootfs
7 配置rostoolchain.cmake文件
8 修改/opt/ros/indigo/share/catkin/cmake/tools/rt.cmake
9 个人理解cmake交叉编译过程就是修改cmake搜索链接库文件位置的过程,正常编译会搜索x86库文件做在位置,
交叉编译需要将搜索位置切换到目标架构需要的库文件存放位置,比如/$ENV{HOME}/cross-compiling/ubuntu-rootfs
实现方法:
修改catkin_INCLUDE_DIRS catkin_LIBRARY_DIRS,将这两个变量中指向x86系统的位置,修改为指向交叉编译依赖文件存放位置
…详情请参考
边栏推荐
- 正确使用Impala的invalidate metadata与refresh语句
- 两个数组中用第二个数组的Value对比换第一个数组中的Key
- 【UML】信息系统分析与设计知识点总结
- 8/3 训练日志 (树状数组+区间覆盖+思维+01字典树)
- 【PHP实现微信公众平台开发—基础篇】第2章 微信公众账号及申请流程详解
- 1314元的七夕礼盒,收割了多少直男?
- 拥有一台服务器,程序猿装X的开始
- Focusing on data sources, data quality and model performance to build a credit profile of small and micro enterprises
- 双目立体视觉笔记(三)三角测量、极线校正
- 持续交付(二)PipeLine基本使用
猜你喜欢
RK1126编译gdb 板子上gdb调试程序
break与continue超详解!!!
redis未授权访问漏洞【vulhub靶场】复现
PMP每日一练 | 考试不迷路-8.4(包含敏捷+多选)
A comprehensive understanding of MOS tubes, an article is enough
为什么密码云服务平台是云时代的必然之选?
新 Nsight Graph、Nsight Aftermath 版本中的性能提升和增强功能
Neck modules of the yolo series
Focus!2022 interview must brush 461 interview questions summary + interview + resume template
Tarjan 求有向图的强连通分量
随机推荐
Unity 3D模型展示框架篇之资源打包、加载、热更(Addressable Asset System | 简称AA)
Systemui qsSetting添加新图标
基于双层共识控制的直流微电网优化调度(Matlab代码实现)
ES 节点2G内存分析
【软考 系统架构设计师】软件架构设计② 软件架构风格
接到“网站动态换主题”的需求,我是如何踩坑的
Ultra-QuickSort
What is DevOps?Enough to read this one!
The head module of the yolo series
LeetCode_299_猜数字游戏
推荐一款优秀的通用管理后台
动规(16)-并查集基础题——亲戚(Relations)
Cool and efficient data visualization big screen, it's really not that difficult to do!丨Geek Planet
【解决方案 三十一】Navicat数据库结构同步
redis未授权访问漏洞【vulhub靶场】复现
Valentine's Day Romantic 3D Photo Wall [with source code]
密码设置十准则
String is a reference type
Billboard
新SCADA 系统:集成边缘计算、MQTT 和云平台