前言
做了18年的嵌入式研发,最近突然感觉自己老了,时日不多了。
所以,下定决心写些什么分享给后人。首先想到的就是我最喜欢的++Yocto SDK架构++。
嵌入式三大目标文件
对于嵌入式开发而言,为了让系统动起来,需要至少制作以下三种image,最终烧入Flash中:
bootloader:开机引导程序,最常见的如:UBOOT
Kernel: 一般都是Linux内核
Rootfs: 包含各种软件(移植到对应平台)的文件系统
所以一切的一切,都是围绕三大目标文件展开。
Yocto未流行前
2010前后,我们这些老研发需要自己移植软件,自己编写 build (构建)脚本,最终组织成三大image。
随着人类科技的演进,软件种类庞杂,Linux版本众多,再靠研发自己 做不同平台的移植、构建 就太费时费力了。于是衍生出了很多 SDK 架构,用于完成这些工作:
例如:Buildroot,OpenWRT,和Yocto等......(还有的话请各位码农盆友补充)
Yocto流行后
Yocto SDK基本上只要选择对应的芯片配置,就可以使用已有的build指令,编译出可用的bootloader, kernel, rootfs。
也正因为平台移植的快速便捷,各芯片大厂,都特别青睐 Yocto,如++高通,联发科,NX++P等,所以,Yocto真的可以堪称SDK中的贵族。
并且Yocto就如同哆啦A梦的百宝袋,如果你想将某个软件导入你的系统,只要神奇的添加一种叫做bb的文件即可(庞大的社区已经帮你做好各种软件的bb);甚至只要换一个bb,即可升级linux内核。
当下最流行的汽车电子行业,也在大力发展AGL(Automotive Grade Linux), 同样也是Yocto架构,所以,学习Yocto,对个人 进入芯片大厂和 高规格行业领域很有帮助。
努力抽空继续分享更多更多.......