Linux嵌入式有发展吗,以及对uboot,kernel,rootfs的领悟

工作多年后,对uboot,kernel,rootfs的领悟,总结

上大学时,51单片机,正点原子的stm32,linux arm开发。对uboot,kernel,rootfs的理解云里雾里,感觉自己很懂了
其实开发板,学到的东西,很基础,离真正产品,有的是有很大差距的。

一、uboot

以前简历写,熟悉uboot,kernel,能够移植uboot,kernel。
现在我肯定不会这么写,这是工作多么后的感悟,除了芯片公司,华为,联发科,没有人搞这个,其他公司,车厂可能要对uboot进行修改
但是不可能是从官网下载,直接拿来移植的,都是芯片商给的,移植过的,只有他们自己对芯片寄存器很熟悉,很多门道,是不会开放出来的。所以这部分只能芯片公司自己移植,我们拿到的,是修改好的,我们只是修改适配而已(换了个不同分辨率的屏幕,要改吧,换个网卡,nand,emmc,ddr,要改吧)。没有985学历,不要研究太透彻,懂一点原理,分区,烧录,传参,就可以了。学了基本没用。
现在我的简历,写会修改设置uboot,懂一部分启动原理。

uboot到底是干嘛的,想想,emmc的镜像文件是怎么被读到ddr的,emmc为啥可以被分区,烧录镜像,tftp网络命令为啥可以运行,启动设备时,为啥lcd可以看到图像,kernel还没启动,怎么出图像的。面试时,怎么减少开机启动时间。

uboot的作用

第一目的、就是帮助启动内核的,这是主要目的(告诉内核,从内存哪地址启动,dts,rootfs在哪,分区多大,文件系统是什么格式,init启动进程是什么,比如linuxrc)。

第二目的,提供对硬盘,emmc,nand,分区指令,烧录镜像的指令。

第三目的、提供一些驱动,对外设进行初步初始化,可以初步使用,比如开机时,快速出声音,图像,8s启动,谁知道你启动没。
所以减少开机时间,可以根据产品,快速出图像,后面慢慢启动就好了,比如电视机。

普通工作,随便了解点uboot,会分区,,设置参数,修改外设驱动(用到再学),会做sd卡固化镜像(如果芯片商没有提供方案)ok了。

其实uboot和裸机开发时没多大区别
第一、设置cpu,时钟,看门狗,cach,mmu,中断。
第二、就是驱动外设了,lcd,emmc(公司用到再学,学了也忘记)

二、kernel

要深入了解内核吗,不用。不管做应用开发,驱动开发也好,知道,系统原理,驱动框架,进程管理调度,内核竞争,信号,中断,锁,这些就够了。

三、rootfs
芯片公司基本会提供,普通工作,都只是添加点启动配置命令,启动一些应用程序,挂载mount emmc分区等。

四、工作感悟
走驱动这条路,其实没什么意思的,都是培训机构,一直在吹嘘的,驱动工资高,欺骗学生的,其实,国内除了华为,几家,没有人
做芯片的,驱动开发,大部分是移植驱动。有些手机公司,OPPO,vivo,应该也没有什么改的驱动。触摸屏驱动商,早就写好了,驱动
不需要了,内核驱动都写好了,会用就行了。岗位少,应用开发多。别再吹嘘linux驱动了,单片机都比他好,岗位多。

没有985,211学历,还是搞应用开发多点好,结合点移植驱动,部署镜像等等。比如音视频开发,海思平台,改改sdk应用代码,加入写网络协议,移植修改点驱动,配置,部署烧录镜像。
有学历的,可以搞搞算法,图像识别,语音识别,人工智能,会点基础的linux就可以了,不要转入uboot,kernel,驱动里去。

上一份工作是2022,11—2023,11年底,汽车公司,底层修修改改,编译镜像,修改后,客户给东西,重新编译给他,客制化配置启动参数,环境,支持应用部门,不懂怎么使用某些驱动。验证emmc,网络,检查死机log,原因。没有任何乐趣。果断离职了。再也不去汽车公司了。还是搞搞算法,应用开发好,qt,音视频采集等等。熟悉产品,有可能,有机会自己创业,搞驱动开发,机会没有,认识一个产品,行业的发展情况。所以,我还是继续搞应用开发,有可能是单片机加rtos,gui,linux应用开发等等。

在家玩了一年,纯粹不想上班,上班没有乐趣,压榨的没有生活意义,不去攀比买房车,就没有压力。有机会做做qt,小家电,智能设备,自己创业。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值