一、编译环境

1、目标系统:ubuntu 22.04 LTS

2、投屏器SDK下载:

链接:https://pan.baidu.com/s/1OJQafxm38FnbshMEu432Og

提取码:o6p3

下载下来后,输入命令cat rv1126.zip.001 rv1126.zip.002 rv1126.zip.003 rv1126.zip.004 rv1126.zip.005 > rv1126.zip合并成一个文件rv1126.zip

然后再unzip 命令解压出来,最后在执行repo sync -l了。

二、编译

1、解压

tar xvf  RV1126_repo.tar.gz

2、 执行SDK同步命令

repo/repo/repo sync -l

如果报下列错,则执行sudo apt install python

成功执行后会在当前目录下生成相关文件

SDK目录说明

进入工程目录下有buildroot、app、kernel、u-boot、device、docs、external等目录。每个目录或其子目录会对应一个git工程,提交需要在各自的目录下进行。

  • buildroot:定制根文件系统。
  • app:存放上层应用程序。
  • external:相关库,包括音频、视频等。
  • kernel:kernel代码。
  • device/rockchip:存放每个平台的一些编译和打包固件的脚本和预备文件。
  • docs:存放开发指导文件、平台支持列表、工具使用文档、Linux 开发指南等。
  • prebuilts:存放交叉编译工具链。
  • rkbin:存放固件和工具。
  • rockdev:存放编译输出固件。
  • tools:存放一些常用工具。
  • u-boot:U-Boot代码。

RV1109/RV1126 模块代码目录说明

部分模块代码目录路径 模块功能描述
部分模块代码目录路径 模块功能描述
app/dbserver 数据库服务
app/ipc-daemon 系统守护服务
app/ipcweb-backend web后端
app/ipcweb-ng web前端,采用Angular 8框架
app/libIPCProtocol 基于dbus,提供进程间通信的函数接口
app/librkdb 数据库接口
app/mediaserver 提供多媒体服务的主应用
app/minigui_demo 基于MiniGUI实现一个简单画图demo
app/netserver 网络服务
app/storage_manager 存储管理服务
external/CallFunIpc 应用进程间通信代码
external/camera_engine_rkaiq 图像处理算法模块
external/common_algorithm 音视频通用算法库
external/isp2-ipc 图像信号处理服务端
external/mpp 编解码代码
external/recovery recovery和Rockchip升级代码
external/rk_pcba_test PCBA测试代码
external/rkmedia Rockchip 多媒体封装接口
external/rknn-toolkit 模型转换、推理和性能评估的开发套件
external/rknpu NPU驱动
external/rkwifibt Wi-Fi和BT
external/rockface 人脸识别代码

目录docs和external的文档索引

├── docs
│ │
│ ├── Kernel (内核驱动相关文档,RV1126/RV1109平台可以参考)
│ │
│ ├── Linux (Rockchip Linux系统通用文档,RV1126/RV1109平台可以参考)
│ │ │
│ │ ├── Multimedia
│ │ │ ├── camera (camera相关文档,RV1126/RV1109平台可以参考)
│ │ │ ├── Rockchip_Developer_Guide_MPP_CN.pdf (编解码接口开发指南, 适用于RV1126/RV1109平台)
│ │ │ └── Rockchip_Developer_Guide_MPP_EN.pdf
│ │ │
│ │ ├── Recovery (升级相关文档, 适用于RV1126/RV1109平台)
│ │ │ ├── Rockchip_Developer_Guide_Linux_Recovery_CN.pdf
│ │ │ ├── Rockchip_Developer_Guide_Linux_Recovery_EN.pdf
│ │ │ ├── Rockchip_Developer_Guide_Linux_Upgrade_CN.pdf
│ │ │ └── Rockchip_Developer_Guide_Linux_Upgrade_EN.pdf
│ │ │
│ │ ├── Security (加密相关文档, 适用于RV1126/RV1109平台)
│ │ │ └── Rockchip_Developer_Guide_TEE_Secure_SDK_CN.pdf
│ │ │
│ │ └── Wifibt (WiFi和蓝牙相关文档, 适用于RV1126/RV1109平台)
│ │ ├── AP模组RF测试文档
│ │ │ ├── BT RF Test Commands for Linux-v05.pdf
│ │ │ └── Wi-Fi RF Test Commands for Linux-v03.pdf
│ │ ├── REALTEK模组RF测试文档
│ │ │ ├── 00014010-WS-170731-RTL8723D_COB_MP_FLOW_R04.pdf
│ │ │ ├── MP tool user guide for linux20180319.pdf
│ │ │ └── Quick_Start_Guide_V6.txt
│ │ ├── RK平台_RTL8723DS_AIRKISS配网说明.pdf
│ │ ├── Rockchip_Developer_Guide_DeviceIo_Bluetooth_CN.pdf
│ │ ├── Rockchip_Developer_Guide_Linux_WIFI_BT_CN.pdf
│ │ ├── Rockchip_Developer_Guide_Linux_WIFI_BT_EN.pdf
│ │ ├── Rockchip_Developer_Guide_Network_Config_CN.pdf
│ │ └── WIFI性能测试PC工具
│ │ └── iperf-2.0.5-2-win32.zip
│ │
│ └── RV1126_RV1109
│ ├── ApplicationNote (Rockchip应用开发框架介绍、网页端开发指南)
│ │ ├── Rockchip_Developer_Guide_Linux_Application_Framework_CN.pdf
│ │ ├── Rockchip_Developer_Guide_Linux_Application_Framework_EN.pdf
│ │ ├── Rockchip_Instructions_Linux_CGI_API_CN.pdf
│ │ ├── Rockchip_Instructions_Linux_MediaServer_CN.pdf
│ │ ├── Rockchip_Instructions_Linux_MediaServer_EN.pdf
│ │ ├── Rockchip_Instructions_Linux_Web_Configuration_CN.pdf
│ │ └── Rockchip_Instructions_Linux_Web_Configuration_EN.pdf
│ │
│ ├── Camera (ISP开发指南)
│ │ ├── Camera_External_FAQ_v1.0.pdf
│ │ ├── Rockchip_Color_Optimization_Guide_ISP2x_V1.1.0.pdf
│ │ ├── Rockchip_Development_Guide_ISP2x_CN_v1.2.0.pdf
│ │ ├── Rockchip_Driver_Guide_ISP2x_CN_v0.1.0.pdf
│ │ ├── Rockchip_Instruction_Linux_Appliction_ISP20_CN.pdf
│ │ ├── Rockchip_IQ_Tools_Guide_ISP2x_CN_v1.0.0.pdf
│ │ ├── Rockchip_RV1109_RV1126_Developer_Guide_Linux_Ispserver_CN.pdf
│ │ └── Rockchip_Tuning_Guide_ISP2x_CN_v1.0.0.pdf
│ │
│ ├── Multimedia
│ │ ├── Rockchip_Developer_Guide_Linux_RKMedia_CN.pdf
│ │ └── Rockchip_Instructions_Linux_Rkmedia_CN.pdf (多媒体接口开发指南)
│ │
│ ├── Rockchip_RV1126_RV1109_EVB_User_Guide_V1.0_CN.pdf (硬件开发指南)
│ ├── Rockchip_RV1126_RV1109_EVB_User_Guide_V1.0_EN.pdf
│ ├── Rockchip_RV1126_RV1109_Instruction_Linux_Separate_Building_EN.pdf (独立编译U-Boot/Kernel/Rootfs说明文档)
│ ├── Rockchip_RV1126_RV1109_Linux_SDK_V1.1.1_20200711_CN.pdf (SDK发布说明)
│ ├── Rockchip_RV1126_RV1109_Linux_SDK_V1.1.1_20200711_EN.pdf
│ ├── Rockchip_RV1126_RV1109_Quick_Start_Linux_CN.pdf (快速开发指南)
│ ├── Rockchip_RV1126_RV1109_Quick_Start_Linux_EN.pdf
│ ├── RV1109 Multimedia Codec Benchmark v1.2.pdf
│ ├── RV1126 Multimedia Codec Benchmark v1.1.pdf
│ └── RV1126_RV1109_Release_Note.txt

└── external
├── rknn-toolkit (模型转换、推理和性能评估的开发套件文档)
│ └── doc
│ ├── Rockchip_Developer_Guide_RKNN_Toolkit_Custom_OP_V1.3.2_CN.pdf
│ ├── Rockchip_Developer_Guide_RKNN_Toolkit_Custom_OP_V1.3.2_EN.pdf
│ ├── Rockchip_Quick_Start_RKNN_Toolkit_V1.3.2_CN.pdf
│ ├── Rockchip_Quick_Start_RKNN_Toolkit_V1.3.2_EN.pdf
│ ├── Rockchip_Trouble_Shooting_RKNN_Toolkit_V1.3.2_CN.pdf
│ ├── Rockchip_Trouble_Shooting_RKNN_Toolkit_V1.3.2_EN.pdf
│ ├── Rockchip_User_Guide_RKNN_Toolkit_V1.3.2_CN.pdf
│ ├── Rockchip_User_Guide_RKNN_Toolkit_V1.3.2_EN.pdf
│ ├── Rockchip_User_Guide_RKNN_Toolkit_Visualization_V1.3.2_CN.pdf
│ └── Rockchip_User_Guide_RKNN_Toolkit_Visualization_V1.3.2_EN.pdf
└── rknpu
└── rknn (Rockchip NPU 开发文档)
└── doc
├── Rockchip_User_Guide_RKNN_API_V1.3.3_CN.pdf
└── Rockchip_User_Guide_RKNN_API_V1.3.3_EN.pdf

3、执行第二步生成的sh文件

./build.sh

① 选择编译选项



选择0,表示选择通用IPC类产品的板级配置

也可以直接执行

./build.sh device/rockchip/rv1126_rv1109/BoardConfig.mk

② 报错处理

安装device-tree-compiler



执行命令

# 安装device-tree-compiler
sudo apt-get install device-tree-compiler
# 在执行build.sh脚本
./build.sh
缺少bison

# 安装bison
sudo apt-get install bison
# 在执行build.sh脚本
./build.sh
缺少flex

# 安装flex
sudo apt-get install flex
# 在执行build.sh脚本
./build.sh
安装expect或者expect-dev

# 安装expect
sudo apt-get install expect
# 在执行build.sh脚本
./build.sh
安装g++-9

# 安装g++-9
sudo apt-get install lib32gcc-9-dev g++-9 libstdc++-9-dev
# 在执行build.sh脚本
./build.sh # 可以使用g++ -v查看g++的版本
g++ -v

安装fakeroot

上面安装g++-9后执行./build.sh后会执行很长时间(大概2个多小时)再次的报错

# 安装fakeroot
sudo apt-get install fakeroot
# 在执行build.sh脚本
./build.sh

③ 编译完成

上面报错都解决完后,就可以编译成功了。



编译成功后,会在./IMAGE/RV1126-EVB-V13_20230203.1448_RELEASE_TEST/IMAGES下生成img文件

RV1126编译过程的更多相关文章

  1. Android工程的编译过程

    现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统.自动生成发布文件等等.这些都需要我们对Android工程的编译和打包有一个深入的理解,至少要知道它的每一步都做了什么,需要 ...

  2. GCC编译过程

    以下是C程序一般的编译过程: gcc的编译流程分为四个步骤,分别为:· 预处理(Pre-Processing) 对C语言进行预处理,生成*.i文件.· 编译(Compiling) 将上一步生成的*.i ...

  3. Linux系统GCC常用命令和GCC编译过程描述

    前言: GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言.GCC 很快地扩展,变得可处理 C++.后来又 扩展能够支持更多编程语言,如Fortran. ...

  4. Hadoop源码编译过程

    一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...

  5. gcc编译过程简述

    在linux系统上,从源文件到目标文件的转化是由编译器完成的.以hello.c程序的编译为例,如下: dfcao@linux: gcc -o hello hello.c 在这里,gcc编译器读取源文件 ...

  6. android 编译过程

    引用:http://www.cnblogs.com/devinzhang/archive/2011/12/20/2294686.html http://blog.sina.com.cn/s/blog_ ...

  7. [转]UE4 Blueprint编译过程

    Blueprint 编译概述   一.术语 Blueprint,像C++语言一下的,在游戏中使用前需要编译.当你在BP编辑器中,点击编译按钮时候,BP资源开始把属性和图例过程转换为一个类对象处理. 1 ...

  8. TextMate2 最新版下载及源码编译过程

    TextMate2 已经开源,我刚编译成功,如果有需要的同学可以点击下面百度网盘的链接下载.我系统版本是:Mac OS X 10.8.4. TextMate version 2.0-alpha.946 ...

  9. C语言的编译过程、安装gcc编译器以及设置环境变量

    以我对C语言编译过程的了解,我用了一点时间画了一个图,提供给大家参考一下,希望有些能对您的问题提上帮助. 前几天刚初步学习了C语言的编译过程,感触挺深的.在C语言中头文件其实起了一个很大的作用. 1. ...

  10. 关于一个程序的编译过程 zkjg面试

    http://blog.csdn.net/gengyichao/article/details/6544266 一 以下是C程序一般的编译过程: 从图中看到: 将编写的一个c程序(源代码 )转换成可以 ...

随机推荐

  1. P2216 [HAOI2007] 理想的正方形 题解

    题目链接:理想的正方形 比较明显的,我们可以用二维 ST 表解决,具体的二维 ST 表的实现,只需要知道一点: 对于 \(st[i][j][t]=max(i \sim i+2^t,j \sim j+2 ...

  2. 教你用Java实现动态调色板

    案例介绍 欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用Java编程实战案例,做一个动态调色板.案例界面会出现三个滑动组块以及对应的数值,通过移动滑块可以改变颜色区域的显示.通过实 ...

  3. 17.5 稀疏调拨的内存映射文件--《Windows核心编程》

    原文链接:https://www.likecs.com/show-306421749.html,原文中代码是C++MFC程序,更详细.本文是C语言测试代码. (1)稀疏文件(Sparse File)定 ...

  4. .NET 云原生架构师训练营(模块二 基础巩固 日志)--学习笔记

    2.2.2 核心模块--日志 ILogger 的使用 日志的 ID 日志的分类 日志的级别 LoggerProvider 日志的最佳实践 .NET Core 和 ASP.NET Core 中的日志记录 ...

  5. 探索C语言结构体:编程中的利器与艺术

    欢迎大家来到贝蒂大讲堂 养成好习惯,先赞后看哦~ 所属专栏:C语言学习 贝蒂的主页:Betty's blog 1. 常量与变量 1. 什么是结构体 在C语言中本身就自带了一些数据类型,如:char,i ...

  6. ArrayList中的遍历删除

    ArrayList 中的遍历删除 在代码编写过程中经常会遇到这样的要求:遍历一个线性表,要求只遍历一遍(时间复杂度\(O(n)\)),删除符合指定条件的元素,且要求空间复杂度 \(O(1)\). 例如 ...

  7. C# 二十年语法变迁之 C# 7参考

    C# 二十年语法变迁之 C# 7参考 https://benbowen.blog/post/two_decades_of_csharp_iii/ 自从 C# 于 2000 年推出以来,该语言的规模已经 ...

  8. NC16886 [NOI2001]炮兵阵地

    题目链接 题目 题目描述 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队.一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用&qu ...

  9. NC23413 小A买彩票

    题目链接 题目 题目描述 小A最近开始沉迷买彩票,并且希望能够通过买彩票发家致富.已知购买一张彩票需要3元,而彩票中奖的金额分别为1,2,3,4元,并且比较独特的是这个彩票中奖的各种金额都是等可能的. ...

  10. Python 装饰器解析(二)

    前面一篇文章介绍了python装饰器,最后引入了functools.wraps的使用,本篇文章将对它进行深入的探究. functools模块提供了一系列的高阶函数以及对可调用对象的操作,其中为人熟知的 ...