首页 | 供应信息 | 采购信息 | PDF资料 | 技术资料 | 行业资讯 | 产品展示 | 人才市场 进入会员区
   技术文章分类:单片机/DSP 嵌入式系统 测试仪表 电源技术 接口电路 存储器 传感与控制 通信网络 无线通信 模拟技术 显示与光电 EDA/PLD 汽车电子 消费电子 电子综合
   电子综合工具:PDF资料大全 电子缩略语 IC型号替换 IC厂家 电子电路图 技术参数 设计应用 解决方案
技术资料 行业资讯 PDF资料 IC价格 IC替换 缩略语 IC供应 IC采购
  您所在的位置: IC37首页 > 技术问答 > 单片机 > 单片机或嵌入式系统的开发规范化问题(ZZ)

  单片机或嵌入式系统的开发规范化问题(ZZ) 

随着人才流动的加快和研发周期的缩短,我们个人需要快速高效的完成自己的设计,维护和升级,公司需要人走不影响项目进度、新员工很快就能接手。这就需要:一个系统设计完成以后,它不应该仅仅是一些源代码,还应该包括各种各样的开发文档。(这对以后自己对系统的维护和升级都有很好的参考作用。而且能最大情况的避免一种情况:你改了一个BUG,却发现又出现了很多个BUG。)一个系统开发完成,它究竟应该包含那些文档,这些文档一般是怎么完成的,应该包含哪些内容?这就是系统开发的规范化问题。系统开发的规范化不仅有利于自己,也有利于公司,更有利于新手。规范化的设计让工程师工作更高效,这已经是不用争论的事实。现在在大型软件工程开发方面,这已经做得相当好。但在单片机和嵌入式系统的开发方面,规范化的工作却有待我们共同探讨。一个不容否认的事实是:国内的大部分小系统开发工程师从来不写文档,一开始就是以功能完成为中心进行代码设计。

在香港的一些公司也是这样一种设计模式。在国内,一些公司的研发管理人员也有一种误导——快写代码,快让我看见功能,不要你做其他的,完成功能就好。这些都把我们的设计导入一种误区:大部分时间都在写代码,改代码。

在此提出系统开发的规范化问题,也是我个人的一点想法而已。仅供参考。不过,一切还得从实际出发,倒没有必要硬要把设计从写某些文档开始,太教条了不好。如果你感觉写某些文档是浪费时间,那就别写吧。

在这里,我给出一个小系统大致包括的文档,仅作参考。

PRODUCT SPECIFICATION 一般是市场部或者是客户提供的

PRODUCT SPECIFICATION ——》 PROJECT LEADER

PROJECT LEADER 给工程师分配方案

SOFTWARE SPECIFICATION ——》 SOFTWARE ENGINEERS

HARDWARE SPECIFICATION ——》 HARDWARE ENGINEERS

MECHANICAL SPECIFICATION ——》 MECHANICAL ENGINEER

一、 硬件工程师的芯片选择,原理图的设计

硬件工程师根据HARDWARE SPECIFICATION 来选择芯片(也可能是PROJECT LEADER 早已为你定了),再根据芯片说明来设计各功能模块电路。出一份文档HARDWARE IMPLEMENTATION并进行SCHEMATIC DESIGN 再把这些资料提供给SOFTWARE ENGINEER。PCB LAYER 当然不需要文档了。但有跟随的HARDWARE UPDATE REPORT包括调试修改和最后的软硬联调,所做的任何工作都要出相应的说明。(呵,呵,你自己保存一表格天天填吧,改动地方,修改原因,就两项,不难写的)软件工程师得到芯片和电路资料,开始根据SOFTWARE SPECIFICATION 进行设计

首先我们应该出一文档:

SOFTWARE IMPLEMENTATION 这里大致包括软件采用的芯片,软件的功能模块及使用系统端口功能情况,仿真系统,原始数据资料,自己用其他语言写的数据处理工具。

在此文档完成后,我们进入了详细设计阶段:

MODULE DESIGN

开始写各模块的实现,包括各模块所要实现的功能,用到的系统资源(包括变量的定义,常量的定义),与其他模块的联系(*对系统的维护和升级很重要的)和时间间隔图(有固定时间点用固定时间点,没有固定时间点,就用时间间隔 ,用来设计主循环的)。这里表现的其实是你的思路,如果你思路清晰,做起事情来自然是事半功倍了。

MAINLOOP DESIGN:

主要是根据时间间隔图和各模块的重要性及响应优先级进行主监控程序的设计,确保各功能能顺利完成。

MIAN CHART FLOW

画出程序流程图

SOURCE CODE DESIGN。

这一部分才是代码的实现,要是你前面写得很详细了,这里你的思路很清晰,按照MAINLOOP DESIGN直接做就是了。当然,我们需要按照我们自己的〈编程语言规范〉来设计源程序。这是软件工程师的基本,我就不提了。

最后是软硬联调,需要两个人配合的,基本不出什么文档,但如果你作了什么修改,请记录在案,最后要更新你前面的设计文档。 最后是出FIRST SAMPLE ,MECHANICAL ENGINEER 会根据要求修改自己的设计。并出IMPLEMENTATION 和 UPDATE ME REPORT。

整个系统开发流程的规范化还应该包括项目的会审,软硬协调,成本的控制,货源的规划,测试规划,等等,由于我这里不是介绍一个现代研发部的研发流程,只想对系统软件规范化说得详细一点(这些可能是我们目前规范化面临的最大的问题吧),其他我都省掉了。


作者:guorock  2006-2-6 16:12:00

  回复1  应该是这样84512

应该是这样
作者:土包子  2006-2-6 20:21:00

  回复2  领导叫你咋做就咋做,哪那么多废话84513

领导叫你咋做就咋做,哪那么多废话
作者:ketp  2006-2-7 10:37:00


我要投稿 注册会员
客服咨询热线:0755-26000950 0755-26007355
 相关技术问答
·前辈们,请指教一下!  2006-2-5
·一个思索很久的问题!!  2006-2-5
·新手请教一个C51的问题  2006-2-5
·求一种升压或降压DC/DC..  2006-2-5
·请教80C196KC的T2..  2006-2-6
·AT89S51最小系统当中..  2006-2-6
·单片机的仿真有几种?哪种最..  2006-2-6
·请教单片机的音乐播放程序该..  2006-2-6
·那位大侠有AT89C55W..  2006-2-6
·请推荐一款实现WEB SE..  2006-2-6
·用8954芯片时头文件用r..  2006-2-6
·请帮忙推荐一个双通道串行1..  2006-2-6
·关于芯片封装,谁能说出道理..  2006-2-6
·分析图中两个复位电路的优缺点  2006-2-6
·问一个简单的C51问题  2006-2-6
·如何把PDF文件把两页缩小..  2006-2-6
·7805功耗问题 ..  2006-2-7
·51向pxa255的转换&..  2006-2-7
·关于RS485的问题  2006-2-7
·关于字符型LCD的数据显示..  2006-2-7
·请教大家一个关于电源的问题  2006-2-7
·c51中怎样表示外部rom..  2006-2-7
·用C51操作片内扩展RAM..  2006-2-7
 
 热门IC
NLV32T-022J-PF  NLV25T-010J-PF  S2006V  SBL1650CT  SBLF1040CT  MOC3022FM  MOC3011SVM  P80CL410HFT3  RLZ10B  MOC3083TM  STP9NK65ZFP  CAT809JEUR  646U2-402  T8162  JANTX1N6391  SM5038S-DL  T224162B-30J  BC847BDW  DS14827-1  UPD6458GT  PSCDS127T-330M-S  AT24C128N-10SI-2  MAX3223ZAP  RD5.1MW-T1B  S-80936CNMC-G86-T2  TC75W58FU  TN2460T  TPS79147DBVT  NLV25T-3R3J-PF  PI74FCT138TP  TEC482-2405270  TA8728  SST29SF040-55-4I-NH  LT17010-066  LTC3532EMS  M51647  MIC2920A-3.2BS  MB87F6590RB-G  EST20GP1X33S  DPTC1E06  HM514256AJP7  KS74HCTLS273N  PE-68027  TR88801CS  VT1101SCX  UPD65022G-055  BZM55B6V2  MA3075WK  MAX6355SYUT-T  MMBZ5234BW-7