什么样的人适合学习嵌入式?
随着嵌入式的发展,越来越多的人想要进入嵌入式这个行业里来。但是学习嵌入式并不是那么简单的,在学习嵌入式Linux之前,肯定要有C语言基础。。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。
嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。
一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。
另一类是学软件、参加嵌入式培训以及计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果这类人对硬件原理和接口有较好的掌握,也完全可以写BSP和硬件驱动程序。
嵌入式领域较新,发展非常快,很多软硬件技术出现的时间都不太长(如ARM处理器、嵌入式操作系统、LINUX操作系统),大多数人没有条件接触或进入嵌入式行业,更谈不上能有机会接受专业人士的指导。
因此,踏进这个行业的难度比较大,嵌入式人才稀缺,身价自然也水涨船高。
二、了解嵌入式工程师
1、薪资
权威部门统计,我国嵌入式人才缺口每年50万人左右。根据前程无忧网发布的调查报告,嵌入式软件开发是未来几年最热门和最受欢迎的职业之一,具有10年工作经验的高级嵌入式工程师年薪在30万元左右。即使是初级的嵌入式软件开发人员,平均月薪也达到了3000—5000元,中高级的嵌入式工程师月薪平均超过10000元。
2、语言
做软件实际上有高下之分,开发语言从机器语言、汇编到C、C++,再到红透半边天的Java、C#等,该学哪种呢?为什么有些开发者工资低,而有些开发者千金难求?为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要10k的薪水?
3、门槛
还是门槛,比如月薪15k的Linux嵌入式开发职位,门槛就有 Linux系统、Shell编程、Linux开发环境、C语言、ARM硬件平台、数据结构、Linux内核、驱动程序等,粗略数数就有8道关口,他需要非常熟悉整个的计算机体系,能做出实际的产品,而Java的开发者却仅仅是会使用名叫Java的语言工具,始终高高飘在众多层次之上,开发项目非常快,甚至可以不知道OSI模型,很可能自始至终都是软件蓝领。
4、岗位
嵌入式开发本身也有高下之分,至少包含嵌入式应用程序工程师和底层的驱动内核工程师两种。前者同样是使用现成工具进行简单劳动,比如使用J2ME开发小游戏或者进行一些界面开发,而后者是根据芯片具体情况把操作系统(如Linux)移植到上面,同时编写必要的驱动程序,改写相应的内核代码。很显然后者是一个公司真正的技术核心。而技术核心的工资很可能是其他开发者的数倍。
5、知识体系
嵌入式开发突出强制和项目,学习不仅仅是学习几项技术,而是构建你的知识体系。比如学习嵌入式开发,就要从基础Linux,C语言,数据结构开始,到ARM,汇编,Linux内核、驱动等,更重要的是更多的项目练习,设计至少5个项目,多达10000行强制核心代码的编写可以让你真正获得知识,为进入名企做准备。
嵌入式学习难么:嵌入式的学习并不像想象的那么难,主要是因为有硬件开发板,一般人敬而远之,其实对于理工科的本科毕业生(如自动化、电子、信息等专业),懂一定的C语言知识,是否懂硬件其实关系不大,这样的条件就可以学习嵌入式了,现在,嵌入式的人才很多,都是半路出家,由其他的行业转行过来,由于没有系统掌握嵌入式的相关知识,对于这部分人,企业其实是不满意的,只是现在没有大量的人才供他们挑选。如果还没有找到合适的,建议可以多关注下创客学院,有什么不懂的问题可以随时咨询。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python_(1)数据类型及其常见使用方法(图文)
python学习笔记 一. 变量类型及其常见函数用法:数值型(int float complex) 字符串 (str) 列表 (list)元组 (tuple) 字典(dict) (1)数值 import math a=20;b=3.2; a**3; #结果为20*20*20《=》math.pow(20,3) print(a**3); print(round(100/3,3)); #小数点后面保留3位有效数字(保证输出格式) print(math.ceil(3.32)); #向上取整 print(math.floor(3.32)); #向下取整 print(math.radians(180)); #度数转换成弧度制 divmod(10); #取商和余数 结果:8000 33.333 4 3 3.1415926 (3,1) (2)字符串 str="abc";str1="def"; print(a+b); #字符串拼接 print(a*3); #字符串乘法 结果:abcdef abcabcabc (3)元组 (元组只要确定就不能修改 增加 删除任何元素) zoo=('wolf','dog',...
- 下一篇
JAVA 通关秘籍
本文GITHUB地址 请到本人GITHUT上查看最新版本,简书不定时更新interview-resources-zhCN interview-resources-zhCN 以开头表示推荐优先阅读 以【原】开头为本人原创,大部分是整理的思维导图,方便记忆 最近在啃书,博客啃的少,更新会比较慢 JAVA综合 【原】从《阿里巴巴Java开发手册》看Java中的坑 浅析若干Java序列化工具 JDK7与JDK8中HashMap的实现 Java 7之基础 - 强引用、弱引用、软引用、虚引用 JDK各个版本的新特性jdk1.5-jdk8 Java Collections Framework Internals NavigableMap与NavigableSet Java提高篇——equals()与hashCode()方法详解 深入理解Java枚举类型(enum) 深入理解Java注解类型(@Annotation) Comparable与Comparator浅析 1.Java对象的序列化与反序列化 2.你真的以为你了解Java的序列化了吗? 扫码登录是如何实现的? 使用jstack找出消耗CPU最多...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果