当前位置: 首页 > news >正文

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,小家电,智能设备,自己创业。

http://www.lryc.cn/news/449984.html

相关文章:

  • 基于Springboot+Vue的公寓管理系统(含源码+数据库)
  • 多功能声学气膜馆:承载梦想与希望的舞台—轻空间
  • 【线程】线程池
  • 输出 / 目录下所有目录文件的大小并排序
  • 【hot100-java】【编辑距离】
  • 随手记:牛回速归
  • UI设计师面试整理-设计过程和方法论
  • ACM 纳新每日一题 4329: 三进制
  • WebGIS包括哪些技术栈?怎么学习?
  • 无人机之集群控制及应用
  • AV1 Bitstream Decoding Process Specification--[9]:语法结构语义-5
  • APISIX 联动雷池 WAF 实现 Web 安全防护
  • 音频剪辑还能在线做?以前的我真是OUT了,效果秒杀专业软件
  • Library介绍(三)
  • VMware搭建DVWA靶场
  • 使用 Llama-index 实现的 Agentic RAG-Router Query Engine
  • 一行命令将Cmder添加到系统右键菜单中----配置环境
  • 【系统架构设计师】专题:基于构件的软件工程考点
  • 目前最好用的爬虫软件是那个?
  • 运营计划管理——电商运营(案例分享)
  • 【WRF工具】WRF Domain Wizard第二期:服务器中下载及安装
  • 信安 实验1 用Wireshark分析典型TCP/IP体系中的协议
  • Halcon内部和外部函数,区分明白
  • 使用 pypdf 给 PDF 添加目录书签
  • 2025郑州台球展,河南台球展会,智能台球桌展3月举办
  • Vue下载静态文件
  • 04 B-树
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-27
  • 恋爱辅助应用小程序app开发之广告策略
  • iTextPDF中,要实现表格中的内容在数据长度超过边框时自动换行