background image

术人员用该

PDA 可当场进行土木概预算和其它土木计算,据说销路特好。我认识的某大学老师,

他开发的饭馆用的点菜

PDA(WinCE 平台,可无线连网和上网),据他说销路不错,饭馆点

PDA 让客户点菜,多显派头档次。我记得 00 级 2+2 班当年有一组同学在学 Windows 程序

设计课程时用

VC++设计了一个功能很强的点菜系统做为课程项目,当时真想建议他们将这个

软件做成

PDA,估计会有些销路。这些 PDA

的硬件设计一般都是请其它公司给订做(这叫 贴

牌 :

OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。

从事嵌入式软件开发的缺点是:

1  

) 入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统

级软件功底不深,则可能不适于此行。

2  

) 这方面的企业数量要远少于企业计算类企业。特别是从事嵌入式的小企业数量较多(小企

业要搞自己的产品创业),知名大公司较少(搞嵌入式的大公司主要有
Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半导体、Microtek、
研华、华为、中兴通信、上广电等制造类企业)。这些企业的习惯思维方式是到电子、通信等偏硬专
业找人。

3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并

无此要求,只要有经验即可。

若学习嵌入式,显然应偏重于嵌入式软件,特别是嵌入式操作系统方面。对于搞嵌入式软件的人
最重要的技术显然是(实际上很多公司的招聘广告上就是这样写的):

1  

) 掌握主流嵌入式微处理器的结构与原理

2  

 

) 必须掌握一个嵌入式操作系统

3  

) 必须熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目。

嵌入式软件方面最重要的课程包括:

1  

) 嵌入式微处理器结构与应用:这是一门嵌入式硬件基础课程,用这门课取代了传统的 微

机原理与接口 课程(目前国内已有少部分高校

IT 专业这样做了,因为讲 x86 微机原理与接口

很难找到实际用处,只为教学而已)。我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的
人应对

ARM 处理器工作原理和接口技术有充分了解,包括 ARM 的汇编指令系统。若不了解处

理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的最优代码(嵌入式软件设
计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?很多公司招
聘嵌入式软件人员时都要求熟悉

ARM 处理器,将来若同学到公司中从事嵌入式软件开发,公

 

司都会给你一本该设备的硬件规格说明书

(xxx Specification),您必须能看懂其中的内存分

布和端口使用等最基本的说明(就像

x86 汇编一样),否则怎么设计软件。有些同学觉得嵌入

式处理器课程较枯燥,这主要是硬件课程都较抽象的原因,等我们的嵌入式实验室

10 月份建

好后,您做了一些实验后就会觉得看得见摸得着。还有同学对

ARM 汇编不感兴趣,以为嵌入式

开发用

C 语言就足够了。其实不应仅是将汇编语言当成一个程序设计语言,学汇编主要是为了

掌握处理器工作原理的。一个不熟悉汇编语言的人,怎么能在该处理器写出最优的

C 语言代码。

在嵌入式开发的一些关键部分,有时还必须写汇编,如

Bootloader 等(可能还包括 BSP)。特

别是在对速度有极高要求的场合(如

DSP 处理器的高速图像采集和图像解压缩),目前主要还

要靠汇编写程序(我看到过很多公司是这样做的)。当您在一个嵌入式公司工作时,在查看描述
原理的手册时,可能很多都是用汇编描述的(我就遇到过),这是因为很多硬件设计人员只会
写或者喜欢用汇编描述,此时您就必须看懂汇编程序,否则软硬件人员可能就无法交流。很多嵌
入式职位招聘时都要求熟悉汇编。