当下为热门的行业领域无非是嵌入式领域,想成为嵌入式工程师就必须了解相关的知识和经验,以下所讲内容是从技术和就业两方面经验角度来阐述的,希望所讲内容对大家有一定的帮助。
第一、工程师眼中的嵌入式系统,主要从三方面来理解。
1.从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片 要靠外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现。
2.从软件上,从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”。
3.把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。
第二、目标与定位,有目标之后,再去定位。
学ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。从软件上讲,就是要学习基于ARM处理器的操作系统层面的驱动和移植了。
对于初学者来讲,必须要把握好自己的方向,确定自己的目标是什么,明确自己想要往哪个层面上走,然后再着手学习会比较好,当然与ARM相关的嵌入式系统中的硬件层和驱动曾两个层面较为实际,不管你学好了哪一层,都会大有前途。
当然如果想从嵌入式系统的应用层面走的话,可能会有ARM及其他体系内容相关性较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链。
对于初学者来讲,还是要量力而行,要结合自身特点,不能被一些外部因素所干扰,对于纯技术工作者,还是要看从业者自己的兴趣,各种技术难关还要靠自己不断钻研和学习。
第三,要选择合适的开发系统
很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与 ARM7好, 我想对于初学者在此方面以此入门还应该理智,开发系统的选择终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计 与板级测试。如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难。
第四、成为高级嵌入式系统硬件工程师具备的技能
想成为一个优秀的工程师,需要对系统整体性的把握和对已有电路的理解,换句话说,给你一套电路图你终究能看明白多少,看不明白80%以上的话,说明你离优秀的工程师还差得远。其次是电路的调试能力和审图能力,但基本的能力还是原理图设计、PCB绘制、逻辑设计这块。硬件工程师再往上就是板级测试工程师,就是C语功底很好的硬件工程师,在电路板调试过程中能通过自已编写的测试程序对硬件功能进行验证,然后再交给基于操作系统级的驱动开发人员。