当前位置: 首页 > 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,小家电,智能设备,自己创业。

相关文章:

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

工作多年后,对uboot,kernel,rootfs的领悟,总结 上大学时,51单片机,正点原子的stm32,linux arm开发。对uboot,kernel,rootfs的理解云里雾里,感觉自己很懂了 其…...

基于Springboot+Vue的公寓管理系统(含源码+数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 该系统…...

多功能声学气膜馆:承载梦想与希望的舞台—轻空间

在9月29日上午,苏州大学应用技术学院的2024级新生开学典礼暨开学第一课在轻空间建造的多功能声学气膜馆内盛大举行。这一盛典不仅见证了2849名新生的入学,也展示了气膜馆的独特魅力与优越功能。 卓越的声学表现 声学气膜馆采用高性能材料,确保…...

【线程】线程池

线程池通过一个线程安全的阻塞任务队列加上一个或一个以上的线程实现,线程池中的线程可以从阻塞队列中获取任务进行任务处理,当线程都处于繁忙状态时可以将任务加入阻塞队列中,等到其它的线程空闲后进行处理。 线程池作用: 1.降…...

输出 / 目录下所有目录文件的大小并排序

使用 du -sh /* 输出 / 目录下所有的目录总大小,看下效果: [rootlocalhost ~]# du -sh /* 0 /bin 110M /boot 0 /dev 32M /etc 12K /home 0 /lib 0 /lib64 0 /media 0 /mnt 0 /opt du: cannot access ‘/proc/2731/task/2731/fd/4’: No such file or …...

【hot100-java】【编辑距离】

多维dp篇 class Solution {public int minDistance(String word1, String word2) {char [] sword1.toCharArray();char [] tword2.toCharArray();int ns.length;int mt.length;int [][] fnew int[n1][m1];for (int j1;j<m;j){f[0][j]j;}for(int i0;i<n;i){f[i1][0]i1;for…...

随手记:牛回速归

上周-国庆前&#xff1a;牛回速归 国庆&#xff1a;小心被套住 国庆后&#xff1a;一片迷茫 总结&#xff1a;要是上周到国庆前的基本都能捞到&#xff0c;后面情况不好说 后续持续更新...

UI设计师面试整理-设计过程和方法论

在UI设计师面试中,清晰地阐述你的设计过程和方法论是至关重要的。这不仅可以展示你的专业技能和设计思维,也能让面试官看到你是如何解决实际设计问题的。以下是一个全面的UI设计过程和常用方法论的概述,你可以根据你的经验进行相应调整。 1. 设计过程 a. 研究与发现阶段(Re…...

ACM 纳新每日一题 4329: 三进制

首先我们要学习的是数制转化 这里我找了一篇博客https://blog.csdn.net/weixin_53564801/article/details/123665194 一定要注意0需要单独特判一下&#xff0c;这个点尤其重要 然后关于这道题可以使用递归来实现&#xff0c;如下&#xff1a; 递归的代码比较简洁&#xff0c;但…...

WebGIS包括哪些技术栈?怎么学习?

WebGIS&#xff0c;其实是利用Web开发技术结合地理信息系统&#xff08;GIS&#xff09;的产物&#xff0c;它是一种通过Internet实现GIS交互操作和服务的最佳途径。 WebGIS通过图形化界面直观地呈现地理信息和特定数据&#xff0c;具有可扩展性和跨平台性。 它提供交互性&am…...

无人机之集群控制及应用

一、无人机集群控制 无人机集群控制是指通过先进的通信、导航和控制算法&#xff0c;实现多架无人机之间的协同、协调和高效的任务执行。其关键技术包括&#xff1a; 通信技术&#xff1a;实现无人机之间的实时数据传输和共享&#xff0c;确保集群控制的准确性和稳定性。 路径…...

AV1 Bitstream Decoding Process Specification--[9]:语法结构语义-5

原文地址&#xff1a;https://aomediacodec.github.io/av1-spec/av1-spec.pdf 没有梯子的下载地址&#xff1a;AV1 Bitstream & Decoding Process Specification摘要&#xff1a;这份文档定义了开放媒体联盟&#xff08;Alliance for Open Media&#xff09;AV1视频编解码…...

APISIX 联动雷池 WAF 实现 Web 安全防护

Apache APISIX 是一个动态、实时、高性能的云原生 API 网关&#xff0c;提供了负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。 雷池是由长亭科技开发的 WAF 系统&#xff0c;提供对 HTTP 请求的安全请求&#xff0c;提供完整的 API 管理和…...

音频剪辑还能在线做?以前的我真是OUT了,效果秒杀专业软件

以前&#xff0c;剪辑音频都得靠那些专业的音频师&#xff0c;用很贵的设备和复杂的软件才行。不过&#xff0c;现在有了互联网和云计算&#xff0c;在线音频剪辑变得简单多了。只要你有台能上网的电脑或者手机&#xff0c;就能轻松做出很棒的音频。这个变化让更多人都能玩音频…...

Library介绍(三)

环境描述 工作条件 一般lib文件里面包含了芯片的工作条件即operation conditions&#xff0c;其指定了工艺&#xff08;process&#xff09;、温度&#xff08;temperature&#xff09;和电压&#xff08;voltage&#xff09;&#xff0c;见图1。 其中&#xff0c;process代表了…...

VMware搭建DVWA靶场

目录 1.安装phpstudy 2.搭建DVWA 本次搭建基于VMware16的win7系统 1.安装phpstudy 下载windows版本&#xff1a;小皮面板-好用、安全、稳定的Linux服务器面板&#xff01; 安装后先开启mysql再开启apache&#xff0c;遇到mysql启动不了的情况&#xff0c;最后重装了phpstud…...

使用 Llama-index 实现的 Agentic RAG-Router Query Engine

前言 你是否也厌倦了我在博文中经常提到的老式 RAG(Retrieval Augmented Generation | 检索增强生成) 系统&#xff1f;反正我是对此感到厌倦了。但我们可以做一些有趣的事情&#xff0c;让它更上一层楼。接下来就跟我一起将 agents 概念引入传统的 RAG 工作流&#xff0c;重新…...

一行命令将Cmder添加到系统右键菜单中----配置环境

第一步&#xff0c;去官网下载一个简版的文件 ** 第二步&#xff0c;将下载的文件解压后如图&#xff0c;找到Cmder.exe右键以管理员身份运行 第三步&#xff0c;在窗口输入cmder /register all然后回车 第四步&#xff0c;OK!不管在哪里都可以使用了&#xff0c;直接右键即可...

【系统架构设计师】专题:基于构件的软件工程考点

更多内容请见: 备考系统架构设计师-核心总结目录 文章目录 一、构件概述二、构件模型三、CBSE的特征四、CBSE的过程五、构件组装一、构件概述 基于构件的软件工程(Component-Based Software Engineering,CBSE) 是一种基于分布对象技术、 强调通过可复用构件设计与构造软件系…...

目前最好用的爬虫软件是那个?

作为一名数据工程师&#xff0c;三天两头要采集数据&#xff0c;用过十几种爬虫软件&#xff0c;也用过Python爬虫库&#xff0c;还是建议新手使用现成的软件比较方便。 这里推荐3款不错的自动化爬虫工具&#xff0c;八爪鱼、亮数据、Web Scraper 1. 八爪鱼爬虫 八爪鱼爬虫是一…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...