嵌入式要卷成下一个Java了吗?

news/2024/12/5 9:42:18/

不会!

说不会也是有自己的原因的

前几天写了一篇 Linux 和单片机的文章

不做Linux就没前途吗?

单片机容易,门槛低,无非不就是单片机技术知识点比较少,特别是面向过程式的编程也更容易掌握。嵌入式 Linux 是多任务式的,多任务之后就引申了更多的东西出来,技术更复杂,既然更复杂的技术,那就可以解决更复杂的业务需求。

所以的业务需求都是向前的,也是被市场引领的,10 年前的中华酷联,10 年前的塞班手机,还有大街小巷的捷达。再近一点,深圳原来很多烧油的的士,现在都变成了电动汽车。

时代改变,业务改变,技术当然也需要改变。

那些难以设计的GUI,游戏体验,屏幕大小,续航,都需要被淘汰改变。

还有那些不及时回复的原厂技术支持,也会慢慢被取缔,这也是市场带动的,以前外企的芯片有自己的护城河,如果这些护城河阻碍了我们科技现代化的发现,就会被国产化替代。

这些,都需要嵌入式。


嵌入式说起来很容易,今天在我的技术群里面,一个前辈就说Linux 设备驱动很容易,Linux 内核模块也很容易,Linux 内核也很容易,还有那个调试了几周都调不出来的 codec 驱动也是很容易的。

所以,嵌入式又容易,工作机会又多,工作写代码又少。

简直是符合了很多人严重的,钱多事少二个基本要素。

bc3247c1e2aaef317fb45b6b674d2883.jpeg

说到这里,可能很多人就觉得,嵌入式无非不就是这样吗,那自己是不是也可以跳槽到嵌入式行业领拿高薪?

但是实际情况是,我们拿一个 camera 驱动来说,你想要调试 camera 驱动,你首先要把SDK 给搞明白吧,你需要对 camera 的硬件原理图搞清楚吧,camera 需要几路电压,你是不是也要知道软件代码位置,camera 还还有一个电机马达驱动,你是不是也要调试这个,camera 肯定涉及到i2c的初始化对吧,那你是不是也要对i2c驱动要懂,要知道怎么调试i2c驱动,camera 需要调试效果,白平衡,曝光,伽马曲线等等,你是不是也要懂。

那涉及应用层,你是不是需要把 v4l2 驱动架构搞清楚,知道怎么去调用它的接口出图。

好了,这些其实也不算太难,如果你知道了这些东西,面试的时候给面试官随便吹吹,面试官可能也就觉得你做过 camera 了,然后就让你去搞了。

那实际的情况是什么,实际的情况是,你遇到一个硬件设备,你要把模组的图像给显示出来,你无从下手,你需要找sdk,搭建各种环境,可能你的代码跑得都正常了,但是就是没有数据出来,你能怎么办?

搞嵌入式软件,有两个部分很关键,一个是测量,一个是看日志,测量可以知道你的硬件是否正常,看日志可以知道你的软件执行是否正常。但是就这两项技能,很多人都是要好几年才领悟到的。

毕竟,对于软件来说,遇到问题第一时间就是群里问,网上百度,经验丰富一些的就知道去找规格书,找原厂,协调fae,一些比较健谈的呢,就开始拉会,找硬件,找项目经理,找采购。

直到后来发现,解决再难的 bug 也不足以让自己加薪后,也就没有再去挑战的动力了。

而这些,我不知道搞 java 的会不会同样遇到,但是对于做嵌入式来说,这些真的是家常便便。

总结来说,嵌入式难就难在各个硬件平台的porting,调试。

ca8a09824045a7c94f9321be6e4e318d.jpeg


http://www.ppmy.cn/news/1032080.html

相关文章

构建 LVS-DR 群集、配置nginx负载均衡。

目录 一、基于 CentOS 7 构建 LVS-DR 群集 1、准备四台虚拟机 2、配置负载调度器(192.168.2.130) 3、部署共享存储(192.168.2.133) 4、配置两个Web服务器(192.168.2.131、192.168.2.132) 测试集群 二…

适用于物联网 (IoT)的远距离、低功耗、低速率WiFi—Wi-Fi HaLow

1. Wi-Fi 简介 Wi-Fi(Wireless Fidelity)是目前较为常见的无线通信方式,承载着一半以上的互联网流量。Wi-Fi是一个总称,涵盖了802.11通信协议系列,由Wi-Fi联盟持有并推动其发展。802.11通信协议发展至今已逾二十年&am…

【新品发布】ChatWork企业知识库系统源码

系统简介 基于前后端分离架构以及Vue3、uni-app、ThinkPHP6.x、PostgreSQL、pgvector技术栈开发,包含PC端、H5端。 ChatWork支持问答式和文档式知识库,能够导入txt、doc、docx、pdf、md等多种格式文档。 导入数据完成向量化训练后,用户提问…

使用PHP实现实时聊天功能的匿名聊天与加密传输

使用PHP实现实时聊天功能的匿名聊天与加密传输 随着互联网的发展,人与人之间的交流方式也发生了天翻地覆的变化。其中,实时聊天功能成为了一种越来越受欢迎的交流方式。对于很多网站来说,提供匿名聊天功能能够吸引更多的用户参与&#xff0c…

在vue中使用swiper轮播图(搭配watch和$nextTick())

在组件中使用轮播图展示图片信息: 1.下载swiper,5版本为稳定版本 cnpm install swiper5 2.在组件中引入swiper包和对应样式,若多组件使用swiper,可以把swiper引入到main.js入口文件中: import swiper/css/swiper.css //引入swipe…

zabbix案例--zabbix监控Tomcat

目录 一、 部署tomcat 二、配置zabbix-java-gateway 三、配置zabbix-server 四、配置zabbix-web界面 一、 部署tomcat tar xf apache-tomcat-8.5.16.tar.gz -C /usr/local/ ln -sv /usr/local/apache-tomcat-8.5.16/ /usr/local/tomcat cd /usr/local/tomcat/bin开启JMX…

互联网发展历程:从中继器口不够到集线器的引入

互联网的发展,就像一场不断演进的技术盛宴,每一步的变革都在推动着我们的世界向前。然而,在网络的早期,一项重要的技术问题曾困扰着人们:当中继器的接口数量不足时,如何连接更多的设备?这时&…

springboot使用configtree读取树形文件目录中的配置

文章目录 一、介绍二、演示环境三、项目演示1. 配置文件2. 导入配置3. 检测配置属性 四、应用场景五、源码解析1. ConfigTreeConfigDataLocationResolver2. ConfigTreeConfigDataLoader 六、总结 一、介绍 相信绝大多数使用springboot开发项目的朋友们在添加配置时&#xff0c…