本帖最后由 风精灵 于 2025-6-6 10:06 编辑
将ELF 2开发板资料包\02-Linux源代码\02-0 SDK源码\ELF2-linux-source.tar.bz2.0*SDK源码压缩包复制到Ubuntu开发环境的/home/elf/work/目录下,解压缩: elf@ubuntu:~/work$ cat ELF2-linux-source.tar.bz2.0* | tar vxj 解压完成之后使用ls命令查看SDK源码目录: SDK源码解压后会有多个目录,各个目录及主要的文件说明如下: | | | 存放上层应用 app,主要是 qcamera/qfm/qplayer/settings 等一些应用程序。 | | 基于 buildroot (2021.11) 开发的根文件系统。 | | 基于debian 10 开发的根文件系统,支持部分芯片。 | | 存放elf2配置和Parameter⽂件,以及一些编译与打包固件的脚本和预备文件。 | | 存放芯片模块开发指导文档、平台支持列表、芯片平台相关文档、Linux开发指南等。 | | | | 存放第三方相关仓库,包括音频、视频、网络、recovery 等。 | | | | | | 存放 Rockchip 相关的 Binary 和工具。 | | | | 存放 Linux 和 Windows 操作系统环境下常用工具。 | | 存放基于 v2017.09 版本进行开发的 uboot 代码。 | | 基于 yocto gatesgarth 3.2 开发的根文件系统,支持部分芯片。 |
SDK的软件框图如下: 从下至上分为Bootloader、Linux Kernel、Libraries、Applications四个层次。各层次内容如下:
①Bootloader层主要提供底层系统支持包,如Bootloader、U-Boot、ATF相关支持。 ②Kernel层主要提供Linux Kernel的标准实现,Linux也是一个开放的操作系统。Rockchip平台的Linux核心为标准的Linux4.4/4.19/5.10内核,提供安全性,内存管理,进程管理,网络协议栈等基础支持;主要是通过 Linux 内核管理设备硬件资源,如 CPU调度、缓存、内存、I/O 等。 ③Libraries层对应一般嵌⼊式系统,相当于中间件层次。包含了各种系统基础库,及第三方开源程序库支持,对应用层提供API接口,系统定制者和应用开发者可以基于Libraries层的API开发新的应用。 ④Applications层主要是实现具体的产品功能及交互逻辑,需要⼀些系统基础库及第三方程序库支持,开发者可以开发实现自己的应用程序,提供系统各种能力给到最终用户。
二、内核目录介绍从上面的介绍中我们可以了解到,内核其实就是SDK源码中的一部分,接下来咱们来了解一下内核源码中一些比较常用的文件夹。 | | | 可支持的不同CPU架构下的核心代码。例如arm就是arm架构相关的代码,arm目录下包括很多处理器平台,也包括了启动代码boot、架构相关配置文件configs、内核相关文件kernel、内存管理mm和库lib等 | | | | | | | | | | | | | | | | | | 内核核心代码,目录下实现了多数linux系统的内核函数 | | | | | | | | | | 用于内核配置的脚本文件,用于实现内核配置的图形界面 | | 安全性相关,支持安全操作系统相关代码。包括SELinux、Apparmor、Smack和TOMOYO Linux安全模块。 | | | | | | | | |
|