🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
一个完整的嵌入式产品的软件一般包括如下组成: ### * 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。