网站首页 > 精选教程 正文
1. SDK简介
一个通用 Linux SDK 工程目录包含有buildroot、app、kernel、device、docs、external 等目录。其中一些特性芯片如
RK3308/RV1108/RV1109/RV1126等,会有所不同。
● app:存放上层应用 app,主要是
qcamera/qfm/qplayer/settings 等一些应用程序。
● buildroot:基于 buildroot (2018.02-rc3) 开发的根文件系统。
● device/rockchip:存放各芯片板级配置和Parameter文件,以及一些编译与打包固件的脚本和预备文件。
● docs:存放芯片模块开发指导文档、平台支持列表、芯片平台相关文档、Linux开发指南等。
● IMAGE:存放每次生成编译时间、XML、补丁和固件目录。
● external:存放第三方相关仓库,包括音频、视频、网络、recovery 等。
● kernel:存放 kernel 4.4 或 4.19 开发的代码。
● prebuilts:存放交叉编译工具链。
● rkbin:存放 Rockchip 相关的 Binary 和工具。
● rockdev:存放编译输出固件。
● tools:存放 Linux 和 Windows 操作系统环境下常用工具。
2. SDK环境安装
本 SDK 开发环境是在Ubuntu 系统上开发测试。我们推荐使用 Ubuntu 18.04 的系统进行编译。其他的Linux 版本可能需要对软件包做相应调整。除了系统要求外,还有其他软硬件方面的要求。
●硬件要求:64 位系统,硬盘空间大于40G。如果您进行多个构建,将需要更大的硬盘空间。
●软件要求:Ubuntu 18.04 系统。
编译 SDK 环境搭建所依赖的软件包安装命令如下:
sudo apt-get installuuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev git curl \
u-boot-tools mtd-utilsandroid-tools-fsutils openjdk-8-jdk device-tree-compiler gdisk m4 \
gnupg flex bison gperflibsdl1.2-dev libesd-java libwxgtk3.0-dev squashfs-tools \
build-essential zipunzip libncurses5-dev pngcrush schedtool libxml2 libxml2-utils xsltproc \
lzop libc6-devg++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-dev gcc-multilib \
libswitch-perllibssl-dev liblz4-tool gconf2 net-tools lib32ncurses5-dev tree vim gparted \
g++ libyaml-devlibpython2.7-dev make libssl-dev lib32z1 p7zip-full python-pip libgmp-dev \
libmpc-dev
建议使用 Ubuntu18.04 系统或更高版本开发,若编译遇到报错,可以查看报错信息,安装对应的软件包。
3. SDK整体编译
3.1查询操作
在SDK目录下输入./build.sh -h可以得知SDK支持的命令,如下所示。
- -h可查看各部分模块的详细编译命令,例如:./build.sh-h kernel可以查看单独编译内核的详细步骤,详细信息将在后续章节逐一介绍。
3.2整体编译操作
SDK支持单独编译以及整体编译,单独编译。单独编译在下面独立章节会详细介绍,此处先介绍整体编译方法。步骤如下:
· 选择默认配置,./build.sh lunch,选择第5个配置(rk3568评估套件)
· 执行编译操作,./build.sh all
· 执行打包操作,./mkfirmware.sh
· 等待编译完成获取编译固件
具体操作命令如下:
./build.shBoardConfig-rk3568-evb1-ddr4-v10.mk
./build.shall
./mkfirmware.sh
编译到内核阶段时,第一次编译需要对电源域进行判断,这里全部选择第2个3300000,如下图所示:
得到的编译固件路径为SDK包根目录下的rockdev目录,如下所示。
然后再更新万象提供的光盘资料出厂镜像中的对应固件即可,如下所示。
rockdev目录内的烧录文件实际是把各个组成部分的编译结果链接到此目录,各个编译结果的链接情况如下所示。
图3.1 rockdev目录内容
所以各个组成部分的来源如下所示。
来源 | 文件 | 描述 |
Uboot | MiniLoaderAll.bin | 引导文件 |
uboot.img | uboot代码主体 | |
Kernel | boot.img | kernel代码主体 |
Buildroot | recovery.img | 来源于buildroot |
rootfs.ext4 | 这两个文件为同一个文件,为buildroot代码主体 | |
rootfs.img | ||
杂项 | misc.img | 来自rockchip的自定义文件 |
oem.img | oem分区的固件镜像 | |
parameter.txt | 参数保存文件,由原厂定义 | |
userdata.img | 用户空间的固件镜像 |
3.3部分编译操作
3.3.1配置SDK
./build.shBoardConfig-rk3568-evb1-ddr4-v10.mk
3.3.2编译kernel
./build.sh kernel
3.3.3编译rootfs
./build.sh rootfs
3.3.4打包update.img
./build.sh updateimg
猜你喜欢
- 2025-03-19 用Ansible从零开始部署Spring Boot Web应用:全栈自动化部署指南
- 2025-03-19 从0开始,让你的Spring Boot项目跑在Linux服务器
- 2025-03-19 Jenkins 部署运行(jenkins怎么部署环境)
- 2025-03-19 K8S环境快速部署Kafka(K8S外部可访问)
- 2025-03-19 开源文档预览项目 kkFileView (9.9k star) ,快速入门
- 2025-03-19 搭建一个基于Docker服务的java Web服务器环境1
- 2025-03-19 如何安装一个专业版的linux(如何安装linux软件)
- 2025-03-19 用了8年的方式-用 Docker 瞬间搭建本地开发环境
- 2025-03-19 本地Ubuntu轻松部署高效性能监控平台SigNoz与远程使用教程
- 2025-03-19 基于Ubuntu16.04使用KVM实现Linux环境虚拟机化
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)