最新回复
嵌入式软件的开发与普通软件的开发没有什么本质区别,需求分析,设计,编码和测试工作与桌面应用和服务器应用都一样.只不过因为嵌入式设备具有的如下两个特点,第一:嵌入式应用对硬件依赖很强,第二:开发环境与运行环境不同,第三:嵌入式设备往往有资源限制. 基于以上三个特点,所以在开发嵌入式应用时存在一个从模拟的运行环境到实际运行环境的移植环节,往往一个应用要移植到多个硬件平台,各硬件平台有时差异也很大,比如寄存器的定义,指令集等,在移植过程中会出现这样那样的问题,很多的问题需要经验才能快速解决.同时由于嵌入式设备的资源限制(包括计算能力,存储能力,电源供应能力等),所以在开发嵌入式软件时要考虑时间效率,空间效率,甚至能耗,所以对数据结构的选择和算法效率要求都比较高,因为现在很多的好的设计思路是空间换时间(当然也基于开发语言本身对设计的支持程度,显然越高级的语言对好的设计的支持越简单和方便),所以在嵌入式开发中往往不采用我们常见的设计模式.
以上所说是针对非操作系统之上的应用开发或基于象BREW/J2ME/ARENA等中间件的开发.
如果是基于操作系统(常见的Symbian/Linux/Windows Mobile)的开发(驱动除外),对硬件的依赖较小,但需要对所依赖的操作系统比较熟悉,对该操作系统之上的SDK(有些提供了IDE)要很熟悉.而象J2ME/BREW/ARENA这样的中间件则把抽象层次有提高了一层,让我们更多的关于于应用本身.当然,还要考虑应用运行过程中对来电/短信等事件的处理.
详情
回复
发表于 2007-9-27 19:58
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
EEWorld Datasheet 技术支持