一,嵌入式的前景
嵌入式领域较新,目前发展非常快,很多软硬件技术出现的时间都不太长(如ARM处理器、嵌入式操作系统、LINUX操作系统),大多数人没有条件接触或进入嵌入式行业,更谈不上能有机会接受专业人士的指导。因此,踏进这个行业的难度比较大,嵌入式人才稀缺,身价自然也水涨船高。
嵌入式开发的发展方向有很多,门槛高低不一样。下面主要介绍四大职业发展方向:
1. ARM + Linux/Android开发
据统计,全世界99%的智能手机和平板电脑都采用ARM架构。所有的iPhone和iPad都使用ARM的芯片,多数Kindle电子阅读器和 Android设备也都采用这一架构。大部分网络/电信制造商正积极地将其下一代平台迁移到ARM平台上来,有理由相信在今后的几年中,ARM在行业中将扮演一个极为重要的角色。
嵌入式系统是软硬结合的东西,搞ARM开发的人主要分为两大类。
2、嵌入式软件开发工程师
(1) 应用程序开发,包括Android应用开发或者Linux上应用开发(QT等),目前做的人很多,就业容易待遇也不错,需要掌握C语言、C++、java等开发语言。
(2) 操作系统移植,比较复杂,Linux,Android等,现在很多手机厂商(如小米,魅族,乐视等)推出的操作系统也就是修改内核,换皮肤,就业还是很容易的;
(3) 底层驱动开发,这个入门、深入都不容易,需要对硬件及OS有较深的了解,发展前景很不错。
3、嵌入式硬件开发工程师
(1)就像手机一样在处理器上做整体的电路,比单片机入门难得多,做成技术大牛了不缺钱。
(2)SOC,架构开发。称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。
4、FPGA开发
FPGA(现场可编程逻辑器件)产品的应用领域非常广泛,包括通信、消费电子、汽车电子、工业控制、测试测量等。而应用的变化也使FPGA产品近几年的演进趋势越来越明显:一方面,FPGA供应商致力于采用当前最先进的工艺来提升产品的性能,降低产品的成本;另一方面,越来越多的通用IP(知识产权)或客户定制IP被引入FPGA中,以满足客户产品快速上市的要求。
FPGA的开发相对于传统PC、单片机的开发有很大不同。FPGA以并行运算为主,以硬件描述语言来实现;相比于PC或单片机(无论是冯诺依曼结构还是哈佛结构)的顺序操作有很大区别,也造成了FPGA开发入门较难。
嵌入式工程师待遇
部门统计,我国嵌入式人才缺口每年50万人左右。根据前程无忧网发布的调查报告,嵌入式软件开发是未来几年热门门和最受欢迎的职业之一,嵌入式从业者薪酬比其他IT业同行大约高出50%,一般一线城市会比其他地方高不少。
具有10年工作经验的高级嵌入式工程师年薪在30万元左右。即使是初级的嵌入式软件开发人员,平均月薪也达到了3000—5000元,中高级的嵌入式工程师月薪平均超过10000元。高级嵌入式工程师待遇在20000元以上。尽管待遇可观,可是相关企业还是很难招到合适的员工。看这些文字可能大家有点晕,下面直接上图给大家更直观的感受下。
嵌入式工程师全国平均薪资
高薪资自然会吸引众多人学习。但是要想成为嵌入式工程师,不仅要基础知识扎实,工作经验也要丰富,技术能力也要优秀。
建议做嵌入式开发吗?
作为工作近十年的嵌入式工程师而言,如果需要买房结婚,家里没矿。那么,建议别搞嵌入式,嵌入式真心待遇不行,真的待遇不行。别看什么所谓大牛啥的,互联网软件金融算法之类开发,如果你做到那个层次,薪水是同等嵌入式的一倍或者几倍,另外,有几个做到那个层次的?还有就是,现在芯片公司把驱动甚至底层封装的越来越好了,比如海思的,厂家只需要把demo板裁剪裁剪,然后应用玩出花就好了,这样子和嵌入式已经关系不大了。最后,现在,嵌入式应用,尤其出名c的开发机会,已经被qt,c++挤占了很多。总而言之,嵌入式,尤其纯c的,薪水,工作机会越来越少,和差了。
哪怎么打破这些困扰呢?
接下来听我一一道来。
主要从
- 操作系统原理专题
- 进程管理专题
- 内存管理专题
- 网络协议栈专题
- 设备驱动专题
- 内核组件专题
- 文件系统专题
- 内核项目实战专题
- 等等。。。
全方面系统全面的讲解底层原理开发技术:
操作系统原理/汇编专题
进程管理专题
内存管理专题
网络协议栈专题
设备驱动专题
内核组件专题
文件系统专题
内核项目实战专题
由于篇幅有限,这里以图片的形式给大家展示一部分。相信它会给大家带来很多收获的,可以进【 865977150】群领取或者系统课程学习咨询QQ微信【 2207032995】,备注一下(玩转Linux内核)
适合于
- Linux 内核优化、内存管理 ,内核开发岗位、定制化自己OS
- 深入系统内核研究、网络安全逆向分析
- 提升自己能力,为了更好做应用层开发提供核心依据
- 跳槽面试大厂(腾讯、华为、中兴、中微、中芯等等)
- 从事业务开发多年,对底层原理理解不够深入的在职工程师
- 从事嵌入式方向开发,想转入内核开发的在职工程师
- 从事Qt/MFC等桌面开发的,薪资多年涨幅不大的在职工程师
- 从事非开发岗位(算法岗,运维岗,测试岗),想转内核开发岗位的在职工程师