怎么自己做网站版面设计,点评网站分站设计,前端网课,昆山企业做网站工作多年后#xff0c;对uboot#xff0c;kernel#xff0c;rootfs的领悟#xff0c;总结
上大学时#xff0c;51单片机#xff0c;正点原子的stm32#xff0c;linux arm开发。对uboot#xff0c;kernel#xff0c;rootfs的理解云里雾里#xff0c;感觉自己很懂了 其…工作多年后对ubootkernelrootfs的领悟总结
上大学时51单片机正点原子的stm32linux arm开发。对ubootkernelrootfs的理解云里雾里感觉自己很懂了 其实开发板学到的东西很基础离真正产品有的是有很大差距的。
一、uboot
以前简历写熟悉ubootkernel能够移植ubootkernel。 现在我肯定不会这么写这是工作多么后的感悟除了芯片公司华为联发科没有人搞这个其他公司车厂可能要对uboot进行修改 但是不可能是从官网下载直接拿来移植的都是芯片商给的移植过的只有他们自己对芯片寄存器很熟悉很多门道是不会开放出来的。所以这部分只能芯片公司自己移植我们拿到的是修改好的我们只是修改适配而已换了个不同分辨率的屏幕要改吧换个网卡nandemmcddr要改吧。没有985学历不要研究太透彻懂一点原理分区烧录传参就可以了。学了基本没用。 现在我的简历写会修改设置uboot懂一部分启动原理。
uboot到底是干嘛的想想emmc的镜像文件是怎么被读到ddr的emmc为啥可以被分区烧录镜像tftp网络命令为啥可以运行启动设备时为啥lcd可以看到图像kernel还没启动怎么出图像的。面试时怎么减少开机启动时间。
uboot的作用
第一目的、就是帮助启动内核的这是主要目的告诉内核从内存哪地址启动dtsrootfs在哪分区多大文件系统是什么格式init启动进程是什么比如linuxrc。第二目的提供对硬盘emmcnand分区指令烧录镜像的指令。第三目的、提供一些驱动对外设进行初步初始化可以初步使用比如开机时快速出声音图像8s启动谁知道你启动没。
所以减少开机时间可以根据产品快速出图像后面慢慢启动就好了比如电视机。普通工作随便了解点uboot会分区设置参数修改外设驱动用到再学会做sd卡固化镜像如果芯片商没有提供方案ok了。
其实uboot和裸机开发时没多大区别 第一、设置cpu时钟看门狗cachmmu中断。 第二、就是驱动外设了lcdemmc公司用到再学学了也忘记
二、kernel
要深入了解内核吗不用。不管做应用开发驱动开发也好知道系统原理驱动框架进程管理调度内核竞争信号中断锁这些就够了。
三、rootfs 芯片公司基本会提供普通工作都只是添加点启动配置命令启动一些应用程序挂载mount emmc分区等。
四、工作感悟 走驱动这条路其实没什么意思的都是培训机构一直在吹嘘的驱动工资高欺骗学生的其实国内除了华为几家没有人 做芯片的驱动开发大部分是移植驱动。有些手机公司OPPOvivo应该也没有什么改的驱动。触摸屏驱动商早就写好了驱动 不需要了内核驱动都写好了会用就行了。岗位少应用开发多。别再吹嘘linux驱动了单片机都比他好岗位多。
没有985,211学历还是搞应用开发多点好结合点移植驱动部署镜像等等。比如音视频开发海思平台改改sdk应用代码加入写网络协议移植修改点驱动配置部署烧录镜像。 有学历的可以搞搞算法图像识别语音识别人工智能会点基础的linux就可以了不要转入ubootkernel驱动里去。
上一份工作是2022,11—202311年底汽车公司底层修修改改编译镜像修改后客户给东西重新编译给他客制化配置启动参数环境支持应用部门不懂怎么使用某些驱动。验证emmc网络检查死机log原因。没有任何乐趣。果断离职了。再也不去汽车公司了。还是搞搞算法应用开发好qt音视频采集等等。熟悉产品有可能有机会自己创业搞驱动开发机会没有认识一个产品行业的发展情况。所以我还是继续搞应用开发有可能是单片机加rtosguilinux应用开发等等。
在家玩了一年纯粹不想上班上班没有乐趣压榨的没有生活意义不去攀比买房车就没有压力。有机会做做qt小家电智能设备自己创业。