术人员用该
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 处理器的高速图像采集和图像解压缩),目前主要还
要靠汇编写程序(我看到过很多公司是这样做的)。当您在一个嵌入式公司工作时,在查看描述
原理的手册时,可能很多都是用汇编描述的(我就遇到过),这是因为很多硬件设计人员只会
写或者喜欢用汇编描述,此时您就必须看懂汇编程序,否则软硬件人员可能就无法交流。很多嵌
入式职位招聘时都要求熟悉汇编。