成都嵌入式培训:要玩转嵌入式,你还必须得懂这些
在ARM大红大紫以后,嵌入式引起了更多的学生和初级工程师们的关注,但是你真的知道该怎么入行嵌入式了吗?入行后又该怎么玩转嵌入式?今天,就让达妹来教你玩转嵌入式吧!
嵌入式从业者可以怎么划分?
可以把嵌入式工程师分成bsp相关和业务相关。
bsp做的好的需要懂处理器或者各类业务芯片的微构架,知道怎么去优化性能,负责解决各种疑难杂症。
bsp做好可以不用担心小康问题了,但业务领域的牛人,那前途才是光明,无论留在系统厂商,或者去芯片公司,都被当宝。收入那就不用多讲了,没事还可以被邀请去创个业啥的。
想掌握嵌入式,要涉及哪些方面呢?
嵌入式开发的门槛相对较高,对程序员的要求一般都是对底层感兴趣,学习能力、动手能力要强,对问题能够从全局和细节去把握,有很强的系统分析和设计能力,而硬件和软件的发展方向是不同的!
软件方面需要掌握的基本知识:
1、计算机组成/微机原理
主要是为了了解微型计算机的硬件工作原理,明白CPU、总线、I/O、存储器等一些关键结构是怎么工作的,虽然是很枯燥的知识,但是对熟悉外围设备硬件工作方式,及操作系统,软件架构的设计及优化相当关键。
2、操作系统
嵌入式产品应用比较广泛的是Linux和WinCE。但操作系统的内部设计原理都是殊途同归。首先要去学习的是操作系统原理,去了解进程通信、内存管理、文件系统等几个重要的部分,因为这些在软件开发尤其是内核驱动开发时会用到。接下来可以去熟悉至少一种主流的操作系统,Linux是一个很好的选择,去了解它的内核架构,设备驱动架构,如何去编译,裁剪,编写应用程序,以及如何使用在具体的嵌入式产品上。
3、数字电路
学习这方面的知识主要是了解一些基本的电路知识,如门电路、逻辑电路、存储器、寄存器,为了更好的理解嵌入式芯片,存储器,外围设备等硬件的设计,但往往在软件开发中未必能用的到。因为大部分硬件都提供了很完整的软件接口。
4、编程语言:C语言和汇编
对于C语言本身的基础来说,无非是把结构化,函数,数组,指针弄熟,但是嵌入式开发对C语言应用的要求会更高。汇编一般是和处理器的指令集相关的,可以更好的去理解处理器的工作原理,往往是用在一些需要效率的地方,如系统的初始化。
5、数据结构和算法
数据结构在嵌入式开发中也很重要,比如说操作系统里的很多实现都用到了具体的算法。基本的数据结构需要掌握,如各种链表,树,图等等;而算法的学习需要数学知识作为铺垫,用计算机语言去实现。
6、软件工程/软件测试/项目管理基础
这些是软件开发人员的必备知识。
7、开发平台
嵌入式的开发平台不局限于一种操作系统,因此要熟悉各种操作系统下的命令、编辑器及开发工具,这一点往往被很多人忽视。举个例子,Linux下的程序员开发环境往往是按自己的习惯搭建,熟练掌握一种编辑器如Vim/Emacs可以大幅度提高工作效率。磨刀不误砍柴工。
嵌入式领域的方向、行业范围有哪些
嵌入式领域的方向是很多的,它所应用到的行业范围也很广,这里只举几个例子:
1、内核,驱动及中间件
内核开发和驱动本身就是一个方向,驱动和硬件接口相关,而内核的修改和移植更是需要对OS有很深的理解。至于中间件,一般是基于OS或存在于OS和应用程序之间的库,最典型的就是基于Linux的Android。
2、通信协议
通信协议有很多种,经常用到的有网络通信协议,无线通信协议,串口/USB通信协议等等。
3、音视频技术
牵涉到音频视频处理,压缩,编解码等等。
4、信息安全
如加密技术,身份认证,数字证书等等。
5、行业知识
和具体行业或领域相关的知识,如通讯、工控、电子等等。
嵌入式学习步骤
1、基础知识中,计算机组成、操作系统、编程语言和数据结构是必需的。
2、找一种CPU体系,了解其核心架构,学习指令集,比如说ARM。
3、找一种OS,如Linux,或是传统RTOS,如Nucleus、eCos,读源码和文档,理解OS内部实现,包括进程,任务,消息机制,内存管理,设备驱动,中断等核心内容。
4、找一块成熟的开发板,板级资料要齐全,熟悉嵌入式软件开发流程。
5、在项目过程中深入学习其它的技术。
成都it培训哪家好,当然是成都达内培训,成都达内是一家专业的程序员培训机构,专注于网络营销课程,成都ui培训,成都软件测试培训,成都php培训,成都java培训,成都安卓培训,成都会计实操培训,web前端开发,成都it培训,成都编程培训,成都程序员培训等IT培训,专业的成都软件培训机构,专业师资授课,真实项目实战、零首付、低押金、名企就业,成都it培训机构
关注【成都达内】微信公众号,获取达内19大课程1元试学两周名额
(责任编辑:成都达内)