瑞芯微(EASY EAI)RV1126B 嵌入式底层开发简介

描述

1. 嵌入式底层开发介绍

嵌入式底层开发通常指的是:uboot、kernel、rootfs开发。

Uboot:(Universal Boot Loader,通用引导加载器)是一个主要用于嵌入式系统(Kernel,内核)的引导加载程序,可以支持多种不同的计算机系统结构,包括ARM、AVR32、x86与Nios等。是遵循GPL条款的开放源码项目。

Kernel:Linux内核,它是一个用C语言写成,符合POSIX标准的类Unix操作系统。通过对CPU资源进行时分复用,实现了多进程管理和调度;通过各种子模块,实现了对内存、磁盘等资源的管理和调度;通过给各种外设编写设备驱动,以及修改设备树,实现了外设与Linux系统的交互。其实嵌入式内核开发的大部分工作,就是对外设资源的增、删、改,通常就是通过“开发设备驱动”和“修改设备树”完成。

Rootfs:(Root file system,根文件系统)是内核启动时所mount的第一个文件系统。文件系统是对一个存储设备上的数据和元数据进行组织的机制。这种机制有利于用户和操作系统的交互。

2. EAI UbuntuSDK介绍

EAI UbuntuSDK是一款由EASY-EAI团队基于ubuntu系统专门优化适配的嵌入式系统,它对比传统嵌入式SDK以下特点:

(1)支持快速启动,常规应用程序运行从开机仅需6-7秒,支持1秒级快速启动功能;

(2)继承传统ubuntu系统容易安装依赖库与软件生态强大的特点,ROS2、python库快速部署;

(3)文件系统可靠性高,支持RamDisk可自动修复文件系统坏块,防止因为磁盘异常/掉电,文件系统无法正常启动;

(4)系统初始化化可靠性高,默认支持外部看门狗(1.6秒),防止因为任何异常导致uboot/kernel无法正常初始化(用户应用程序则调用芯片内置看门狗,保护应用程序);

(5)底层开发简单,无需研究庞大的Buildroot SDK代码,仅需修改内核、设备树;

(6)底层开发效率高,一般完整编译SDK只需15分钟,而传统的Buildroot SDK需要90分钟(同等性能电脑,CPU@4.2GHz 12核24线程);

(7)支持rootfs一键导出,用户在开发板安装好的库与开发好的APP可通过以太网一键导出,轻松输出量产镜像;

(8)支持软件库在线升级,sudo apt-get upgrade即可从我们专用服务器(http://os.easy-eai.com)同步更新跟底层相关性比较大的依赖库(如: rkaiq、rga、gstreamer等),及时修复芯片原厂bug;

(9)应用开发效率高,支持开发板本地编译与在线交叉编译,在线交叉编译应用依赖库直接依赖到板卡文件系统,规避库兼容问题且能利用PC的编译性能与源码编辑器;

(10)支持OTA方案,规避软件导致的量产事故与应用/系统迭代更新;

(11)支持A、B分区方案,具有极高的系统可靠性,但是会占用大量的存储空间;

(12)UI交互方案选择灵活,支持安装桌面系统、支持安装浏览器,用户可以多种技术方式开发自己的UI界面(默认没有预装运行,不占系统资源);

(13)软件部署更灵活,支持docker部署。

3. EAI UbuntuSDK开发流程

固件开发流程介绍:

开发板

【uboot.img】通常由UbuntuSDK源码编译生成,但99%的情况无须改动以及替换

【boot.img】是内核镜像,通常也是由UbuntuSDK源码生成,用户可自由修改。

【rootfs.img】是文件系统镜像,通常采用【从开发板上完整导出】的方式获得,然后拿去替换固件中的rootfs.img

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分