百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

2024年嵌入式开发就业前景怎么样?

csdh11 2025-04-06 15:06 4 浏览

这几年嵌入式开发的发展前景可以说是非常的香!从工资和找工作的难易程度上说都是!

按老师傅的说法就是:“加班不严重,注重积累,越往底层越有趣,没有35岁被炒的说法,但是要沉得住,要真的对底层技术感兴趣,我工作三年半,现在找到的新工作27k算上公积金。”

原因:


①相对来说门槛比较高。


②人才需求量还是挺大的,像物联网网应用的普及、5G的普及等,都会增加嵌入式开发岗位的需求。嵌入式就业范围很广,有嵌入式linux c/c++开发,驱动开发,单片机应用开发,FPGA,DSP,各种工控相关开发等。


如果面向就业去学习,建议学应用层相关的嵌入式知识,比如嵌入式linux软件开发相关的。


因为应用层的工作更多,薪资相对较高,主要面向业务开发。而单片机开发,驱动开发,会涉及到一些硬件交互,与芯片绑定度更高,相对来说就业面窄一些,不过能够学习底层知识,学好了不可替代性强。


我整理了一些嵌入式、物联网开发的面经+笔试面试题和一些项目教程,想要的可以四信我。


基础


1. linux基本操作:


需要掌握的知识如下:


环境的搭建;


Linux目录结构;


文件类型;


基本目录操作,文件操作,vim,ifconfig,ping,cd,cp,mv,mkdir等,最关键是gcc命令要会用;


一些简单的shell脚本;


Makefile的编写。


2. c语言:


不会写代码,就建议不要学Linux,否则职业后期全是瓶颈。那些和你说学Linux不需要懂编程的都是再耍LM。


学习C语言一定要学习Linux下C编程,


3. 数据结构:


数据结构很重要,但是在这个上面花太多时间,也是没必要的。个人建议只要掌握几个基本的排序和查找算法即可,没必要把所有算法都研究一遍。


能掌握常见的算法比如:冒泡排序、直接插入排序、快速排序、二叉树等。


链表操作,创建、增删改查。


4. 基础阶段项目


基础阶段,个人强烈建议一定要做一个综合性项目,从0开始写。


用链表实现一个简单的《电话本管理软件》,包括增、删、改、查、排序等操作,把所有的知识点融会贯通起来。


进阶-Linux编程


1. 文件IO


掌握posix的一套api,open、read、write、lseek,close等。


熟练写出文件拷贝的功能模块输出。


理解缓冲的概念。


2. 进程线程


掌握常用的函数fork、exec族函数、pthread 等api;


进程创建、回收,一个.c源文件变成可执行程序的过程;


crontab、at命令;


进程间通信:信号量、消息队列、共享内存、管道、信号;


线程创建,同步互斥,互斥锁;


守护进程;


库的概念,什么是动态库和静态库,如何自己制作动态库和静态库。


3. 网络编程


TCP/IP协议分层以及每一层的功能;不要看OSI,只要知道即可;


socket api的使用,tcp、udp;


套接字属性的设置;


C/S架构;


多进程、多线程服务器模型;


抓包工具使用;


常见的网络协议分析:ping、 tftp、 ftp 等;


进阶阶段知识点很重要,即使以后你不做linux c开发,有了这些基础,你再去学java、c++你的视野一定会不一样。


4. 进阶项目


该阶段可以选择综合项目《多线程聊天室》,实现公聊、私聊、注册登录,互相发送文件等功能。


5. 高阶


该阶段学习需要开发板配合,建议新手先把之前内容打扎实,再进入这个阶段学习。


开发板的选择,最重要的是资料!


1. ARM


arm架构、arm的模式、arm指令,寻址,异常,中断,异常向量表,


伪指令、C语言和汇编代码的互相调用、内联汇编;


常见的外设的裸机驱动开发,led、key、adc、pwm、rtc、看门狗、i2c、spi等


这个阶段的内容,对于了解整个计算机软件的工作原理非常重要,Linux内核的很多机制都要依赖汇编指令,尤其ARM工作模式、寻址、异常,中断,异常向量表这些概念。


2. 系统移植


uboot移植、rootfs制作、内核剪裁移植,


usb、网卡驱动移植,


uboot、linux启动流程,


自己添加uboot命令


这一阶段的内容对于嵌入式工程师来说,在做实际项目的时候,会经常用到,各个厂家的移植步骤会有所差异,但原理基本相同,熟练掌握这些操作,非常必要。


3. Linux驱动


字符设备架构、inode、cdev、file_operations、file之间关系;


platform总线、设备树;


同步互斥机制,自旋锁、信号量、互斥体,原子操作;


中断、中断底半部;


等待队列,poll的实现;


常见设备的驱动的编写,key,led,gpio,adc、pwm、i2c、mpu6050;


网络设备:网卡驱动分析、netfilter使用;


usb架构。


驱动的学习,主要在于多捋架构,多了解计算机的实现原理,每天抱着内核看,像泡女人一样泡她,迟早你会成为大师。


终极


我想如果能学到这个份上,后面如何发展,已经不需要多费唇舌了,可以继续学习安卓、QT,也可以深挖物联网、算法,或者钻研linux内核优化内核等,每个领域独当一面,收入都不会低。

不知道人工智能如何学习?不知道单片机如何运作?不知道嵌入式究竟是何方神圣?搞不清楚什么是物联网?遇到问题无人可问?来我的绿泡泡交流群吧!里面有丰富的人工智能资料,帮助你自主学习人工智能相关内容,不论是基础的Python教程、OpenCV教程以及机器学习等,都可以在群中找到;单片机毕设项目、单片机从入门到高阶的详细解读、单片机的一系列资料也备好放入群中!关于嵌入式,我这里不仅仅有嵌入式相关书籍的电子版本,更是有丰富的嵌入式学习资料,100G stm32综合项目实战提升包,70G 全网最全嵌入式&物联网资料包,嵌入式面试、笔试的资料,物联网操作系统FreeRTOS课件源码!群内高手云集,各位大佬能够为您排忧解难,让您在学习的过程中如虎添翼!扫码进群即可拥有这一切!还在等什么?赶快拿起手机,加入群聊吧!二维码详情


相关推荐

SpringBoot中Tomcat和SpringMVC整合源码分析

原文地址:https://www.cnblogs.com/yuanbeier/p/16515791.html侵权联系删除...

SpringMVC访问静态资源(springboot访问静态资源)

有些时候我们在使用SpringMVC的时候造成无法访问静态资源文件(如:html,js,css,image等等)。其主要的原因出在web.xml文件我们设置SpringMVC前端控制器的映射路径...

带你深入理解javaweb之Servlet详解

Servlet详解...

JavaEE概述总结:Servlet生命周期+JSP内置对象

前言Servlet生命周期...

JavaWeb 过滤器 Filter 学习(java web过滤器作用是啥)

01什么是过滤器FilterServletAPI中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter。通过Filter技术...

一文弄懂Jasper引擎编译JSP文件的分析说明

...

全网最全Spring面试题之高级篇整理总结(共25题,附超详细解答)

1、什么是Spring框架?Spring框架有哪些主要模块?Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发...

从 0 到 1:如何使用 eBPF 实现高效的内核安全监控?

eBPF(ExtendedBerkeleyPacketFilter)不仅能用于网络监控,还可以用于内核安全监控。本篇文章将介绍如何使用eBPF捕获系统调用,检测异常行为,并记录潜在的安全威胁...

2023最新ELK日志平台(elasticsearch+logstash+kibana)搭建

前言去年公司由于不断发展,内部自研系统越来越多,所以后来搭建了一个日志收集平台,并将日志收集功能以二方包形式引入自研系统,避免每个自研系统都要建立一套自己的日志模块,节约了开发时间,管理起来也更加容易...

Spring Boot 分布式系统中的日志打印设计:实战指南

在分布式系统中,日志是排查问题、监控系统状态和进行事后分析的“生命线”。然而,随着微服务架构的普及,日志的管理和检索变得愈发复杂。尤其是在生产环境中,当问题发生时,如何快速定位相关日志成为了一个关键挑...

ELK 教程 - 发现、分析和可视化你的数据

【注】本文译自:ELKStackTutorial-GettingStartedWithELKStack|Edureka...

Spring Cloud + ELK 统一日志系统搭建

ELK统一日志系统搭建...

ELK架构部署以及应用(elk集群架构)

一、ELK介绍ELK代表的是Elasticsearch,Logstash,KibanaElasticsearch:日志存储、搜索分析功能...

ELK踩坑记(elk siem)

#ELK#ElasticSearch#Kibana...

ELK超详细配置(elk7.12)

...