注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Seaeagle's Nest

谁也说不清,他为什么飞,他需要什么……

 
 
 

日志

 
 
关于我

The sun rises. An eagle files up towards the haven, and suddenly stopped, almost as if it's frozen in the blue sky. No one knows, why the eagle flies, what he needs...

网易考拉推荐

嵌入式系统应用程序开发需要关注的主要方面--读《现代嵌入式系统开发专案实务》有感  

2012-07-11 22:24:07|  分类: 技术文档 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        最近,拜读了《现代嵌入式系统开发专案实务》一书,颇有受益,总结嵌入式系统开发需要关注的主要方面。

管理方面:

(1)切实做好可行性分析,包括经济可行性和技术可行性。其中,经济可行性方面,要注意对成本的考量,包括硬件成本,以及开发不顺利延期的风险等等。

(2)做好大的格局的判断:哪方面自己做?哪方面外包出去做?这里,提两个方面的事例:

       事例一: 20世纪90年代,ARM公司的业绩平平,处理器的出货量徘徊不前。由于资金短缺,ARM做出了一个意义深远的决定:自己不制造芯片,只将芯片的设计方案授权(licensing)给其他公司,由它们来生产。正是这个模式,最终使得ARM芯片遍地开花,将封闭设计的Intel公司置于“人民战争”的汪洋大海。【1】

      事例二:有些嵌入式系统开发的工程师为系统留有“后门”,即输入特定的序列,将会显示其姓名。

      在此,我想说的是,敢于把适当的工作分工外包出去,可能能够带来丰厚的经济收益,这是由社会分工的经济效益所决定的。但同时,对于外包出去的部分,要做好控制管理。事例二的“后门”貌似无关痛痒,但我以为,背后表明了很深的隐患。倘若在很重要的嵌入式系统中留有黑客的后门,一旦东窗事发,后果不堪设想。

(3)抓好项目管理,包括进度的时间节点,完成的情况,代码注释等等。项目开展前要明确指标、相关标准及操作规程。对于客户的需求变动,要慎重决定是否同意,最好有书面确认。

(4)做好设计,不要急于写代码。步子的方向永远比步子的大小更重要。我以为,设计除了有方案、算法外,要有一个大的红线:内存用量上限、算法复杂度的上限等。在设计时,若缺少约束的“筋”,很容易制造出在嵌入式设备无法运行的“空中楼阁”。

(5)团队建设:激励机制与惩罚机制的执行,团队凝聚力的塑造。测试期要注意协调好开发人员和测试人员的关系。考虑先打“预防针”。

(6)单元测试:每个人先要为自己的一亩三分地负责。

(7)版本控制与发布:做好每个版本整合的描述。

 

技术方面:

(1)对系统的若干重要指标的考量:

1)内存使用和管理:   堆空间多大?栈空间多大?函数内局部变量多大时不可直接开辟,而需要通过嵌入式系统“内存总控”动态地开辟空间?用递归调用的风险较大。

       内存总控的管理:a)程序结构相对简单,函数局部变量开辟的内存空间的开辟和释放可在栈的结构约束下完成。那么,可将内存空间设计成栈管理;b)程序结构相对复杂,内存的使用和释放可能产生零散的内存块,那么要考虑分配机制是用“Best Fit”或“First Fit” 等。

2)CPU的主频和应用程序可容忍的最长响应时间,二者综合决定了算法的最高复杂度的上限。

     优化算法比优化代码效率更重要。

     优化代码效率的常用手法:1)浮点数定点化;2)多重循环展开;3)嵌入汇编代码等。

(2)工具

1)代码同步:  CVS或SVN

2)测试交互: BugFree

3)模拟器

4)MIPS值测试工具:ADS

5)分段测定函数执行时间的工具。

 (3)用宏进行系统参数的定义,以及作为一些代码条件编译的“阀门”。

(4)跨平台:

1)数据文件的双字节、四字节对齐;

2)数据文件的大小头转换;

3)代码的通用性、可移植性。

 

       最后,我想说的是,未雨绸缪会比疲于招架轻松愉快得多。

 

参考文献:

【1】http://baike.baidu.com/view/11200.htm

  评论这张
 
阅读(372)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017