1、文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 1 页 共 14 页日期 修改状态 页码 更改说明 修改人0 新拟制编 写 董家山 部 门 开发部 日 期 2000 年 10 月 20 日审 核 部 门 日 期 年 月 日批 准 部 门 日 期 年 月 日文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 2 页 共 14 页1.0 目的规范硬件开发流程,控制硬件开发质量,确保硬件开发项目能按预定目标完成。2.0 范围适用于开发部所有硬件及简单单板软件开发。3.0
2、 职责3.1 开发部经理3.1.1 会同技术管理部对硬件概要设计及其文档进行评审。3.1.2 负责组织硬件开发过程中详细设计的评审。3.1.3 负责对硬件开发过程文档的审核。3.1.4 负责对硬件开发归档文档的审核。3.2 项目组3.2.1 负责硬件概要设计。3.2.2 负责单板概要设计及单板软、硬件详细设计。3.2.3 负责单板调测和优化。3.2.4 负责硬件设计开发过程中文档的编写和归档。3.3 综合组3.3.1 负责硬件开发文档的标准化及管理。3.3.2 负责开发产品版本库的管理。3.3.3 参与单板系统联调。3.4 技术管理部3.4.1 负责组织对硬件概要设计及其文档进行评审。3.5
3、总工程师3.5.1 负责主持硬件概要设计及其文档的评审,并作出确认性意见。4.0 设计输入4.1 总体方案书5.0 设计输出5.1 硬件概要设计说明书文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 3 页 共 14 页5.2 单板硬件概要设计说明书5.3 单板软件概要设计说明书5.4 单板硬件详细设计说明书5.5 单板软件详细设计说明书5.6 单板硬件测试报告5.7 单板软件测试报告5.8 硬件系统联调报告/集成测试报告5.9 样机5.10 程序5.11 生产移交文件6.0 流程见附录 1 硬件开发流程图7.0 流程说明7.1
4、 硬件需求分析、概要设计项目组依据总体方案书及其它技术标准,进行硬件需求分析和硬件概要设计,编写硬件概要设计说明书 。硬件开发所涉及的文档编写参照设计文档编写规范执行。7.2 概要设计评审技术管理部组织、总工程师主持有关人员对硬件概要设计及文档进行评审,由总工程师签字批准。如需要方案调整,由项目组进行。7.3 单板硬件、软件概要设计及评审硬件概要设计评审通过后,由项目组提出采购期长和关键元器件申购计划,同时进行单板软、硬件概要设计,编写单板硬件概要设计说明书及单板软件概要设计说明书 ,由技术管理部组织、总工程师主持有关人员对单板软、硬件的概要设计进行评审,由总工程师签字批准。对升级单板版本也在
5、此进行设计和评审。文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 4 页 共 14 页7.4 单板软件详细设计及评审项目组进行单板软件详细设计,并编写单板软件详细设计说明书 ,由开发部组织有关人员进行评审,开发部经理签字批准。如需要设计更改,由项目组进行。在单板软件详细设计过程中,由项目组负责对单板软件进行测试,编写单板软件测试报告 ,经项目经理审核,开发部经理签字批准后归档综合组。7.5 单板硬件详细设计及评审由项目组进行单板硬件详细设计并编写单板硬件详细设计说明书 ,由开发部组织有关人员进行评审,开发部经理签字批准。如需要
6、设计更改,由项目组进行。7.6 PCB 设计硬件详细设计完成后即可进行 PCB 设计,PCB 板的投板过程按PCB 投板流程进行。7.7 物料申购开发物料的申购按照开发物料申购流程执行。7.8 单板硬件的调测项目组在单板硬件设计及 PCB 板组装完成后进行单板硬件的调试,对单板硬件进行测试并记录测试结果,编写单板硬件测试报告 ,由项目经理审核,开发部经理签字批准。若审批不通过,项目组需分析原因、找出问题并改进设计,PCB 重新投板,组装测试合格后,再提交文档进行审批。7.9 硬件系统联调当整个单板的软、硬件完成后,由项目组会同综合组进行硬件系统联调并记录结果,编写硬件系统联调报告 。由项目经理
7、审核,开发部经理签字批准。若审批不通过,则由项目组重新进行硬件概要设计,若需求更改则要重新进行硬件需求分析和硬件概要设计。7.10 设计文档归档当硬件系统联调完成后,项目组将硬件开发过程的设计文档归档,由综合文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 5 页 共 14 页组对文档进行标准化及管理。设计文档的归档及管理按照设计文档归档管理流程和开发文档管理规范执行。7.11 申请内部验收当设计文档完成后,可申请内部验收,内部验收按照内部验收流程执行。8.0 相关文件8.1 项目开发程序 (文件编号:COP4.2)8.2 设计
8、文档归档管理流程 (文件编号:WI4.2-01)8.3 开发文档管理规范 (文件编号:WI4.2-02)8.4 PCB 投板流程 (文件编号:WI4.2-05)8.5 开发物料申购流程 (文件编号:WI4.2-07)8.6 设计文档编写规范 (文件编号:WI4.2-10)8.7 内部验收流程 (文件编号:WI4.2-11)9.0 附录与记录9.1 硬件开发流程图 附录 19.2 单板软件技术规范 附录 29.3 单板软件编写规范 附录 3文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 6 页 共 14 页附录 1 硬件开发流程
9、图 总 体 方 案 书 开 始硬 件 需 求 分 析项 目 组硬 件 概 要 设 计项 目 组硬 件 概 要 设 计说 明 书评 审技 术 管 理 部关 键 器 件 申 购项 目 组单 板 软 、 硬 件 概 要 设 计项 目 组单 板 软 、 硬 概 要设 计 说 明 书评 审技 术 管 理 部 升 级 单 板 版 本B1213 1YNNYA文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 7 页 共 14 页单 板 软 件 详 细 设 计项 目 组单 板 软 件 详 细设 计 说 明 书单 板 软 件 调 试项 目 组单 板
10、 软 件 测 试报 告评 审开 发 部单 板 硬 件 详 细 设 计项 目 组单 板 硬 件 详 细设 计 说 明 书PCB设 计项 目 组 单 板 物 料 申 购项 目 组单 板 硬 件 过 程 调 试项 目 组单 板 硬 件 测 试报 告审 核 /批 准项 目 经 理 开 发 部 经 理YN单 板 硬 件 测 试项 目 组Y YN审 核 /批 准项 目 经 理 开 发 部 经 理评 审开 发 部NNYCA文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 8 页 共 14 页设 计 文 件 归 档项 目 组转 内 部 验 收文
11、 档 标 准 化 及 管 理综 合 组Y硬 件 系 统 联 调项 目 组 /综 合 组硬 件 系 统 联 调 报 告N审 核 /批 准项 目 经 理 开 发 部 经 理C B文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 9 页 共 14 页附录 2 单板软件技术规范为了规范单板软件编写人员在软件编写过程中对一些特殊问题的处理特制定以下规范。具体如下:1单板软件尽可能不用递归算法,以防止堆栈溢出。2对 flash 的写操作和擦除操作需加入陷阱等一些防误写措施,具体方法如下:在需要对 flash 进行操作前设置标志字,在进行具体
12、的 flash 操作时再对标志字进行检查。在子程序之间插入两个空操作及长跳转指令,跳转到错误处理子程序中,该子程序的具体编写根据系统特点的不同而不同,资源允许的情况下可根据具体情况加入看门狗。3由于有些 cpu 加密后,外部程序不能通过指令读取 cpu 内部代码,所以编写程序时注意尽量避免。4在通过 8251 进行串行通讯时根据硬件的特点,有时在双方进行通讯之前会出现一些传输中的误码,所以这时就需要在适当的时候清除 8251 的接收缓冲区,当然这要视具体情况而定。5子程序里不能有出现死循环的可能,有些操作耗时比较长,并且需通过判断硬件标志检查该操作是否完成,这时需在程序里加入最大超时。6软件力
13、求结构清晰,易于维护,通常主程序不宜过长。7编写软件前应先完成该软件的流程图,以及软件数据结构的设计,系统资源的配置,接口设计等。以上各条可在软件的编写过程中作为参考,程序的编写还需具体情况具体分析。文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 10 页 共 14 页附录 3单板软件编写规范1适用范围本规范只适用于单板软件的开发,包括 c 程序和汇编程序2变量类型说明c 程序:typedef unsigned int UINT;typedef unsigned char UCHAR;typedef unsigned shor
14、t USHORT;typedef unsigned long ULONG;typedef int INT;typedef long BOOL;typedef long LONG;typedef char CHAR;typedef short SHORT;3常量命名和宏定义(1) 常量和宏定义必须具有一定的实际意义。(2) 量和宏定义在#include 和函数定义之间。(3) 常量和宏定义必须全部以大写字母来撰写,中间可根据意义连续性用下划线连接,每一条定义右侧必须有一简单的注释,说明其作用。(4) 在程序中尽量对常量进行命名(宏定义)。例如: #define xxx 0x20 (c 程序)xx
15、x equ 20h (汇编程序) 文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 11 页 共 14 页4函 数(1) 函数原型说明包括引用外来函数及内部函数,外部引用必须在右侧注明函数来源。(2) 模块名及文件名,如是内部函数,只要注释其定义文件名。(3) 第一个字母必须使用大写字母,要求用大小写字母组合规范函数命名,必要时可用下划线间隔。示例如下:void UpdateDB_Tfgd (TRACK_NAME); /* 源模块文件: C:mydirsdw.c */void ShowChar (int , int , chty
16、pe); /* 本地函数 */或(汇编)extern code UpdateDB_Tfgd; /* 源模块文件: C:mydirsdw.c */5结构体命名 (对 c 程序)结构体类型命名必须全部用大写字母,原则上前面以下划线开始;结构体变量命名必须用大小写字母组合,第一个字母必须使用大写字母,必要时可用下划线间隔。对于私有数据区,必须注明其所属的进程。全局数据定义只需注意其用途。6注释(1) 原则上注释要求使用中文。(2) 文件开始注释内容包括:公司名称、版权、作者名称、时间、模块用途、背景介绍和版本等,复杂的算法需要加上流程说明。(3) 函数注释包括:输入、输出、函数描述、流程处理、全局变
17、量、调用样例等,复杂的函数需要加上变量用途说明。(4) 尽量在难于理解的代码和可能产生误解的代码前加上注释,包括:修改时间和作者、该代码的用途等。文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 12 页 共 14 页引用一: 文件开头的注释模板/* 文件名: * Copyright (c) 1998-1999 深圳兆日实业有限公司开发部 * 创建人:* 日 期:* 修改人:* 日 期:* 描 述:* 版 本: 1.3*-* 函 数:*/引用二: 函数开头的注释模板/* 函数名:* 输 入: a,b,c* a-* b-* c-*
18、 输 出: x-文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 13 页 共 14 页* x 为 1, 表示.* x 为 0, 表示.* 描 述:* * 全局变量: * 调用模块:* 作 者:* 日 期:* 修 改:* 日 期:* 版 本: 1.3*/引用三: 程序中的注释模板c 程序:/*-*/* 注释内容 */*-*/汇编:;-; 注释内容;-7程序文 件 编 号 WI4.2-04深圳市兆日实业有限公司作业指导书 版本修改状态 B0标题 硬件开发流程 页 码 第 14 页 共 14 页(1) 程序编码力求简洁,结构清晰,避
19、免太多的分支结构及太过于技巧性的程序,尽量不采用递归模式。(2) 编写程序时,亦必须想好测试的方法,换句话说,“元件测试“ 的测试方案应与程序编写时一并拟好。(3) 注释一定要与程序一致。(4) 版本封存以后的修改一定要将老语句(c 用/* */或汇编用;) 封闭,不能自行删除或修改,并要在文件及函数的修改记录中加以记录。(5) c 程序中每个 block 的开头 “ 及 “ 必须对齐,嵌套的 block 每进一套,缩进一个 tab,TAB 为 4,block 类型包括 if、for、while、do 等关键字引出的。(6) 对于比较大的函数,每个 block 和特殊的函数调用,都必须注明其功能。(7) 汇编程序同一模块内,标号名的前面部分须统一。