前言??buildroot虽然灵活,但是基于实际情况,本身是侧重驱动和应用定制开发的只定制一次文件系统投入有点多,还不如直接ubunt自己交叉编译依赖库,做一些库的移植裁剪 。??于是本篇就使用ubuntu系统了,至于其他库自己下源码在宿主机交叉编译号后,再拷贝过去或者直接在板子上编译也行(只是会比较慢),但是意义不大,因为开发过程肯定是用宿主机,不然核心板编译太慢,在编译上会花费不少可以省去的时间 。
为什么选择ubuntu??核心板方案上已经提供适配好的基础uboot和kernel,这个时候不同文件系统 uboot和内核时一样的,做驱动差别也不大,而且笔者做移植交叉编译应用和库都较多,且不同平台都做,直接裁剪移植,所以对于笔者来说,选择ubuntu是更好的方式,缺什么下源码三部曲交叉编译,而使用buildroot构建势必有点绕远路,所以选择了ubuntu,后续对ubuntu进行裁剪,如去掉桌面,然后开发移植库和应用 。
RK系列SDK简要介绍目录结构??一个通用 Linux SDK (RV系类的sdk没有对工程目录包含有 buildroot、 debian、 app、 kernel、 u-boot、 device、 docs、 external等目录 。??以下是RK系类的目录分类:
- app:存放上层应用 app,主要是 qcamera/qfm/qplayer/settings 等一些应用程序 。
- buildroot:基于 buildroot (2018.02-rc3) 开发的根文件系统 。
- debian:基于 debian 10 开发的根文件系统,支持部分芯片 。
- device/rockchip:存放各芯片板级配置和 Parameter 文件,以及一些编译与打包固件的脚本和预备文件 。
- docs:存放芯片模块开发指导文档、 平台支持列表、 芯片平台相关文档、 Linux 开发指南等 。
- IMAGE:存放每次生成编译时间、 XML、 补丁和固件目录 。
- external:存放第三方相关仓库,包括音频、 视频、 网络、 recovery 等 。
- kernel:存放 kernel 4.4 或 4.19 开发的代码 。
- prebuilts:存放交叉编译工具链 。
- rkbin:存放 Rockchip 相关的 Binary 和工具 。
- rockdev:存放编译输出固件 。
- tools:存放 Linux 和 Windows 操作系统环境下常用工具 。
- u-boot:存放基于 v2017.09 版本进行开发的 uboot 代码 。
- yocto:基于 yocto gatesgarth 3.2 开发的根文件系统,支持部分芯片??相对于以上的,对比下RV1109&RV1126的SDK目录,如下图:??
文章插图
- 优点: 技术支持较好,用户界面友好,硬件的兼容性好,采用基于 Deb 的 ATP 包管理系统 。
- 缺点: 技术支持和更新服务是需要付费的, 服务器软件生态系统的规模和活力方面稍弱。??(参考厂家手册)
- uboot:uboot是引导程序,芯片运行跑起来,然后引入kernel
- kernel:linux的内核是加载后将会移植运行在内存中的核心
- rootfs:这是文件系统,文件系统是kernel运行时需要加载一些驱动,库,存储等相关的其他一切相关的东西;??编译uboot,kernel,然后制作文件系统:??
文章插图
??(注意:buildroot也是要下载编译的,因为打包ubuntu镜像的时候需要使用到buildroot里面的脚本环境,所以此处也要先做buildroot系统再做ubuntu系统,具体查看“入坑一”)??(注意:一定要从购买开发板或者核心板的厂家获取,已经做好了ddr等外设的适配,包括开发板的外设,这是我们后续学习移植的基础,千万不要想着从零开始做,这个是不现实的,目前也没有人和公司这么做)??(注意:Ubuntu文件系统,是真的文件系统,而buildroot文件系统时buildroot工具构建的文件系统,Yocto也是;Debian和Ubuntu则是真文件系统)经验总结扩展阅读
- 端午节五彩绳的由来
- 五花肉可以炒些什么菜
- 2023年9月10日穿衣五行 2023年穿衣五行颜色
- 七 SpringCloud - 微信支付
- 2023年10月30日五行穿衣指南 今日幸运颜色讲究
- 2023年10月31日五行穿衣配色 穿什么颜色衣服好
- 2023年10月25日五行穿衣搭配 今天什么颜色旺桃花
- 2023年10月26日五行穿衣分享 今日招桃花幸运颜色
- 2023年10月27日五行穿衣颜色搭配 今天幸运色是什么
- 2023年10月28日五行穿衣颜色搭配 穿衣最佳幸运色