CMake rv1109交叉编译环境搭建

安装vmware虚拟机

  • 准备安装包VMware-workstation-full-15.5.1-15018445.exe
    下载地址
  • 安装
    参考资料

在vmware上安装Linux环境

  • 准备安装包ubuntu-18.04.4-desktop-amd64.iso
    下载地址
  • 安装
    参考资料

安装rv1109交叉编译工具链

  • 准备安装包rv1109_toolchain_release.tar.bz2
    下载地址
  • 解压安装包rv1109_toolchain_release.tar.bz2
    tar -zxvf rv1109_toolchain_release.tar.bz2
    
  • 运行安装包脚本安装
    sudo ./rv1109-cross.install
    
  • 配置环境变量~/.bashrc
    export RK_GCC_APP_PATH=/opt/rv1126_rv1109/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
    export PATH=$PATH:$RK_GCC_APP_PATH/bin
    
  • 安装结果检查
    arm-rv1109-linux-gnueabihf-gcc --version
    
    如下提示则表示安装正确:
    arm-rv1109-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0
    Copyright (C) 2018 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    

工具链使用时常见问题解决方案

  • 若在编译某些工程时,出现cannot find -lnsl 提示的解决方法
    cd /opt/rv1126_rv1109/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib
    ln -s libnsl-2.28.so libnsl.so
    
  • 若在编译某些工程时,出现`GLIBC_2.14’ not found提示的解决方法
    出现如上提示的原因,是因为libstdc++.so库不中不存在该符号,需要找到有此符号的库,并进行替换,具体做法如下:
    • 库下载地址,提取码为1481
    • 替换方法
      1. 替换libm.so.6
        cd /opt/rv1126_rv1109/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib
        cp /mnt/libm.so.6 ./
        
      2. 替换libstdc++.so.6.0.26
         cd /opt/rv1126_rv1109/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/arm-linux-gnueabihf/libcp /mnt/libstdc++.so.6.0.26 ./# 强制更改之前的符号链接sudo ln -sf libstdc++.so.6.0.26 libstdc++.so```
        

安装CMake

  • 安装
    sudo apt-get update 
    sudo apt-get install cmake
    
  • 安装成功检查
    有类似如下输出则表示,安装cmake成功。
    rabin@ubuntu:~$ cmake --version
    cmake version 3.17.3
    CMake suite maintained and supported by Kitware (kitware.com/cmake).
    

安装一些必要工具

# 代码管理版本库git 
sudo apt install git git-lfs 
# 代码格式化工具
sudo apt install clang-format
# 编译缓存ccache,编译加速用
sudo apt install ccache
# 网络文件系统,通过mount 实现开发板与电脑开发环境资源共享
sudo apt install nfs-kernel-server
# gitlab ci提交前检查使用
pip install pre-commit 
# ninja编译加速用
pip install ninja
#
pip install cmake_format sphinx breathe sphinx_rtd_theme

NFS配置,实现资源共享

  • 配置ubuntu nfs共享目录
    # 在 /etc/exports 文件中添加可以共享的文件夹和允许的客户端地址,
    # 比如/home/share为共享项目路径
    # 编辑exports
    vi /etc/exports
    # 添加如下内容
    /home/share *(rw,sync,no_root_squash,no_subtree_check)
    # 保存退出后,重启nfs服务
    systemctl restart nfs-server.service
    
  • 设备端访问共享目录/home/share
    # 然后在设备端,通过mount就可以读写/home/share目录了
    # 通过ssh进入设备后台,然后mount
    # 以下命令表示将ubuntu上的共享目录/home/share,mount到设备端的/mnt目录,其中192.168.1.39为ubuntu的ip地址,若mount成功,则设备端/mnt目录下内容就为/home/share
    目录下的内容
    mount -t nfs -o nolock 192.168.1.39:/home/share /mnt
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/61765.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】实验05 构造神经网络示例

文章目录 构造神经网络1. 导入相关库2. 定义一个层3. 构造数据集4. 定义基本模型5. 变量初始化6. 开始训练 构造神经网络 注明:该代码用来训练一个神经网络,网络拟合y x^2-0.5noise,该神经网络的结构是输入层为一个神经元,隐藏层…

高效利用隧道代理实现无阻塞数据采集

在当今信息时代,大量的有价值数据分散于各个网站和平台。然而,许多网站对爬虫程序进行限制或封禁,使得传统方式下的数据采集变得困难重重。本文将向您介绍如何通过使用隧道代理来解决这一问题,并帮助您成为一名高效、顺畅的数据采…

工厂人员作业行为动作识别检测算法

工厂人员作业行为动作识别检测算法通过yolov7python深度学习算法框架模型,工厂人员作业行为动作识别检测算法实时识别并分析现场人员操作动作行为是否符合SOP安全规范流程作业标准,如果不符合则立即抓拍告警提醒。Python是一种由Guido van Rossum开发的通…

【React】React学习:从初级到高级(一)

React学习[一] 1 UI描述1.1 组件的创建与使用1.1.1 创建组件1.1.2 使用组件 1.2 组件的导入与导出1.2.1 根组件文件1.2.2 导出和导入一个组件1.2.3 从同一文件中导出和导入多个组件 1.3 使用JSX书写标签语言1.3.1 JSX:将标签引入JavaScript1.3.2 将HTML转换为JSX1.3.3 高级提示…

Python进阶(1)

Python进阶(1) 文章目录 Python进阶(1)一:发送请求(GET/POST)1.1、方式一:http.client,以https方式为例1.1.1、GET1.1.2、POST 1.2、方式二:requests&#xf…

音视频 ffplay命令播放媒体

播放本地文件 ffplay -window_title "test time" -ss 2 -t 10 -autoexit test.mp4 ffplay buweishui.mp3播放网络流 ffplay -window_title "rtmp stream" rtmp://202.69.69.180:443/webcast/bshdlive-pc强制解码器 mpeg4解码器:ffplay -vco…

Mac安装Dart时,Homebrew报错 Error: Failure while executing

前言: 最近准备开发Flutter项目时,在安装环境时,安装Homebew时遇到了以下报错信息,在这里分享一下。 报错信息: ~ % brew tap dart-lang/dart > Tapping dart-lang/dart Cloning into /opt/homebrew/Library/Tap…

Java-集合框架-List,Set,Map,队列

文章目录 Java集合框架:List,Set,Map,队列Java集合框架是什么?如何使用?ListSetMap队列 什么场景使用?优缺点是什么?ListSetMap队列 Java示例List示例Set示例Map示例队列示例 对比 J…

BMC相关知识

简介 BMC(Baseboard Management Controller),基板管理控制器,普通PC没有,服务器产品必备。BMC是一个独立的系统,只要通电即可运行,服务器无需开机,不依赖其它软硬件,如O…

Unity音频基础概念

一、音源与音频侦听器 游戏画面能够被观众看到,是因为有渲染器和摄像机,同样音频能够被听到,也要有声音的发出者与声音的接收者。声音的发出者叫做音源,接收者叫做音频侦听器。Audio Source与Audio Listener都是组件,…

webrtc 的Bundle group 和RTCP-MUX

1,最近调试程序的时候发现抱一个错误 max-bundle configured but session description has no BUNDLE group 最后发现是一个参数设置错误 config.bundle_policy webrtc::PeerConnectionInterface::BundlePolicy::kBundlePolicyMaxBundle; 2,rtcp-mu…

Linux之Shell(一)

Linux之Shell Shell概述Linux提供的Shell解析器bash和sh的关系Centos默认的解析器是bash Shell脚本入门脚本格式第一个脚本脚本常用的执行方式 变量系统预定义变量自定义变量特殊变量$n$#\$*、\$$? 运算符条件判断流程控制(▲)if判断case语句for循环while循环 read读取控制台输…

macos安装zsh

https://www.cnblogs.com/xuLessReigns/p/11005435.html mac下安装autojump brew install autojump 1,安装zsh,执行 sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 2,将zsh设置…

并发容器11

一 JDK 提供的并发容器总结 JDK 提供的这些容器大部分在 java.util.concurrent 包中。 ConcurrentHashMap: 线程安全的 HashMap CopyOnWriteArrayList: 线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector. ConcurrentLinkedQueue: 高效的并…

设计模式入门笔记

1 设计模式简介 在IT这个行业,技术日新月异,可能你今年刚弄懂一个编程框架,明年它就不流行了。 然而即使在易变的IT世界也有很多几乎不变的知识,他们晦涩而重要,默默的将程序员划分为卓越与平庸两类。比如说&#xff…

unity 之参数类型之引用类型

文章目录 引用类型引用类型与值类型的差异 引用类型 在Unity中,引用类型是指那些在内存中存储对象引用的数据类型。以下是在Unity中常见的引用类型的介绍: 节点(GameObject): 在Unity中,游戏对象&#xff…

无重叠区间【贪心算法】

无重叠区间 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 class Solution {public int eraseOverlapIntervals(int[][] intervals) {//先排序,按照左边界升序,注…

【爬虫】实验项目一:文本反爬网站的分析和爬取

目录 一、实验目的 二、实验预习提示 ​编辑 三、实验内容 四、实验要求 五、实验过程 1. 基本要求: 2. 改进要求A 3. 改进要求B: 六、资料 1.实验框架代码: 2.OpenSSL:Win32/Win64 OpenSSL Installer for Windows - Shining Light…

Node与Express后端架构:高性能的Web应用服务

在现代Web应用开发中,后端架构的性能和可扩展性至关重要。Node.js作为一个基于事件驱动、非阻塞I/O的平台,以及Express作为一个流行的Node.js框架,共同构建了高性能的Web应用服务。 在本文中,我们将深入探讨Node与Express后端架构…

Windows笔记本电脑开机黑屏

Windows笔记本电脑开机黑屏 最近,我遇到了一件奇怪的事情。我的Windows笔记本电脑在开机时出现了一个黑屏,没有任何反应。我尝试了多种方法,包括重启和恢复出厂设置,但都无济于事。 我开始感到担心,因为这只会影响到…