支付密码器硬件开发流程Word文件下载.docx
《支付密码器硬件开发流程Word文件下载.docx》由会员分享,可在线阅读,更多相关《支付密码器硬件开发流程Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
![支付密码器硬件开发流程Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/9/69ef4975-81e5-45f7-9836-cfed2b4876f1/69ef4975-81e5-45f7-9836-cfed2b4876f11.gif)
3.4技术管理部
3.4.1负责组织对硬件概要设计及其文档进行评审。
3.5总工程师
3.5.1负责主持硬件概要设计及其文档的评审,并作出确认性意见。
4.0设计输入
4.1总体方案书
5.0设计输出
5.1硬件概要设计说明书
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硬件需求分析、概要设计
项目组依据《总体方案书》及其它技术标准,进行硬件需求分析和硬件概要设计,编写《硬件概要设计说明书》。
硬件开发所涉及的文档编写参照《设计文档编写规范》执行。
7.2概要设计评审
技术管理部组织、总工程师主持有关人员对硬件概要设计及文档进行评审,由总工程师签字批准。
如需要方案调整,由项目组进行。
7.3单板硬件、软件概要设计及评审
硬件概要设计评审通过后,由项目组提出采购期长和关键元器件申购计划,同时进行单板软、硬件概要设计,编写《单板硬件概要设计说明书》及《单板软件概要设计说明书》,由技术管理部组织、总工程师主持有关人员对单板软、硬件的概要设计进行评审,由总工程师签字批准。
对升级单板版本也在此进行设计和评审。
7.4单板软件详细设计及评审
项目组进行单板软件详细设计,并编写《单板软件详细设计说明书》,由开发部组织有关人员进行评审,开发部经理签字批准。
如需要设计更改,由项目组进行。
在单板软件详细设计过程中,由项目组负责对单板软件进行测试,编写《单板软件测试报告》,经项目经理审核,开发部经理签字批准后归档综合组。
7.5单板硬件详细设计及评审由项目组进行单板硬件详细设计并编写《单板硬件详细设计说明书》,由开发部组织有关人员进行评审,开发部经理签字批准。
7.6PCB设计
硬件详细设计完成后即可进行PCB设计,PCB板的投板过程按《PCB投板流程》进行。
7.7物料申购
开发物料的申购按照《开发物料申购流程》执行。
7.8单板硬件的调测
项目组在单板硬件设计及PCB板组装完成后进行单板硬件的调试,对单板硬件进行测试并记录测试结果,编写《单板硬件测试报告》,由项目经理审核,开发部经理签字批准。
若审批不通过,项目组需分析原因、找出问题并改进设计,PCB重新投板,组装测试合格后,再提交文档进行审批。
7.9硬件系统联调
当整个单板的软、硬件完成后,由项目组会同综合组进行硬件系统联调并记录结果,编写《硬件系统联调报告》。
由项目经理审核,开发部经理签字批准。
若审批不通过,则由项目组重新进行硬件概要设计,若需求更改则要重新进行硬件需求分析和硬件概要设计。
7.10设计文档归档
当硬件系统联调完成后,项目组将硬件开发过程的设计文档归档,由综合组对文档进行标准化及管理。
设计文档的归档及管理按照《设计文档归档管理流程》和《开发文档管理规范》执行。
7.11申请内部验收
当设计文档完成后,可申请内部验收,内部验收按照《内部验收流程》执行。
8.0相关文件
8.1项目开发程序(文件编号:
COP4.2)
8.2设计文档归档管理流程(文件编号:
WI4.2-01)
8.3开发文档管理规范(文件编号:
WI4.2-02)
8.4PCB投板流程(文件编号:
WI4.2-05)
8.5开发物料申购流程(文件编号:
WI4.2-07)
8.6设计文档编写规范(文件编号:
WI4.2-10)
8.7内部验收流程(文件编号:
WI4.2-11)
9.0附录与记录
9.1硬件开发流程图附录1
9.2单板软件技术规范附录2
9.3单板软件编写规范附录3
附录1
硬件开发流程图
附录2单板软件技术规范
为了规范单板软件编写人员在软件编写过程中对一些特殊问题的处理特制定以下规范。
具体如下:
1.单板软件尽可能不用递归算法,以防止堆栈溢出。
2.对flash的写操作和擦除操作需加入陷阱等一些防误写措施,具体方法如下:
在需要对flash进行操作前设置标志字,在进行具体的flash操作时再对标志字进行检查。
在子程序之间插入两个空操作及长跳转指令,跳转到错误处理子程序中,该子程序的具体编写根据系统特点的不同而不同,资源允许的情况下可根据具体情况加入看门狗。
3.由于有些cpu加密后,外部程序不能通过指令读取cpu内部代码,所以编写程序时注意尽量避免。
4.在通过8251进行串行通讯时根据硬件的特点,有时在双方进行通讯之前会出现一些传输中的误码,所以这时就需要在适当的时候清除8251的接收缓冲区,当然这要视具体情况而定。
5.子程序里不能有出现死循环的可能,有些操作耗时比较长,并且需通过判断硬件标志检查该操作是否完成,这时需在程序里加入最大超时。
6.软件力求结构清晰,易于维护,通常主程序不宜过长。
7.编写软件前应先完成该软件的流程图,以及软件数据结构的设计,系统资源的配置,接口设计等。
以上各条可在软件的编写过程中作为参考,程序的编写还需具体情况具体分析。
附录3
单板软件编写规范
1.适用范围
本规范只适用于单板软件的开发,包括c程序和汇编程序
2.变量类型说明
c程序:
typedefunsignedintUINT;
typedefunsignedcharUCHAR;
typedefunsignedshortUSHORT;
typedefunsignedlongULONG;
typedefintINT;
typedeflongBOOL;
typedeflongLONG;
typedefcharCHAR;
typedefshortSHORT;
3.常量命名和宏定义
(1)常量和宏定义必须具有一定的实际意义。
(2)量和宏定义在#include和函数定义之间。
(3)常量和宏定义必须全部以大写字母来撰写,中间可根据意义连续性用下划线连接,每一条定义右侧必须有一简单的注释,说明其作用。
(4)在程序中尽量对常量进行命名(宏定义)。
例如:
#definexxx0x20(c程序)
xxxequ20h(汇编程序)
4.函数
(1)函数原型说明包括引用外来函数及内部函数,外部引用必须在右侧注明函数来源。
(2)模块名及文件名,如是内部函数,只要注释其定义文件名。
(3)第一个字母必须使用大写字母,要求用大小写字母组合规范函数命名,必要时可用下划线间隔。
示例如下:
voidUpdateDB_Tfgd(TRACK_NAME);
/*源模块文件:
C:
\mydir\sdw.c*/
voidShowChar(int,int,chtype);
/*本地函数*/
或(汇编)externcodeUpdateDB_Tfgd;
/*源模块文件:
5.结构体命名(对c程序)
结构体类型命名必须全部用大写字母,原则上前面以下划线开始;
结构体变量命名必须用大小写字母组合,第一个字母必须使用大写字母,必要时可用下划线间隔。
对于私有数据区,必须注明其所属的进程。
全局数据定义只需注意其用途。
6.注释
(1)原则上注释要求使用中文。
(2)文件开始注释内容包括:
公司名称、版权、作者名称、时间、模块用途、背景介绍和版本等,复杂的算法需要加上流程说明。
(3)函数注释包括:
输入、输出、函数描述、流程处理、全局变量、调用样例等,复杂的函数需要加上变量用途说明。
(4)尽量在难于理解的代码和可能产生误解的代码前加上注释,包括:
修改时间和作者、该代码的用途等。
引用一:
文件开头的注释模板
********
**文件名:
**Copyright(c)XXXX
**创建人:
**日期:
**修改人:
**描述:
**
**版本:
1.3
**-----------------------------------------------------------------------------
**函数:
*******************************************************************************/
引用二:
函数开头的注释模板
/*******************************************************************************
**函数名:
**输入:
a,b,c
**a---
**b---
**c---
**输出:
x---
**x为1,表示...
**x为0,表示...
**
**全局变量:
**调用模块:
**作者:
**修改:
********************************************************************************/
引用三:
程序中的注释模板
c程序:
/*----------------------------------------------------------*/
/*注释内容*/
汇编:
;
-----------------------------------------------------------
注释内容
7.程序
(1)程序编码力求简洁,结构清晰,避免太多的分支结构及太过于技巧性的程序,尽量不采用递归模式。
(2)编写程序时,亦必须想好测试的方法,换句话说,"
元件测试"
的测试方案应与程序编写时一并拟好。
(3)注释一定要与程序一致。
(4)版本封存以后的修改一定要将老语句(c用/**/或汇编用;
)封闭,不能自行删除或修改,并要在文件及函数的修改记录中加以记录。
(5)c程序中每个block的开头"
{"
及"
}