多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
一个完整的嵌入式产品的软件一般包括如下组成: ### * U-Boot(Bootloader), * 芯片原厂要求的引导程序, * Kernel(比如Linux), * Rootfs(根文件系统,一般是只读文件系统), * Userdata(放我们开发的应用程序和用户数据的地方,可以挂一个可读写的文件系统,比如UBIFS,Yaffs,安卓等,有机会会出一个篇幅专门讲嵌入式安卓系统的移植和应用); ### 还有些产品出于OTA(在线升级)考虑会设置Recovery分区。 ### **补充说明一下Rootfs**,也叫根文件系统,一套linux体系,只有内核本身是不能工作的,必须要rootfs,也就是: ![](https://img.kancloud.cn/55/c5/55c54173fc53e2b1ffe752979efbfa81_832x220.png =600x) ### 根文件系统中 /etc,/dev,/bin,/lib,这几个目录是不可或缺的。 结合上一节的内容,我们可以把Flash进行分区,分成针对这几个固件的区域,比如起始大小2MB用于U-Boot的存放,以此类推放置其他的固件;软件涉及的时候或者烧录时,U-Boot是知道Kernel的起始地址的,因此可以跳转过去运行,同样Kernel也知道在哪里挂载Rootfs。