使用RK Docker环境编译RK SDK

news2024/9/21 18:45:25

文章目录

  • 前言
  • Docker介绍
  • 实验环境
  • 获取RK Docker镜像
  • 加载RK Docker镜像
  • 使用RK Docker环境编译SDK
  • 其它

前言

作为一名嵌入式Linux的学习者,目前编译各种平台,用的都是同一个编译机(Ubuntu虚拟机)。之前一直在折腾全志,所以对于全志的SoC来说,编译环境都大差不差。最近刚开始接触瑞芯微,拿到SDK后,尝试着编译,果然报错了,那就借着这次机会,接触一下曾经有所耳闻的Docker。

Docker介绍

通俗的理解,别人可以把一个已经搭建好的环境打包成一个Docker镜像,然后公开在互联网,大家可以去下载使用。当我们拿到一个Docker镜像后,就可以在自己的主机上一键部署,同时部署后的Docker环境不会污染主机。这就免去了自己搭环境的时间,提高验证效率。

实验环境

硬件:野火鲁班猫1(RK3566)
软件:瑞芯微原厂RK356x SDK
编译机:Ubuntu18.04

获取RK Docker镜像

瑞芯微提供的下载链接:https://meta.zbox.filez.com/v/link/view/f63485fe59cf4ef3b8c3abf4f0f527d4
下载后拷贝到编译机上:
image.png
也可以通过Dockerfile构建RK Docker镜像,这里未验证,忽略。

加载RK Docker镜像

任意位置执行如下命令加载镜像:

sudo docker load -i linux_gen_sdk_docker_image_for_compilation_v1.0.0_20230925.tar

加载完成后,执行如下命令查看镜像加载情况:

sudo docker images

image.png

使用RK Docker环境编译SDK

创建一个文件夹用于映射SDK:

mkdir rk_docker

启动Docker镜像:

sudo docker run --privileged -it -u rk -v /home/book/platform/rk356x/lubancat1/rk3566_sdk:/home/book/platform/rk356x/lubancat1/rk_docker docker_rk:latest /bin/bash
  • docker run:这是Docker用于创建并启动新容器的命令
  • --privileged:这个标志会给容器内的进程几乎和宿主机一样的权限
  • -it:这是两个选项的组合。-i(或--interactive)保持容器的标准输入(STDIN)开放,即使没有附加到任何东西上也是如此。-t(或--tty)分配一个伪终端或终端,这通常用于交互式容器
  • -u rk:这个选项指定了容器内进程的运行用户为rk
  • /home/book/platform/rk356x/lubancat1/rk3566_sdk:/home/book/platform/rk356x/lubancat1/rk_docker:这个选项用于挂载宿主机的目录到容器内。它将宿主机的/home/book/platform/rk356x/lubancat1/rk3566_sdk目录挂载到容器的/home/book/platform/rk356x/lubancat1/rk_docker目录
  • docker_rk:latest:这是你要运行的Docker镜像的名称和标签
  • /bin/bash:这是容器启动后要执行的命令

启动Docker镜像成功后,会进入到Docker容器的Bash shell:
image.png
进入刚刚创建的文件夹rk_docker,因为该文件夹已经映射了SDK目录:
image.png
编译:

sudo ./build.sh lunch
sudo ./build.sh

其它

退出Docker容器:

exit

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

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

相关文章

GraphRag本地测试

测试环境:win10 python3.11.9 graphRAG的安装还是很简单的,直接pip pip install graphrag 但要注意,官方说了需要 python3.10-3.12 安装完成后,建立一个文件夹,存放你的知识数据,目前graphRAG仅支持txt和…

Mysql错误:InnoDB: page_cleaner

今天一大早就收到同事昨晚发过来的信息:某省份的充电桩在昨晚22点到23点期间大量挂单即充电不能结算。首先想到的就是订单服务挂了,可查了数据一切正常。所以继续早跑,等上班回公司再查查原因。 来到公司查看了昨晚的项目日记情况&#xff0c…

使用Markdown画图

大部分 Markdown 编辑器的画图功能都是基于 mermaid 的,因此我们先介绍下它。 ‍ 什么是 mermaid ​ ‍ mermaid 是一个开源的项目,旨在通过纯文本的形式来画图,支持流程图,时序图,甘特图,类图&#x…

Arduino PID库 (1)– 简介

Arduino PID库 (1)– 简介 pid内容索引-CSDN博客pid术语及整定原则参考:手把手教你看懂并理解Arduino PID控制库——引子)库的改进QuickPID-sTune库 原文地址 随着新的Arduino PID库的发布,最后一个库虽然很可靠,但…

浅谈AC自动机算法(c++)

文章目录 自动机一些简单的自动机: AC 自动机字典树构建失配指针构建指针 [HNOI2006] 最短母串问题题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示思路AC代码 「一本通 2.4 例 1」Keywords SearchAC代码 自动机 自动机是什么? 自动机的作…

Linux小组件:gcc

gcc 是C语言的编译器,在Linux下我们也用这个编译C语言 安装gcc sudo apt install build-essential 查看gcc版本信息 gcc --version 有时候会出现代码编译不过去的问题,通常可能是gcc的编译标准太低,不支持某些写法 比如在很多旧的编译标…

rk3588 部署yolov8.rknn

本文从步骤来记录在rk3588芯片上部署yolov8模型 主机:windows10 VMware Workstation 16 Pro 硬件:RK3588 EVB板 模型: RK3588.rknn 软件开发环境: c cmake step1: 主机上执行: 将rknn_model_zoo 工程文件下载…

spring:标签property

标签property对应于bean类公开的JavaBean setter方法。标签property的属性中,name为属性名,type为“”引号里面的类型,use为是否必须出现。 1.ref引用一个已经存在的对象,value创建一个新的对象 2.value可以赋一些简单类型的值,…

【MySQL】常用数据类型

目录 数据类型 数据类型分类 数值类型 tinyint类型 bit类型 小数类型 float decimal 字符串类型 char varchar 日期和时间类型 enum和set 数据类型 数据类型分类 数值类型 tinyint类型 tinyint类型只占用一个字节类似于编程语言中的字符char。有带符号和无符号两…

【系统架构设计师】二十四、安全架构设计理论与实践②

目录 三、系统安全体系架构规划框架 3.1 信息系统安全体系规划 3.2 信息系统安全规划框架 3.2.1 信息系统安全规划依托企业信息化战略规划 3.2.2 信息系统安全规划需要围绕技术安全、管理安全、组织安全考虑 3.2.3 信息系统安全规划以信息系统与信息资源的安全保护为核心…

Java——多线程(6/9):线程池、处理Runnable、Callable任务(认识线程池-线程池的工作原理,ThreadPoolExecutor构造器)

目录 认识线程池 介绍 线程池的工作原理 如何创建线程池 介绍 ThreadPoolExecutor构造器 代码实例 线程池的注意事项 线程池处理Runnable任务 ExecutorService的常用方法 代码实例 新任务拒绝策略 线程池处理Callable任务 ExecutorService的常用方法 代码实例…

二叉树的前序遍历 - 力扣(LeetCode)C语言

144. 二叉树的前序遍历 - 力扣(LeetCode)(点击前面链接即可查看题目) 一、题目 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3]示例 2: …

Datawhale AI 夏令营——AI+逻辑推理——Task4

# Datawhale AI 夏令营 夏令营手册:从零入门 AI 逻辑推理 比赛:第二届世界科学智能大赛逻辑推理赛道:复杂推理能力评估 代码运行平台:魔搭社区 赛题任务 本次任务主要采用大语言模型解决推理任务,如何使用大语言模…

Python3 第六十一课 -- 实例三十

目录 一. 堆排序 二. 计数排序 一. 堆排序 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于&#xff…

Yolov8在RK3588上进行自定义目标检测(二)

best.pt转best.onnx Yolov8在RK3588上进行自定义目标检测(一)已经进行了配置文件修改。接下来可以直接进行模型的转换。 下面是两种转换方法: 1.命令行 yolo export modelbest.pt formatrknn 2.转换脚本 convert_to_onnx.py from ultralytics import YOLOmode…

数据求均值背后的原理 - 最小二乘法

1. 背景 对采集数据求均值是一种常见简单有效的数据处理手段,比如用直尺去测量物体的长度一般情况会多次测量然后计算平均值然后将平均值作为物体的长度,又如我们需要测量某电源的电压也会采取类似的方法,可以说对数据求均值在我们工作生活中…

【时时三省】unity test 测试框架 介绍(适用于C语言进行测试的)

1,关于 unity test 测试框架的介绍 unity test 是 ThrowTheSwitch.org 的一个主要工程。它是专注于为嵌入式工具链而生的C语言单元测试框架。它可以适用于大工程或者小工程都可以。它的核心文件是一个.c文件和两个头文件。 备注: 下载源码地址&#xff…

btslab靶场-通过xss获取他人cookie并利用

目录 安装 通过xss获取cookie cookie利用 安装 下载btslab靶场链接:https://pan.baidu.com/s/1I9ZgzlZEWdobINGQUhy7Jw?pwd8888 提取码:8888 用phpEnv或者phpStudy部署好靶场环境(这里就省略了) 通过xss获取cookie 先访问…

Apache和nginx!!!!

⼀、Apache 概念 1、概述 最早的 web 服务程序,基于 http 协议提供⽹⻚浏览服务。 2、特点 模块化设置、开放源代码、跨平台应⽤、⽀持多种 web 编程语 ⾔、运⾏稳定。 3、⼯作模式 (1)Prefork:使⽤进程处理请求&#xff0…

操作系统|day2.进程、线程、协程

文章目录 进程概念特点并行和并发进程之间的通信进程的状态进程的调度基本准则调度方式具体算法 特殊进程 线程概念线程状态转换线程状态线程调度线程同步多线程通信 线程池种类工作流程五种状态拒绝策略参数队列大小 协程概念优势 进程 概念 进程就是正在运行的程序,它会占用…