赞
踩
1)实验平台:正点原子ATK-DLRK3568开发板
2)平台购买地址:https://detail.tmall.com/item.htm?id=731866264428
3)全套实验源码+手册+视频下载地址: http://www.openedv.com/docs/boards/xiaoxitongban
传统的嵌入式Linux驱动开发主要就是三大巨头:uboot、Linux kernel和根文件系统(rootfs),比如我们已经推出的I.MX6U和STM32MP157这两款开发板。I.MX6U和STM32MP157这两款芯片都比较简单,算是很基础的Crotex-A内核MPU,所以只需要搞定三巨头就可以。但是随着芯片性能的不断提升,比如加入硬件视频编解码、NPU、GPU、ISP等外设以后,单纯的依靠三巨头就不能完全发挥出芯片的性能。因为不同的半导体厂商其外设实现不同,因此对应的驱动也不同,比如硬件视频编解码,每个厂商都有自己的驱动库,并且他们会向用户提供一套API。用户要使用这些API编写自己的应用程序,就需要链接到这些库,而且也可能需要其他的第三方库支持。总之就是各种交织,各种依赖,已经不单单是那三巨头的事情了。如果要靠用户去解决这些依赖是不现实的,所以半导体厂商会将这些东西打包到一起提供给用户,也就是SDK包(提供的SDK包有两种,一种是安卓SDK,另一种是Linux SDK)。本教程是Linux驱动开发,所以我们在这个文档是基于Linux SDK开发。
以我们使用的ATK-DLRK3568开发板使用的RK3568芯片为例,瑞芯微提供了全面的Linux SDK包,Linux SDK包主要包含了:
app:存放上层应用app,包括Qt应用程序,以及其它的C/C++应用程序。
buildroot:基于buildroot开发的根文件系统。
debian:基于Debian开发的根文件系统。
device/rockchip:存放各芯片板级配置文件和Parameter文件,以及一些编译与打包固件的脚本和预备文件。
docs:存放芯片模块开发指导文档、平台支持列表、芯片平台相关文档、Linux开发指南等。
external:存放所需的第三方库,包括音频、视频、网络、recovery等。
kernel:Linux 4.19版本内核源码。
prebuilts:存放交叉编译工具链。
rkbin:存放Rockchip相关的Binary和工具。
rockdev:存放编译输出固件,编译SDK后才会生成该文件夹。
tools:存放Linux和Windows操作系统环境下常用的工具,包括镜像烧录工具、SD卡升级启动制作工具、批量烧录工具等,譬如前面给大家介绍的RKDevTool工具以及Linux_Upgrade_Tool工具在该目录下均可找到。
u-boot:基于v2017.09版本进行开发的uboot源码。
yocto:基于Yocto开发的根文件系统。
所以本教程,包括我们其他的RK3568 Linux教程资料都是跟这个LinuxSDK包打交道。
关于SDK包更加详细的介绍请参考资料:开发板光盘10、用户手册【正点原子】ATK-DLRK3568嵌入式Linux统开发手册.pdf中的第四章节。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。