当前位置: 首页 > news >正文

RK3399基础部分

1.RK3399介绍

基础特性:

高达1.8GHz的双核Cortex-A72
四核Cortex-A53高达1.4GHz
NPU高达3.0TOPS
Mali-T860MP4 GPU
双通道DDR3/DDR3L/LPDDR3/LPDDR4
4K超高清H265/H264/VP9
HDR10/HLG
H264编码器
双MIPI CSI和ISP
USB Type-C

GPU:

图形处理器(英语:Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。

NPU:

嵌入式神经网络处理器(NPU)采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。
NPU处理器专门为物联网人工智能而设计,用于加速神经网络的运算,解决传统芯片在神经网络运算时效率低下的问题。
在这里插入图片描述

2.资料获取

资料较大,大家可以先下载以下红色方框中的内容:
在这里插入图片描述

在我们的学习中,首先需要用到的资料,我已经下载好了:
在这里插入图片描述

以下文档在学习初期必看:
在这里插入图片描述

瑞芯微—芯片
九鼎—开发板
在这里插入图片描述

RK3399开发板的特性和应用:

在这里插入图片描述

开发板的资源介绍:
在这里插入图片描述
在这里插入图片描述

接口部分:
在这里插入图片描述
在这里插入图片描述

资源分布:

在这里插入图片描述

核心板引脚定义:
在这里插入图片描述

后续还有很多,参考说明文档
硬件资源介绍:
串口调试:
在这里插入图片描述

LCD屏幕:
在这里插入图片描述

MIPI接口:
MIPI 是 2003 年由 ARM, Nokia, ST, TI 等公司成立的一个联盟,目的是把手机内部的接口如摄像头、显示屏、射频基带接口等标准化,从而减少手机的设计复杂度,增加设计的灵活性。 MIPI 是一个比较新的标准,目前比较成熟的应用有 DSI(显示接口)和 CSI(摄相头接口)。RK3399 支持 DSI 和 CSI, DSI 对应核心板的第 74 到 83 脚,用于接 MIPI 接口的显示屏;CSI 对应核心板的第 74 到 73 脚,用于接 MIPI 接口的摄相头。另外 RK3399 还有一路 MIPI接口,即可以做 DSI 也可以做 CSI,对应核心板的第 54 到 63 管脚,用户可以根据自己的需求灵活选用。 MIPI 接口的数据传输率要远大于 LVDS 接口,在走线时一定要走等长差分线,且阻抗匹配为 100 欧。

3.如何上手RK3399开发板

开机

屏幕和开发板的链接方式:
在这里插入图片描述

上电开机,可以显示主界面(linux操作系统)
在这里插入图片描述

下载镜像文件

在这里插入图片描述

使用《3.做好的镜像》选择我们需要使用的镜像文件,学习下载过程
在这里插入图片描述

下载工具:
在这里插入图片描述

安装驱动:
在这里插入图片描述

安装完成打开下载工具:
在这里插入图片描述

下载方式:
在这里插入图片描述

出现以下界面即成功:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击升级:
在这里插入图片描述

显示以下内容就说明镜像下载完成了:
第一次启动需要的时间可能有点长,需要等待,大概就是两分钟;
在这里插入图片描述

4.如何搭建环境

Ubuntu版本:18.04以及以上
ubuntu内存大小:建议最小50G以上
安装的过程中肯定会出现错误,请参考:

在这里插入图片描述在这里插入图片描述

整个编译流程,参考以下的文档:
在这里插入图片描述

源码部分:
在这里插入图片描述
在这里插入图片描述

将以上文件复制到Ubuntu系统中:

tar -xvf x3399_linux_new_qianfeng.tar.gz

在这里插入图片描述

删除原有的内核文件,移植我们自己的内核文件:
在这里插入图片描述

复制以下文件到虚拟机中:
在这里插入图片描述

保存位置:
在这里插入图片描述

解压内核文件:

tar xvzf kernel.tar.gz

删除压缩包:
在这里插入图片描述

相关的驱动安装部分:
首先确保虚拟机可以联网,更新我们的驱动库内容:

sudo apt-get update

当前内核源文件的编译,需要我们在Ubuntu系统中安装一些插件,运行环境需要用到的驱动:
插件安装:(注意不要有换行符)

sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libwxgtk3.0-dev build-essential zip curl zlib1g-dev gcc-multilib g++-multilib genromfs libc6-dev-i386 libncurses5-dev x11proto-core-dev libx11-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip gperf lsb-core lib32z1-dev lib32ncurses5-dev lzop

编译uboot

uboot属于bootload的一种,用于引导内核工作前的环境设置以及内存,内核的保存位置。。。。。
./mk.sh -u

编译内核:

./mk.sh -u

出现以下内容,即成功:
在这里插入图片描述

编译文件系统:

./mk.sh -b

在这里插入图片描述

生成完整的镜像文件

将uboot 内核 文件系统整合在一起,方便我们后续去下载安装镜像文件:

./mk.sh -U

出现以下内容即成功:
在这里插入图片描述

编译的内核保存的位置:

/home/wll/wll_code/rk3399/x3399_linux_new_qianfeng

在这里插入图片描述

USB转串口模块:
在这里插入图片描述
在这里插入图片描述

5.超级终端的使用:

在这里插入图片描述

解压完成,打开以下软件:
在这里插入图片描述

串口驱动安装:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

RK3399基础部分

1.RK3399介绍 基础特性: 高达1.8GHz的双核Cortex-A72 四核Cortex-A53高达1.4GHz NPU高达3.0TOPS Mali-T860MP4 GPU 双通道DDR3/DDR3L/LPDDR3/LPDDR4 4K超高清H265/H264/VP9 HDR10/HLG H264编码器 双MIPI CSI和ISP USB Type-CGPU: 图形处理器(英语&…...

linux高级编程(广播与组播)

广播与组播: 广播: 局域网,一个人发所有人都能收(服务器找客户端),(发给路由器的广播地址后后路由器自动给所有人发,可用于服务器找客户端) 只能udp来做 setsocketopt…...

Andriod Stdio新建Kotlin的Jetpack Compose简单项目

1.选择 No Activity 2.选择kotlin 4.右键选择 在目录MyApplication下 New->Compose->Empty Project 出现下面的画面 Finish 完成...

Linux多线程编程-哲学家就餐问题详解与实现(C语言)

在哲学家就餐问题中,假设有五位哲学家围坐在圆桌前,每位哲学家需要进行思考和进餐两种活动。他们的思考不需要任何资源,但进餐需要使用两根筷子(左右两侧各一根)。筷子是共享资源,哲学家们在进行进餐时需要…...

从C向C++18——演讲比赛流程管理系统

一.项目需求 1.比赛规则 学校举行一场演讲比赛,共有12个人参加。比赛共两轮,第一轮为淘汰赛,第二轮为决赛。每名选手都有对应的编号,如 10001~ 10012比赛方式:分组比赛,每组6个人;第一轮分为两…...

QThread和std::thread

在 Qt 中, 我们经常会用到多线程,这时候就需要纠结是使用 Qt 的 QThread 还是使用 C 标准库的 std::thread。 这里记录一下我自己的理解,先介绍一下 QThread 和 std::thread 的使用方法,对比一下他们的不同,最后说一下…...

LeetCode 算法:组合总和 c++

原题链接🔗:组合总和 难度:中等⭐️⭐️ 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 …...

【两大3D转换SDK对比】HOOPS Exchange VS. CAD Exchanger

在现代工业和工程设计领域,CAD数据转换工具是确保不同软件系统间数据互通的关键环节。HOOPS Exchange和CAD Exchanger是两款备受关注的工具,它们在功能、支持格式、性能和应用场景等方面有着显著差异。 本文将从背景、支持格式、功能和性能、应用场景等…...

Openerstry + lua + redis根据请求参数实现动态路由转发

文章目录 一、需求分析二、准备1、软件安装2、redis-lua封装优化 三、实现1、nginx.conf2、dynamic.lua注意 3、准备两个应用4、访问nginx 四、参数直接传要代理的地址端口 一、需求分析 根据用户访问url的参数,将请求转发到对应指定IP的服务器上。 二、准备 1、…...

数字名片-Pushmall 智能AI数字名片7月更新计划

[数字名片]-商务营销推广助手7月更新计划 数字名片-商务营销推广助手7月更新计划 **2024年 6月完成模块开发优化****实现SaaS框架业务 1、智能名片:创建个人名片、企业名片、商机管理。 2、人脉商圈:附近人脉、就近群脉、好友名片。 3、企微社群&…...

21. Python代码快速查看数组分布

1. 前言 当你已经具备一段可用于快速查看数组分布的Python代码时,你拥有了一项强大的工具来分析和理解你的数据集。这种类型的代码通常会使用可视化库,例如Matplotlib和Seaborn,以直观的方式展示数据分布。这些库允许你创建直方图以观察数据集中的频率分布,以及核密度估计…...

记录些Redis题集(3)

分布式锁 分布式锁是一种用于在分布式系统中实现互斥访问的机制,它可以确保在多个节点、或进程同时访问共享资源。如果没有适当的锁机制,就可能导致数据不一致或并发冲突的问题。 分布式锁需要的介质 需要一个多个微服务节点都能访问的存储介质&#…...

OracleLinux6.9升级UEK内核

方法一: [root@localhost ~]# uname -r 4.1.12-61.1.28.el6uek.x86_64 [root@localhost ~]# rpm -qa | grep kernel-uek kernel-uek-firmware-4.1.12-61.1.28.el6uek.noarch kernel-uek-4.1.12-61.1.28.el6uek.x86_64 [root@localhost ~]# yum list kernel-uek Loaded plug…...

React学习笔记03-----手动创建和运行

一、项目创建与运行【手动】 react-scripts集成了webpack、bable、提供测试服务器 1.目录结构 public是静态目录,提供可以供外部直接访问的文件,存放不需要webpack打包的文件,比如静态图片、CSS、JS src存放源码 (1&#xff09…...

ubantu22.04安装OceanBase 数据库

1、管理员启动cmd,运行 sudo bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/service/installer.sh)" 2、提示如下代表安装完成 3、修改数据库配置文件的密码 sudo vim /etc/oceanbase.cnf 然后保存退…...

【linux】【深度学习】fairseq框架安装踩坑

直接pip install fairseq发现跑代码时候老是容易崩,所以选择用源码编译安装。 python环境选择3.8以上都行,我选择3.10 首先安装torch, 我选择安装pip install torch1.13.1 torchaudio0.13.1以及cuda 11.7 (具体cuda根据个人显卡进…...

【Python爬虫教程】第7篇-requests模块的cookies保存和使用

文章目录 为什么要保存cookiesrequests.utils工具类保存cookies到本地文件从本地文件解析cookies使用使用实践 为什么要保存cookies 保存cookies是避免每次都登录获取权限,一遍权限是有过期时间的,不需要每次重复登录,可以将cookies保存起来…...

微信小程序开发基础知识6----使用npm包

一、小程序对npm的支持与限制 目前,小程序中已经支持使用 npm 安装第三方包,从而来提高小程序的开发效率。但是,在小程序中使用npm 包有如下3个限制: ① 不支持依赖于 Node.js 内置库的包 ② 不支持依赖于浏览器内置对象的包 ③ 不支持依赖于…...

如何在element中table的 v-for中 使用slot-scope?

有时候我们需要通过数据库来动态控制表格的列,这样做的好处就是系统中如果有太多的表格项的话,直接这套代码就能通用了,其他的数据库里控制就行,不要太方便了,特别是一些ERP或者供应链的表格,动不动就是几十上百个字段,这时候不要太轻松了,废话不多说,直接上代码: &…...

企业网络实验dhcp-snooping、ip source check,防非法dhcp服务器、自动获取ip(虚拟机充当DHCP服务器)、禁手动修改IP

文章目录 需求相关配置互通性配置配置vmware虚拟机(dhcp)分配IP服务配置dhcp relay(dhcp中继)配置dhcp-snooping(防非法dhcp服务器)配置ip source check(禁手动修改IP)DHCP中继&…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

《Offer来了:Java面试核心知识点精讲》大纲

文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...

Element-Plus:popconfirm与tooltip一起使用不生效?

你们好&#xff0c;我是金金金。 场景 我正在使用Element-plus组件库当中的el-popconfirm和el-tooltip&#xff0c;产品要求是两个需要结合一起使用&#xff0c;也就是鼠标悬浮上去有提示文字&#xff0c;并且点击之后需要出现气泡确认框 代码 <el-popconfirm title"是…...