文档库 最新最全的文档下载
当前位置:文档库 › 全志A20_Script和GPIO开发说明文档_V1.0_20130315

全志A20_Script和GPIO开发说明文档_V1.0_20130315

全志A20_Script和GPIO开发说明文档_V1.0_20130315
全志A20_Script和GPIO开发说明文档_V1.0_20130315

C o

n f i d

e n t i a

l

A20Scrip Script t 和GPI GPIO

O 开发说明V1.020120133-0303-

-15

C o

n f i d

e n t i

a

l

Revision History

Version Date Changes compared to previous issue v1.0

2013-03-15

初建版本

C o

n f i d

e n t i a

l

目录

1.概述-------------------------------------------------------------------------------------------------------6

1.1.编写目的----------------------------------------------------------------------------------------61.

2.适用范围----------------------------------------------------------------------------------------61.

3.相关人员----------------------------------------------------------------------------------------62.模块介绍-------------------------------------------------------------------------------------------------7

2.1.模块功能介绍----------------------------------------------------------------------------------72.2.相关术语介绍----------------------------------------------------------------------------------7

2.2.1.Script 脚本-------------------------------------------------------------------------------72.2.2.Script 接口-------------------------------------------------------------------------------72.2.

3.GPIO--------------------------------------------------------------------------------------72.3.模块配置介绍----------------------------------------------------------------------------------72.

4.源码结构介绍----------------------------------------------------------------------------------73.模块体系结构描述------------------------------------------------------------------------------------84.模块数据结构描述------------------------------------------------------------------------------------9

4.1.aw_gpio_chip------------------------------------------------------------------------------------94.2.gpio_cfg_t----------------------------------------------------------------------------------------94.3.gpio_eint_cfg_t--------------------------------------------------------------------------------104.4.gpio_pm_t--------------------------------------------------------------------------------------10

5.GPIO 接口描述----------------------------------------------------------------------------------------12

5.1.Linux 标准GPIO 接口-----------------------------------------------------------------------12

5.1.1.gpiolib_sysfs_init----------------------------------------------------------------------125.1.2.gpio_export-----------------------------------------------------------------------------125.1.3.gpio_export_link----------------------------------------------------------------------125.1.4.gpio_sysfs_set_active_low-----------------------------------------------------------125.1.5.gpio_unexport--------------------------------------------------------------------------125.1.

6.gpiochip_add---------------------------------------------------------------------------135.1.

7.gpiochip_remove----------------------------------------------------------------------135.1.

8.gpiochip_find--------------------------------------------------------------------------135.1.

9.gpio_request----------------------------------------------------------------------------135.1.10.gpio_free------------------------------------------------------------------------------135.1.11.gpio_request_one--------------------------------------------------------------------145.1.12.gpio_request_array ---------------------------------------------------------------145.1.13.gpio_free_array----------------------------------------------------------------------155.1.14.gpiochip_is_requested---------------------------------------------------------------155.1.15.gpio_direction_input----------------------------------------------------------------155.1.16.gpio_direction_output---------------------------------------------------------------155.1.17.gpio_set_debounce------------------------------------------------------------------155.1.18.__gpio_get_value--------------------------------------------------------------------165.1.19.__gpio_set_value--------------------------------------------------------------------165.1.20.__gpio_cansleep---------------------------------------------------------------------16

C o

n f i d

e n t i a

l

5.1.21.__gpio_to_irq-------------------------------------------------------------------------165.1.22.gpio_get_value_cansleep-----------------------------------------------------------165.1.23.gpio_set_value_cansleep-----------------------------------------------------------165.2.多功能配置接口------------------------------------------------------------------------------17

5.2.1.sw_gpio_setcfg------------------------------------------------------------------------175.2.2.sw_gpio_getcfg------------------------------------------------------------------------175.2.3.sw_gpio_setpull-----------------------------------------------------------------------175.2.4.sw_gpio_getpull-----------------------------------------------------------------------175.2.5.sw_gpio_setdrvlevel------------------------------------------------------------------175.2.

6.sw_gpio_getdrvlevel------------------------------------------------------------------185.2.

7.sw_gpio_setall_range-----------------------------------------------------------------185.2.

8.sw_gpio_getall_range-----------------------------------------------------------------185.2.

9.sw_gpio_dump_config---------------------------------------------------------------195.2.10.sw_gpio_suspend3---------------------------------------------------------------195.2.11.sw_gpio_resume ------------------------------------------------------------------195.3.GPIO 中断接口--------------------------------------------------------------------------------19

5.3.1.功能说明------------------------------------------------------------------------------195.3.2.函数说明------------------------------------------------------------------------------20

5.3.2.1.sw_gpio_irq_request--------------------------------------------------------205.3.2.2.sw_gpio_irq_free -----------------------------------------------------------205.3.2.3.sw_gpio_eint_setall_range ----------------------------------------------215.3.2.4.sw_gpio_eint_getall_range ----------------------------------------------215.3.2.5.sw_gpio_eint_dumpall_range----------------------------------------------215.3.2.

6.sw_gpio_eint_set_trigtype--------------------------------------------------225.3.2.

7.sw_gpio_eint_get_trigtype -----------------------------------------------225.3.2.

8.sw_gpio_eint_set_debounce------------------------------------------------225.3.2.

9.sw_gpio_eint_get_debounce -------------------------------------------225.3.2.10.sw_gpio_eint_clr_irqpd_sta----------------------------------------------235.3.2.11.sw_gpio_eint_get_irqpd_sta----------------------------------------------235.3.2.12.sw_gpio_eint_get_enable-------------------------------------------------235.3.2.13.u32sw_gpio_eint_set_enable--------------------------------------------23

6.Script 接口使用描述----------------------------------------------------------------------------------24

6.1.script_get_item---------------------------------------------------------------------------------24

6.1.1.说明------------------------------------------------------------------------------------246.1.2.示例------------------------------------------------------------------------------------256.2.script_get_pio_list-----------------------------------------------------------------------------26

6.2.1.说明------------------------------------------------------------------------------------266.2.2.示例------------------------------------------------------------------------------------266.3.script_dump_mainkey-------------------------------------------------------------------------26

6.3.1.说明------------------------------------------------------------------------------------266.3.2.示例------------------------------------------------------------------------------------27

7.GPIO 接口使用描述----------------------------------------------------------------------------------28

C o

n f i d

e n t i a

l

7.1.如何确定用哪一套接口---------------------------------------------------------------------287.2.关于GPIO 的申请和释放------------------------------------------------------------------297.3.常用场景---------------------------------------------------------------------------------------33

7.3.1.使用标准GPIO 接口----------------------------------------------------------------33

7.3.1.1.将PF3设为input,并获取其data 值-----------------------------------337.3.1.2.将PF3设为output,并将data 设为高---------------------------------337.3.1.3.PF3已被设为output,现将其data 设为低-----------------------------347.3.1.4.设置一组gpio 的input/output 状态-----------------------------------347.3.2.使用多功能配置接口---------------------------------------------------------------34

7.3.2.1.将PF3配置成2号功能(SDC0_CMD)---------------------------------347.3.2.2.将PF3配置成2号功能(SDC0_CMD),pull 设为1-----------------357.3.2.3.PF3配置----------------------------------------------------------------------357.3.2.4.获取PF3的mul sel 值----------------------------------------------------367.3.2.5.获取PF3的mul sel,pull,driver level,data 值------------------------367.3.2.6.设置一组gpio 的mul sel,pull,driver level,data 值------------------367.3.3.使用gpio 中断接口-----------------------------------------------------------------37

7.3.3.1.申请PA0中断,并设为上升沿触发------------------------------------377.3.3.2.释放PA0中断--------------------------------------------------------------387.3.3.3.将PA0配置成下降沿触发-----------------------------------------------387.3.3.4.打开PA0中断的enable 位-----------------------------------------------387.3.4.Script 接口和GPIO 接口合用------------------------------------------------------39

7.3.4.1.card0_boot_para 主键下的所有gpio 信息------------------------------397.3.4.2.sdc_cmd 子键的gpio 信息------------------------------------------------407.3.4.3.AXP GPIO 的配置----------------------------------------------------------40

7.4.如何得到GPIO 编号?-----------------------------------------------------------------------41

7.4.1.已知GPIO 名称----------------------------------------------------------------------417.4.2.sys_config 中的GPIO 编号---------------------------------------------------------42

8.Android 系统支持-------------------------------------------------------------------------------------439.模块调试-----------------------------------------------------------------------------------------------44

9.1.menuconfig 配置------------------------------------------------------------------------------449.2.测试用例介绍---------------------------------------------------------------------------------44

9.2.1.TEST_REQUEST_FREE------------------------------------------------------------449.2.2.TEST_RE_REQUEST_FREE-------------------------------------------------------459.2.3.TEST_GPIOLIB_API----------------------------------------------------------------459.2.4.TEST_CONFIG_API-----------------------------------------------------------------469.2.5.TEST_GPIO_EINT_API-------------------------------------------------------------469.2.6.TEST_GPIO_SCRIPT_API---------------------------------------------------------46

10.总结----------------------------------------------------------------------------------------------------4711.Declaration--------------------------------------------------------------------------------------------48

C o

n f i d

e n t i a

l

1.概述

1.1.编写目的

介绍A20平台上script 和GPIO 的接口及使用方法。

1.2.适用范围适用于A20芯片对应平台.

1.3.相关人员

Linux 内核和驱动开发人员。

C o

n f i d

e n t i a

l

2.模块介绍

2.1.模块功能介绍

Script 接口提供了解析sys_config.fex 脚本的功能.GPIO 接口提供了GPIO 操作功能.

2.2.相关术语介绍

2.2.1.2.2.1.Script

Script 脚本指的是打包到img 中的sys_config.fex 文件.包含系统各模块配置参数.

2.2.2.2.2.2.Script

Script 接口指对sys_config.fex 进行解析的函数.

2.2.

3.2.2.3.GPIO

GPIO General Purpose Input Output,即通用输入/输出,也称总线扩展器.

2.3.模块配置介绍

GPIO 为内核必备的模块,直接编译到kernel 中,无须sys_config.fex 或menuconfig 进行配置.

2.4.源码结构介绍

Script 接口在\linux-3.3\arch\arm\mach-sun7i\sys_config.c 中实现.在\linux-3.3\arch\arm\mach-sun7i\include\mach\sys_config.h 中声明;

gpio 模块源码在\lichee\linux-3.3\arch\arm\mach-sun7i\gpio 目录下.在\linux-3.3\arch\arm\mach-sun7i\include\mach\gpio.h 中声明;

gpio_multi_func.c:对pin 脚的功能,pull,driverlevel 进行配置的接口.gpio_init.c:模块初始化.注册gpio chip.gpio_eint.c:gpio 中断操作接口.

gpio_base.c:提供了标准gpio 需要的平台函数.

C o

n f i d

e

3.模块体系结构描述

(1)标准GPIO 接口,处理输入输出,GPIO 申请释放等.需要linux 内核的gpiolib 支持.

(2)多功能配置接口,处理GPIO 的功能配置,pull,driverlevel 等.(3)gpio eint 接口,处理gpio 外部中断的配置,触发模式等.(4)

gpio pm 接口,管理gpio 驱动的待机,唤醒操作.

f i d

e n t i a

l

4.模块数据结构描述

4.1.aw_gpio_chip

对标准gpio_chip 的扩展(gpio_common.h ):struct aw_gpio_chip {

struct gpio_chip chip;struct gpio_cfg_t *cfg;

struct gpio_eint_cfg_t *cfg_eint;struct gpio_pm_t *pm;void __iomem *vbase;void __iomem *vbase_einit;/*gpio einit config reg base */u32irq_num;spinlock_t lock;};

(1)chip:标准gpio_chip 成员,被gpiolib 管理,实现了对标准gpio api 的支持.(2)cfg:平台定义的gpio_cfg_t 成员,实现了对功能配置的支持(3)cfg_eint:平台定义的gpio_eint_cfg_t 成员,实现了对gpio 外部中断的支持(4)pm:平台定义的gpio_pm_t 成员,实现了对电源管理的支持(5)vbase:当前chip 对应的gpio 功能配置寄存器的起始虚拟地址.如PA 对应

0xf1c20800.(6)vbase_eint:当前chip 对应的gpio external int 配置寄存器的起始虚拟地址.

如PA 对应0xf1c20a00.(7)irq_num:当前chip 对应的外部中断号.如PA 对应PA_EINT(43).(8)lock:对各api 的加锁处理.

4.2.gpio_cfg_t

C o

n f i d

e n t i a

l

4.3.gpio_eint_cfg_t

gpio 中断处理函数.

typedef u32(*peint_set_trig)(struct aw_gpio_chip *pchip,u32offset,enum gpio_eint_trigtype trig_val);

typedef u32(*peint_get_trig)(struct aw_gpio_chip *pchip,u32offset,enum gpio_eint_trigtype *pval);

typedef u32(*peint_get_enable)(struct aw_gpio_chip *pchip,u32offset,u32*penable);

typedef u32(*peint_set_enable)(struct aw_gpio_chip *pchip,u32offset,u32enable);

typedef u32(*peint_get_irqpd_sta)(struct aw_gpio_chip *pchip,u32offset);typedef u32(*peint_clr_irqpd_sta)(struct aw_gpio_chip *pchip,u32offset);

typedef u32(*peint_set_debounce)(struct aw_gpio_chip *pchip,struct gpio_eint_debounce val);/*for chip,not just port */

typedef u32(*peint_get_debounce)(struct aw_gpio_chip *pchip,struct gpio_eint_debounce *pval);/*for chip,not just port */

struct gpio_eint_cfg_t {

peint_set_trig eint_set_trig;peint_get_trig eint_get_trig;peint_set_enable eint_set_enable;peint_get_enable eint_get_enable;peint_get_irqpd_sta eint_get_irqpd_sta;peint_clr_irqpd_sta eint_clr_irqpd_sta;peint_set_debounce eint_set_debounce;peint_get_debounce eint_get_debounce;};

4.4.gpio_pm_t

电源管理接口,目前暂不支持.

typedef u32(*psave)(struct aw_gpio_chip *pchip);typedef u32(*presume)(struct aw_gpio_chip *pchip);

struct gpio_pm_t {

C o

n f i d

e n t i a

l

C o

n f i d

e n t i a

l

5.GPIO 接口描述

5.1.Linux 标准GPIO 接口

Linux 标准GPIO 在\linux-3.3\drivers\gpio\gpiolib.c 中实现,

\linux-3.3\include\linux\gpio.h 中声明.

5.1.1.5.1.1.gpiolib_sysfs_init

gpiolib_sysfs_init 注册gpio_class 类.

5.1.2.5.1.2.gpio_export

gpio_export int gpio_export(unsigned gpio,bool direction_may_change)功能:通过sysfs 导出一个gpio.参数:gpio:gpio 编号

direction_may_change:描述用户空间是否会改变gpio 的输入输出状态.返回值:0表示成功,否则表示失败.

5.1.3.

5.1.3.gpio_export_link gpio_export_link int gpio_export_link(struct device *dev,const char *name,unsigned gpio)功能:为导出的gpio 端口创建link.参数:dev:创建link 的设备

name:link 的名称.gpio:gpio 编号

返回值:0表示成功,否则表示失败.

5.1.4.5.1.4.gpio_sysfs_set_active_low

gpio_sysfs_set_active_low int gpio_sysfs_set_active_low(unsigned gpio,int value)功能:设置导出gpio 的active_low 属性.参数:value:非0表示使用active_low.

gpio:gpio 编号

返回值:0表示成功,否则表示失败.

5.1.5.5.1.5.gpio_unexport

gpio_unexport void gpio_unexport(unsigned gpio)功能:取消gpio 的导出.

C o

n f i d

e n t i a

l

参数:gpio:gpio 编号

返回值:无.

5.1.

6.5.1.6.gpiochip_add

gpiochip_add int gpiochip_add(struct gpio_chip *chip)

功能:注册gpio_chip.

参数:chip:gpio_chip 结构.返回值:0表示成功,否则表示失败.

该函数一般被平台调用,用于支持标准gpio 接口.

5.1.7.5.1.7.gpiochip_remove

gpiochip_remove int gpiochip_remove(struct gpio_chip *chip)功能:注销gpio_chip.

参数:chip:gpio_chip 结构.返回值:0表示成功,否则表示失败.

5.1.8.5.1.8.gpiochip_find

gpiochip_find struct gpio_chip *gpiochip_find(void *data,

int (*match)(struct gpio_chip *chip,void *data))

功能:由gpio 号查找对应gpio_chip 结构.参数:data:match 函数的第二个参数.

match:平台提供的匹配函数.

返回值:成功返回找到的gpio_chip 句柄,NULL 表示失败.

5.1.9.

5.1.9.gpio_request gpio_request int gpio_request(unsigned gpio,const char *label)功能:申请gpio.获取gpio 的访问权.参数:gpio:gpio 编号.

label:gpio 名称,可以为NULL.

返回值:0表示成功,否则表示失败.

5.1.10.5.1.10.gpio_free

gpio_free void gpio_free(unsigned gpio)功能:释放gpio.

参数:gpio:gpio 编号.返回值:无.

C o

n f i d

e n t i a

l

5.1.11.5.1.11.gpio_request_one

gpio_request_one int gpio_request_one(unsigned gpio,unsigned long flags,const char *label)功能:申请gpio,并设置input/output 状态.参数:gpio:gpio 编号.

flags:输入输出状态.如GPIOF_IN 表示输入,GPIOF_OUT_INIT_HIGH 表示输出高电平.在\linux-3.3\include\linux\gpio.h 中定义.

/*make these flag values available regardless of GPIO kconfig options */#define GPIOF_DIR_OUT (0<<0)#define GPIOF_DIR_IN (1<<0)#define GPIOF_INIT_LOW (0<<1)#define GPIOF_INIT_HIGH(1<<1)

#define GPIOF_IN (GPIOF_DIR_IN)

#define GPIOF_OUT_INIT_LOW (GPIOF_DIR_OUT |GPIOF_INIT_LOW)#define GPIOF_OUT_INIT_HIGH (GPIOF_DIR_OUT |GPIOF_INIT_HIGH)

label:gpio 名称,可以为NULL.返回值:0表示成功,否则表示失败.

5.1.12.

gpio_request_array

int gpio_request_array(const struct gpio *array,size_t num)

功能:申请一组gpio,并设置input/output 状态.即对一组gpio 的每一项执行gpio_request_one 操作.

参数:array:gpio 数组.

num:array 的项数.

/**

*struct gpio -a structure describing a GPIO with configuration *@gpio:the GPIO number

*@flags:GPIO configuration as specified by GPIOF_**@label:a literal description string of this GPIO */

struct gpio {

unsigned gpio;unsigned long flags;const char *label;};

返回值:0表示成功,否则表示失败.

C o

n f i d

e n t i a

l

5.1.13.5.1.13.gpio_free_array

gpio_free_array void gpio_free_array(const struct gpio *array,size_t num)

功能:释放一组gpio.即对一组gpio 的每一项执行gpio_free 操作.参数:array:gpio 数组.

num:array 的项数.

返回值:无.

5.1.14.5.1.14.gpiochip_is_requested

gpiochip_is_requested const char *gpiochip_is_requested(struct gpio_chip *chip,unsigned offset)功能:测试gpio 是否已被申请.参数:chip:gpio 所在chip.

offset:chip 中的偏移.

返回值:NULL 表示当前gpio 未被申请,否则表示已申请.

5.1.15.5.1.15.gpio_direction_input

gpio_direction_input int gpio_direction_input(unsigned gpio)功能:将gpio 设置为input.参数:gpio:gpio 编号.

返回值:0表示成功,否则表示失败.

5.1.1

6.5.1.16.gpio_direction_output

gpio_direction_output int gpio_direction_output(unsigned gpio,int value)功能:将gpio 设置为output,并设置电平值.参数:gpio:gpio 编号.

value:gpio 电平值,非0表示高,0表示低.

返回值:0表示成功,否则表示失败.

5.1.17.5.1.17.gpio_set_debounce

gpio_set_debounce int gpio_set_debounce(unsigned gpio,unsigned debounce)功能:设置gpio 的debounce time(硬件特性).一般不用.参数:gpio:gpio 编号.

debounce:debounce 值.

返回值:0表示成功,否则表示失败.

C o

n f i d

e n t i a

l

5.1.18.5.1.18.__gpio_get_value

__gpio_get_value int __gpio_get_value(unsigned gpio)

功能:获取gpio 电平值.(gpio 已为input/output 状态)参数:gpio:gpio 编号.

返回值:gpio 电平,1表示高,0表示低.

5.1.19.5.1.19.__gpio_set_value

__gpio_set_value void __gpio_set_value(unsigned gpio,int value)功能:设置gpio 电平值.(gpio 已为output 状态)参数:gpio:gpio 编号.

value:gpio 电平值,非0表示高,0表示低.

返回值:无.

5.1.20.5.1.20.__gpio_cansleep

__gpio_cansleep int __gpio_cansleep(unsigned gpio)

功能:获取gpio 对应gpio_chip 的can_sleep 标记.(描述gpio 在配置时是否可睡眠)参数:gpio:gpio 编号.

返回值:对应gpio_chip 的can_sleep 成员.一般为非0.以防止操作gpio 时sleep.

5.1.21.5.1.21.__gpio_to_irq

__gpio_to_irq int __gpio_to_irq(unsigned gpio)功能:获取gpio 对应中断号.参数:gpio:gpio 编号.

返回值:获取gpio 对应的irq 号,若无则返回-ENXIO.

5.1.22.5.1.22.gpio_get_value_cansleep

gpio_get_value_cansleep int gpio_get_value_cansleep(unsigned gpio)

功能:功能与__gpio_get_value 相同,但函数首先会_cond_resched(),根据需要进行调度.

参数:gpio:gpio 编号.返回值:对应gpio 的电平值.

5.1.23.

5.1.23.gpio_set_value_cansleep gpio_set_value_cansleep void gpio_set_value_cansleep(unsigned gpio,int value)

功能:功能与__gpio_set_value 相同,但函数首先会_cond_resched(),根据需要进

C o

n f i d

e n t i a

l

行调度.

参数:

gpio:gpio 编号.

value:gpio 电平值,非0表示高,0表示低.

返回值:无.

5.2.多功能配置接口

5.2.1.5.2.1.sw_gpio_setcfg

sw_gpio_setcfg u32sw_gpio_setcfg(u32gpio,u32val)功能:配置gpio 的功能.参数:gpio:全局gpio 号

val:配置值

返回值:成功返回0,失败返回错误行号.

5.2.2.

5.2.2.sw_gpio_getcfg sw_gpio_getcfg u32sw_gpio_getcfg(u32gpio)功能:获取gpio 的配置值.参数:gpio:全局gpio 号

返回值:成功返回配置值,失败返回GPIO_CFG_INVALID.

5.2.3.5.2.3.sw_gpio_setpull

sw_gpio_setpull u32sw_gpio_setpull(u32gpio,u32val)功能:配置gpio 的pull.

参数:gpio:全局gpio 号

val:pull 值

返回值:成功返回0,失败返回错误行号.

5.2.4.5.2.4.sw_gpio_getpull

sw_gpio_getpull u32sw_gpio_getpull(u32gpio)功能:获取gpio 的pull 值.参数:gpio:全局gpio 号

返回值:成功返回pull 值,失败返回GPIO_PULL_INVALID.

5.2.5.5.2.5.sw_gpio_setdrvlevel

sw_gpio_setdrvlevel u32sw_gpio_setdrvlevel(u32gpio,u32val)功能:配置gpio 的driver level.

C o

n

f i d

e n t i a

l

参数:

gpio:全局gpio 号val:driver level 值

返回值:成功返回0,失败返回错误行号.

5.2.

6.5.2.6.sw_gpio_getdrvlevel

sw_gpio_getdrvlevel u32sw_gpio_getdrvlevel(u32gpio)功能:获取gpio 的driver level 值.参数:gpio:全局gpio 号

返回值:成功返回driver level 值,失败返回GPIO_DRVLVL_INVALID.

5.2.7.5.2.7.sw_gpio_setall_range

sw_gpio_setall_range u32sw_gpio_setall_range(struct gpio_config *pcfg,u32cfg_num)功能:配置一组gpio 的mul sel,pull,driver level,data.参数:pcfg:配置参数数组,输入.

cfg_num:pcfg 数组项数

返回值:成功返回0,失败返回错误行号.struct gpio_config {

u32gpio;/*gpio global index,must be unique */u32mul_sel;/*multi sel val:0-input,1-output...*/u32pull;/*pull val:0-pull up/down disable,1-pull up...*/u32drv_level;/*driver level val:0-level 0,1-level 1...*/u32data;/*data val:0-low,1-high,only vaild when mul_sel is input/output */};

注:对于pcf

pcfg g 的dat data a 成员,只有在pcfg pcfg->mul_se ->mul_se ->mul_sel l 为1,即outpu output t 时,函数内部才会处理:将该pin 的data 位设为高或低.

5.2.8.5.2.8.sw_gpio_getall_range

sw_gpio_getall_range u32sw_gpio_getall_range(struct gpio_config *pcfg,u32cfg_num)功能:获取一组gpio 的mul sel,pull,driver level,data.参数:pcfg:配置参数数组,输出.

cfg_num:pcfg 数组项数

返回值:成功返回0,失败返回错误行号.

注:对于pcfg 的data 成员,只有在pcfg

pcfg->mul_sel ->mul_sel 为0/1,即input/output 时,函数内部才会处理:读取该pin 的data 值,并赋给pcfg

pcfg->data.->data.

C o

n f i d

e n t i a

l

5.2.9.5.2.9.sw_gpio_dump_config

sw_gpio_dump_config void sw_gpio_dump_config(struct gpio_config *pcfg,u32cfg_num)功能:打印一组gpio 的mul sel,pull,driver level,data.参数:pcfg:配置参数数组,输出.

cfg_num:pcfg 数组项数

返回值:无.

5.2.10.sw_gpio_sw_gpio_suspend suspend suspend3

3u32sw_gpio_suspend(void)

功能:gpio 驱动suspend 的处理.暂未实现.返回值:成功返回0,失败返回错误行号.

5.2.11.sw_gpio_sw_gpio_resume

resume u32sw_gpio_resume(void)

功能:gpio 驱动resume 的处理.暂未实现.返回值:成功返回0,失败返回错误行号.

5.3.GPIO 中断接口

5.3.1.功能说明

sw_gpio_eint_set_trigtype:设置单个gpio 的触发模式.sw_gpio_eint_get_trigtype:获取单个gpio 的触发模式.

sw_gpio_eint_set_enable:设置单个gpio 中断的enable 状态.1表示enable,0表示disable.

sw_gpio_eint_get_enable:获取单个gpio 中断的enable 状态.

sw_gpio_eint_clr_irqpd_sta:清单个gpio 中断的irq pending.若pending 位未置则不处理.

sw_gpio_eint_get_irqpd_st:获取单个gpio 中断的pending 状态.1表示产生中断,0表示没有.

sw_gpio_eint_set_debounce:设置单个gpio 所属chip 的debounce,一般不用.sw_gpio_eint_get_debounce:获取单个gpio 所属chip 的debounce 信息,一般不用.

sw_gpio_eint_setall_range:设置一组gpio 的pull,driver level,trig type 等信息,设置完后,可以通过request_irq 申请该中断.

sw_gpio_eint_getall_range:获取一组gpio 的pull,driver level,trig type 等信息.sw_gpio_eint_dumpall_range:打印一组gpio 的pull,driver level,trig type 等信息.

C o

n f i d

e n t i a

l

调试用.

sw_gpio_irq_request:申请gpio 中断.内部调用sw_gpio_eint_setall_range 将gpio 配成中断功能.因此用户不必重复调用sw_gpio_eint_setall_range.

sw_gpio_irq_free:释放gpio 中断.

实际使用中,一般只用到sw_gpio_irq_request 和sw_gpio_irq_free.

5.3.2.函数说明

5.3.2.1.sw_gpio_irq_request

u32sw_gpio_irq_request(u32gpio,enum gpio_eint_trigtype trig_type,

peint_handle handle,void *para)

功能:申请gpio 中断.

参数:gpio:

gpio 编号.如PA0对应GPIOA(0).trig_type:触发类型.

enum gpio_eint_trigtype {

TRIG_EDGE_POSITIVE =0,TRIG_EDGE_NEGATIVE,TRIG_LEVL_HIGH,TRIG_LEVL_LOW,

TRIG_EDGE_DOUBLE,/*positive/negative */TRIG_INALID };

Handle:中断回调函数.当gpio 中断触发时回调.Para:handle 的参数.必须为全局,或者在堆中,不能为栈中的局部变量.

返回值:成功返回句柄,失败返回0.

注:sw_gpio_irq_request 内部会进行如下处理:(1)申请gpio 的访问权.调用gpio_request.(2)检测gpio 是否可配置成中断

(3)配置gpio 的功能(mul sel),pull,driver level,trig type,并打开gpio 中断的enable 位.这些通过调用sw_gpio_eint_setall_range 来完成.(4)分配gpio 中断句柄(gpio_irq_handle 结构)作为返回值

(5)向linux 内核申请中断.调用request_irq,并传入IRQF_SHARED 标记.

5.3.2.2.sw_gpio_irq_sw_gpio_irq_free

free u32sw_gpio_irq_free(u32handle)

功能:释放gpio 中断.与sw_gpio_irq_request 对应.参数:Handle:sw_gpio_irq_request 返回的句柄.

软件开发文档说明书(完整流程)

. 在软件行业有一句话:一个软件能否顺利的完成并且功能是否完善,重要是看这个软件有多少文档,软件开发文档是一个软件的支柱,如果你的开发文档漏洞百出,那么你所开发出来的软件也不可能会好;开发文档的好坏可以直接影响到所开发出来软件的成功与否。 一、软件开发设计文档:软件开发文档包括软件需求说明书、数据要求说有书、概要设计说明书、详细设计说明书。 1、软件需求说明书:也称为软件规格说明。该说明书对所开发软件的功能、性能、用户界面及运行环境等做出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。软件需求说明书的编制目的的就是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解、并使之面成为整个开发工作的基础。 其格式要求如下: 1 引言 1.1 编写目的。 1.2 背景 1.3 定义 2 任务概述 2.1 目标 2.2 用户的特点

. 2.3 假定和约束 3 需求规定 3.1 对功能的规定 3.2 对性能的规定 3.2.1 精度 3.2.2 时间特性的需求 3.2.3 灵活性 3.3 输入输出要求 3.4 数据管理能力要求 3.5 故障处理要求 3.6 其他专门要求 4 运行环境规定 4.1 设备 4.2 支持软件 4.3 接口 4.4 控制

. 2、概要设计说明书:又称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理。流程、程序系统的组织结构、模块划分、功能分配、接口设计。运河行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。 其格式要求如下: 1 引言 1.1 编写目的 1.2 背景 1.3 定义 1.4 参考资料 2 总体设计 2.1 需求规定 2.2 运行环境 2.3 基本设计概念和处理流程 2.4 结构 2.5 功能需求与程序的关系

软件开发文档模板

软件开发文档模板 1 可行性研究报告 可行性研究报告的编写目的是:说明该软件开发项目的实现在技术、经济和社会条件方面的可行性;评述为了合理地达到开发目标而可能先择的各种方案;说明论证所选定的方案。可行性研究报告的编写内容要求如下: 1.1 引言 1.1.1 编写目的 1.1.2 背景 1.1.3 定义 1.1.4 参考资料 1.2 可行性研究的前提 1.2.1 要求 1.2.2 目标 1.2.3 条件、假定和限制 1.2.4 进行可行性研究的方法 1.2.5 评价尺度 1.3 对现有系统的分析 1.3.1 数据流程和处理流程 1.3.2 工作负荷 1.3.3 费用开支 1.3.4 人员 1.3.5 设备 1.3.6 局限性 1.4 所建议的系统 1.4.1 对所建议系统的说明 1.4.2 数据流程各处理流程 1.4.3 改进之处 1.4.4 影响 1.4.4.1 对象设备的影响 1.4.4.2 对软件的影响 1.4.4.3 对用户单位机构的影响 1.4.4.4 对系统动行的影响 1.4.4.5 对开发的影响 1.4.4.6 对地点和设施的影响 1.4.4.7 对经费开支的影响 1.4.5 局限性 1.4.6 技术条件方面的可行性 1.5 可选择其他系统方案 1.5.1 可选择的系统方案 1 1.5.2 可选择的系统方案 2 …… 1.6 投资及收益分析 1.6.1 支出 1.6.1.1 基本建设投资

1.6.1.2 其他一次性支出 1.6.1.3 非一次性支出 1.6.2 收益 1.6. 2.1 一次性收益 1.6. 2.2 非一次性收益 1.6. 2.3 不可定量的收益 1.6.3 收益/投资比 1.6.4 投资回收周期 1.6.5 敏感性分析 1.7 社会条件方面的可行性 1.7.1 法律方面的可行性 1.7.2 使用方面的可行性 1.8 结论 2 项目开发计划 编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度所需经费预算、所需软、硬件条件等问题作出安排记载下来,以便根据本计划开展和检查本项目的开发工作。编制内容要求如下: 2.1 引言 2.1.1 编写目的 2.1.2 背景 2.1.3 定义 2.1.4 参考资料 2.2 项目概述 2.2.1 工作内容 2.2.2 主要参加人员 2.2.3 产品及成果 2.2. 3.1 程序 2.2. 3.2 文件 2.2. 3.3 服务 2.2. 3.4 非移交产品 2.2.4 验收标准 2.2.5 完成项目的最迟期限 2.2.6 本计划的审查者与批准者 2.3 实施总计划 2.3.1 工作任务的分解 2.3.2 接口人员 2.3.3 进度 2.3.4 预算 2.3.5 关键问题 2.4 支持条件 2.4.1 计算机系统支持 2.4.2 需要用户承担的工作 2.4.3 需由外单位提供的条件 2.5 专题计划要点

软件开发文档说明(又全又详细)

在软件行业有一句话:一个软件能否顺利的完成并且功能是否完善,重要是看这个软件有多少文档,软件开发文档是一个软件的支柱,如果你的开发文档漏洞百出,那么你所开发出来的软件也不可能会好;开发文档的好坏可以直接影响到所开发出来软件的成功与否。 一、软件开发设计文档:软件开发文档包括软件需求说明书、数据要求说有书、概要设计说明书、详细设计说明书。 1.软件需求说明书:也称为软件规格说明。该说明书对所开发软件的功能、性能、用户界面及运行环境等做出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。软件需求说明书的编制目的的就是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解、并使之面成为整个开发工作的基础。 其格式要求如下: 1 引言1.1 编写目的。1. 2 背景1. 3 定义 2 任务概述2.1 目标2.2 用户的特点2. 3 假定和约束 3 需求规定3.1 对功能的规定3.2 对性能的规定3.2.1 精度3.2.2 时间特性的需求3.2.3 灵活性3.3 输入输出要求3. 4 数据管理能力要求3. 5 故障处理要求3. 6 其他专门要求 4 运行环境规定4.1 设备4.2 支持软件4.3 接口4.4 控制 2.概要设计说明书:又称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理。流程、程序系统的组织结构、模块划分、功能分配、接口设计。运河行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。 其格式要求如下: 1 引言1.1 编写目的1. 2 背景1. 3 定义1. 4 参考资料 2 总体设计2.1 需求规定2.2 运行环境2. 3 基本设计概念和处理流程2. 4 结构2. 5 功能需求与程序的关系2. 6 人工处理过程2. 7 尚未解决的问题 3 接口设计3.1 用户接口3.2 外部接口3.。3 内部接口 4 运行设计4.1 运行模块的组合4.2 运行控制4.3 运行时间 5 系统数据结构设计5.1 逻辑结构设计要点5.2 物理结构设计要求5.3 数据结构与程序的关系 6 系统出错处理设计6.1 出错信息6.2 补救措施6.3 系统维护设计。 3.详细设计文档:主要是把我们每个小模块,小功能的业务逻辑处理用文字的方式表达出来,让程序员在编码的时

软件开发设计文档模板

软件文档编写指南 封面格式: 文档编号 版本号 文档名称: 项目名称: 项目负责人: 编写年月日 校对年月日 审核年月日 批准年月日 开发单位 系统规约说明书(System Specification) 一.引言 A.文档的范围和目的 B.概述 1.目标 2.约束 二.功能和数据描述 A.系统结构 1.结构关系图 2.结构关系图描述 三.子系统描述 A.子系统N的结构图规约说明 B.结构字典 C.结构连接图和说明 四.系统建模和模拟结构 A.用于模拟的系统模型

B.模拟结果 C.特殊性能 五.软件项目问题 A.软件项目可行性研究报告 B.软件项目计划 六.附录 软件项目可行性研究报告(Report for Feasibility Study) 一.引言 1.编写目的(阐明编写可行性研究报告的目的,指出读者对象) 2.项目背景(应包括:(1)所建议开发的软件名称;(2)项目的任务提出者、开发者、用户及实现单位;(3)项目与其他软件或其他系统的关系。) 3.定义(列出文档中用到的专门术语的定义和缩略词的原文。) 4.参考资料(列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源。)二.可行性研究的前提 1.要求(列出并说明建议开发软件的基本要求,如(1)功能;(2)性能;(3)输出;(4)输入;(5)基本的数据流程和处理流程;(6)安全与保密要求;(7)与软件相关的其他系统;(8)完成期限。) 2.目标(可包括:(1)人力与设备费用的节省;(2)处理速度的提高;(3)控制精度和生产能力的提高;(4)管理信息服务的改进;(5)决策系统的改进;(6)人员工作效率的提高,等等。) 3.条件、假定和限制(可包括:(1)建议开发软件运行的最短寿命;(2)进行系统方案选择比较的期限;(3)经费来源和使用限制;(4)法律和政策方面的限制;(5)硬件、软件、运行环境和开发环境的条件和限制;(6)可利用的信息和资源;(7)建议开发软件投入使用的最迟时间。) 4.可行性研究方法 5.决定可行性的主要因素 三.对现有系统的分析 1.处理流程和数据流程 2.工作负荷 3.费用支出(如人力、设备、空间、支持性服务、材料等项开支。) 4.人员(列出所需人员的专业技术类别和数量。) 5.设备 6.局限性(说明现有系统存在的问题以及为什么需要开发新的系统。) 四.所建议技术可行性分析 1.对系统的简要描述 2.处理流程和数据流程 3.与现有系统比较的优越性 4.采用建议系统可能带来的影响 (1)对设备的影响 (2)对现有软件的影响

软件开发过程和文档模板说明

软件开发过程和文档模板说明

目录 软件开发过程和文档模板说明1 1引言2 1.1目的2 1.2对象2 1.3范围2 1.4缩略语2 2软件开发流程3 3软件开发文档说明3 4附录4 1引言 1.1目的 本文档用于当前阶段的面阵热像仪软件功能学习培训文档的写作指引。目前仅包括了软件开发文档说明章节。 后续为指引正规的软件开发过程,将进行完善。 1.2对象 1.3范围 1.4缩略语

2软件开发流程 3软件开发文档说明 举例来说: Servo DSP软件功能框图如下所示: XX产品软件设计规格说明书(SD):产品总体设计。描述为完成某个功能,上图中不同的模块如何协同工作的,输入为该功能的触发条件,输出为该功能的外部表现,处理为各个模块的工作流程。 如程序加载的功能,涉及上图的BDMA经管模块,串口经管模块,操作维护和消息经管模块等。 XX产品YY模块软件需求规格说明书(SRS):模块总体设计。描述为完成某个需求(针对某一个模块的功能需求),模块的实现方法。输入和输出针对特定的模块,处理为模块内部的实现方法。 如针对BDMA经管模块,需求规格包括FLASH块擦除功能,FLASH写功能,FLASH读功能等。输入来自串口经管模块等,输出表现在串口经管模块和FLASH内部及内存内容的变化。 XX产品YY模块软件概要设计说明书(HLD):模块内部设计。描述某个模块为完成功能需求,再往下一层次的分解和设计,具体到函数组级或者函数级。

如BDMA经管模块针对FLASH写功能的实现,包括读取源数据,启动FLASH写过程(写命令,传送地址,传送数据),校验等等过程。 XX产品YY模块软件详细设计说明书(LLD):函数设计。描述函数内部如何实现,通常等同于代码的函数注释。一般本文档和本阶段可以裁减。 4附录

软件开发流程说明文档

软件开发流程说明文档 作者:知名企业中心第一步:需求调研分析 1、相关系统分析员向用户初步了解需求,然后用word列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。 2、系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚列出系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。 3、系统分析员向用户再次确认需求。 第二步:概要设计 首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。 第三步:详细设计 在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据

详细设计报告进行编码。 第四步:编码 在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。 第五步:测试 测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。 第六步:软件交付准备 在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。《用户安装手册》应详细介绍安装软件对运行环境的要求、安装软件的定义和内容、在客户端、服务器端及中间件的具体安装步骤、安装后的系统配置。 《用户使用指南》应包括软件各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明。 第七步:验收 用户验收。

软件开发文档说明【推荐】

软件开发文档说明(完整流程) 在软件行业有一句话:一个软件能否顺利的完成并且功能是否完善,重要是看这个软件有多少文档,软件开发文档是一个软件的支柱,如果你的开发文档漏洞百出,那么你所开发出来的软件也不可能会好;开发文档的好坏可以直接影响到所开发出来软件的成功与否。 一、软件开发设计文档:软件开发文档包括软件需求说明书、数据要求说有书、概要设计说明书、详细设计说明书。 1、软件需求说明书:也称为软件规格说明。该说明书对所开发软件的功能、性能、用户界面及运行环境等做出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。软件需求说明书的编制目的的就是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解、并使之面成为整个开发工作的基础。 其格式要求如下: 1 引言 1.1 编写目的。 1.2 背景 1.3 定义 2 任务概述

2.1 目标 2.2 用户的特点 2.3 假定和约束 3 需求规定 3.1 对功能的规定 3.2 对性能的规定 3.2.1 精度 3.2.2 时间特性的需求 3.2.3 灵活性 3.3 输入输出要求 3.4 数据管理能力要求 3.5 故障处理要求 3.6 其他专门要求 4 运行环境规定 4.1 设备 4.2 支持软件 4.3 接口 4.4 控制

2、概要设计说明书:又称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理。流程、程序系统的组织结构、模块划分、功能分配、接口设计。运河行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。 其格式要求如下: 1 引言 1.1 编写目的 1.2 背景 1.3 定义 1.4 参考资料 2 总体设计 2.1 需求规定 2.2 运行环境 2.3 基本设计概念和处理流程 2.4 结构 2.5 功能需求与程序的关系 2.6 人工处理过程 2.7 尚未解决的问题 3 接口设计 3.1 用户接口 3.2 外部接口 3.。3 内部接口

软件开发文档范例-需求分析说明书

机票预定系统需求分析 机票预定系统的功能要求 机票预定系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。 根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server 结构,将机票预定系统划分为两个子系统:客户端子系统,服务器端子系统。 旅客订票流程图:

旅客取票图: 下面分析各个子系统的功能需求: 1.客户端子系统: 在客户端系统的功能实现上,可以分为以下几个部分: [1]旅客信息的输入和统计 旅行社把旅客要求订票的信息由专人负责输入。这部分功能是客户端子系统 的基本部分,这个功能是以后各个部分的基础。系统要求做到即能够从其它子系 统中共享一部分信息,又有方便的操作界面工手工输入旅客信息。这部分要求对输入的数据进行简单的统计,供航空公司进行查询和宏观调控。 [2]旅客信息的存储: 将旅客的信息存储到旅行社的客户端系统中,以备以后的取票确认以及查 询。 [3]机票信息的传递及接收: 将旅客所须的机票信息由旅行社客户端由网络传到航空公司的服务器上,并且接受航空公司返回的航班信息,然后存储起来。 [4]取票通知及帐单的生成和打印: 把已存储的从航空公司返回的航班机票信息打印出来,并且生成帐单打印出来一起交给旅客。 印出机票给已经订票的旅客:根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。 [5]机票销售情况的核算 这一功能是在上一功能的基础上,对机票销售额进行单项核算,得到该旅行社的销

软件开发文档说明(完整流程)

软件开发文档说明(完整流程)

在软件行业有一句话:一个软件能否顺利的完成并且功能是否完善,重要是看这个软件有多少文档,软件开发文档是一个软件的支柱,如果你的开发文档漏洞百出,那么你所开发出来的软件也不可能会好;开发文档的好坏可以直接影响到所开发出来软件的成功与否。 一、软件开发设计文档:软件开发文档包括软件需求说明书、数据要求说有书、概要设计说明书、详细设计说明书。 1、软件需求说明书:也称为软件规格说明。该说明书对所开发软件的功能、性能、用户界面及运行环境等做出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。软件需求说明书的编制目的的就是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解、并使之面成为整个开发工作的基础。 其格式要求如下: 1 引言 1.1 编写目的。 1.2 背景 1.3 定义 2 任务概述 2.1 目标 2.2 用户的特点 2.3 假定和约束 3 需求规定 3.1 对功能的规定 3.2 对性能的规定 3.2.1 精度 3.2.2 时间特性的需求 3.2.3 灵活性 3.3 输入输出要求 3.4 数据管理能力要求 3.5 故障处理要求 3.6 其他专门要求 4 运行环境规定 4.1 设备 4.2 支持软件 4.3 接口 4.4 控制 2、概要设计说明书:又称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理。流程、程序系统的组织结构、模块划分、功能分配、接口设计。运河行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。

软件项目开发说明书.doc

文档编号: LMS—1 版本号: V1.0 文档名称:开发计划书 项目名称:图书管理系统 项目负责人:许萦英、高俊麒、耿慧 编写:许萦英2004年12月25日 校对:许萦英2004年12月25日 审核:许萦英2004年12月25日 批准:许萦英2004年12月25日 开发单位:常州工学院计算机信息工程学院01计本一班

开发计划书 1引言 1. 1编写目的 编写本文档的目的是根据系统分析工程师和客户沟通的结果,对用户需求进行了全面细致的分析,深入描述《图书管理系统》软件的功能和性能与界面,确定该软件设计的限制和定义软件的其他有效性需求。 该需求规格说明书的读者对象是图书管理系统的系统管理员及用户。 根据编写本文档的目的是根据系统分析工程师和客户沟通的结果,对用户需求进行了全面细致的分析,对开发计划进行了总体的规划。 该需求规格说明书的读者对象是图书管理系统软件小组的研发工程师、测试工程师、销售工程师,版权归上述成员所有,严禁外传。 1.2 背景 随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。 本图书管理系统软件是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用。 1.3定义 文档中采用的专门术语的定义及缩略词简要如下: LMS:Library Management System,图书管理系统 1. 4参考资料 [1]郑人杰,殷人昆,陶永雷。《实用软件工程》(第二版)。北京:清华大学出版社,1997。 [2]王立福,麻志毅,张世琨。《软件工程》(第二版)北京:北京大学出版社,2002。 [3]唐学忠,樊为民。《Visual Basic程序设计教程》中国电力出版社 [4]费贤举的关于开发图书管理系统的批文。

软件开发文档编写要求

软件开发文档编写要求 在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。 ◇可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 ◇项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。 ◇软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。 ◇概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。 ◇详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。 ◇用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。 ◇测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。 ◇测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。 ◇开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。 ◇项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。 ◇软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。 ◇软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。 ◇软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。

软件开发文档范例 详细设计说明书

《五.详细设计说明书》 1、引言: 1、1编写目的: 在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。 在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。主要的工作有:根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《概要设计说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),解决如何 1.接受:旅客信息及取票通知和帐单; 2.输出:取票通知和帐单及机票; 3.网络输出和加密,输入和解密; 4.分辨信息的种类并采取相应的处理步骤; 5.判断信息的正误并采取相应的处理步骤; 6.进行数据库的查询、修改工作; 7.接受并判断错误,输出相应的出错消息; 在以下的各个阶段中,《用户操作手册》将与本阶段的工作紧密结合,努力作到让用户易懂易学。《测试报告》和《维护报告》也将参考本说明书,检验本系统的各项性能指标,及时发现纰漏及时修补,一定要把功能强大、稳定可靠、便于维护的机票预定系统交到用户手中。 1、2项目背景: 本项目(机票预定系统)时由浙江航空公司委托,由《》软件开发小组负责开发。 本机票预定系统项目主要由两部分形成: 1、各旅行社中的前台客户程序; 2、航空公司中的数据库服务器程序;

Web软件开发文档(模板)

毕业设计 此处为课题名称 设计作者: 专业:____________________ 学号:____________________ 班级:____________________ 指导教师:____________________ 答辩委员会主席____________ 评阅人_______ _______ 答辩日期__________________

独创性声明 本人声明所呈交的毕业设计文档是我个人在导师指导下进行的研究工作及取得的成果。尽我所知,除文中已经标明引用的内容外,本设计文档不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 作者签名: 日期:年月日 毕业设计文档版权使用授权书 本毕业设计文档作者完全了解学校有关保留、使用毕业设计文档的规定,即:学校有权保留并向有关部门或机构送交设计文档的复印件和电子版,允许设计文档被查阅和借阅。本人授权河南经贸职业学院要以将本设计文档的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本设计文档。 保密□,在________年解密后适用本授权书。 本设计文档属于 不保密□。 (请在以上方框内打“√”) 毕业设计文档作者签名:指导教师签名: 日期:年月日日期:年月日

目录 1 《网上购物系统》需求规格说明书 (1) 1.1文档介绍 (1) 1.1.1 文档目的 (1) 1.1.2 文档范围 (1) 1.1.3 读者对象 (1) 1.2产品介绍 (1) 1.3产品面向的用户群体 (1) 1.4产品应当遵循的标准或规范 (1) 1.5产品范围 (1) 1.6产品中的角色 (1) 1.7产品的功能性需求 (1) 1.7.1系统用例图 (2) 1.7.2用例说明 (2) 1.8产品的非功能性需求 (2) 1.8.1 用户界面需求 (2) 1.8.2 软硬件环境需求 (2) 1.8.3 产品质量需求 (2) 1.8.4 其它需求 (3) 2《网上购物系统》数据库设计报告 (4) 2.1文档介绍 (4) 2.1.1 文档目的 (4) 2.1.2 文档范围 (4) 2.1.3 读者对象 (4) 2.1.4 术语与缩写解释 (4) 2.2数据库环境说明 (4) 2.3概念结构设计 (4) 2.4逻辑结构设计 (4) 2.4.1 表汇总 (5) 2.4.2 [中文表名1]表 (5) 2.4.3 [中文表名2]表 (5) 2.5安全性设计 (5) 2.6数据库管理与维护说明 (5)

软件开发过程文档规范标准

1.1需求规格说明书 需求规格相当于软件开发的图纸,一般说,软件需求规格说明书的格式可以根 据项目的具体情况采用不同的格式,没有统一的标准。下面是一个可以参照的 软件需求规格说明书的模板。 1.导言 1.1目的 [说明编写这份项目需求规格的目的,指出预期的读者] 1.2背景 说明: a)待开发的产品名称; b)本项目的任务提出者、开发者、用户及实现该产品的单位; c)该系统同其他系统的相互来往关系。 1.3缩写说明 [缩写] [缩写说明] 列出本文件中用到的外文首字母组词的原词组。 1.4术语定义 [术语] [术语定义] 列出本文件中用到的专门术语的定义。 1.5参考资料 [编号]《参考资料》[版本号] 列出相关的参考资料。 1.6版本更新信息 具体版本更新记录如表所列。 表版本更新记录 2.任务概述 2.1 系统定义 本节描述容包括: ●项目来源及背景; ●项目要达到的目标,如市场目标、技术目标等; ●系统整体结构,如系统框架、系统提供的主要功能,涉及的接口等; ●各组成部分结构,如果所定义的产品是一个更大的系统的一个组成部分, 则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一方 框图来说明该系统的组成和本产品同其他各部分的联系和接口。 2.2 应用环境 本节应根据用户的要求对系统的运行环境进行定义,描述容包括: ●设备环境; ●系统运行硬件环境;

●系统运行软件环境; ●系统运行网络环境; ●用户操作模式; ●当前应用环境。 2.3 假定和约束 列出进行本产品开发工作的假定和约束,例如经费限制、开发期限等。列出本产品的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长以及本产品的预期使用频度等重要约束。 3.需求规定 1.1对功能的规定 本节依据合同中定义的系统组成部分分别描述其功能,描述应包括: ●功能编号; ●所属产品编号; ●优先级; ●功能定义; ●功能描述。 1.2对性能的规定 本节描述用户对系统的性能需求,可能的系统性能需求有: ●系统响应时间需求; ●系统开放性需求; ●系统可靠性需求; ●系统可移植性和可扩展性需求; ●系统安全性需求; ●现有资源利用性需求。 1.2.1精度 说明对该产品的输入、输出数据精度的要求,可能包括传输过程中的精度。 1.2.2时间特性要求 说明对于该产品的时间特性要求,如对: a)响应时间; b)更新处理时间; c)数据的转换和传送时间; d)计算时间等的要求。 1.2.3灵活性 说明对该产品的灵活性的要求,即当需求发生某些变化时,该产品对这些变化的适应能力,如: a)操作方式上的变化; b)运行环境的变化; c)同其他系统的接口的变化; d)精度和有效时限的变化; e)计划的变化或改进。 对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。 1.3输入输出的要求 解释各输入输出的数据类型,并逐项说明其媒体、格式、数值围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告

软件开发需求说明书文档

教师授课系统管理平台 需求说明书 2013-3

目录 1.引言错误!未定义书签。 1.1 编写的目的错误!未定义书签。 1.2 背景错误!未定义书签。 1.3 项目专用术语错误!未定义书签。 1.4 参考资料错误!未定义书签。 2.任务概述错误!未定义书签。 2.1 目标错误!未定义书签。 2.2 运行环境错误!未定义书签。 2.3 条件与限制错误!未定义书签。 2.4 工作流程错误!未定义书签。 3.数据描述错误!未定义书签。 3.1 数据库结构错误!未定义书签。 3.2 代码字典错误!未定义书签。 3.3 数据采集错误!未定义书签。 4.功能需求错误!未定义书签。 4.1 总体需求错误!未定义书签。 4.1.1 用户界面错误!未定义书签。 4.1.2 表格编辑打印错误!未定义书签。 4.1.3 图型编辑打印错误!未定义书签。 4.1.4 数据编辑错误!未定义书签。 4.1.5 系统兼容性错误!未定义书签。 4.1.6 输入输出接口错误!未定义书签。 4.2 系统功能模块及需求(一) 错误!未定义书签。 4.2.1 模块结构错误!未定义书签。 4.2.2 功能描述错误!未定义书签。 4.2.3 工作流图错误!未定义书签。 4.2.4 数据流图错误!未定义书签。 4.2.5 UML图错误!未定义书签。 5.性能需求错误!未定义书签。 5.1 对性能的规定错误!未定义书签。 5.1.1 精度错误!未定义书签。 5.1.2 时间特性要求错误!未定义书签。 5.1.3 灵活性错误!未定义书签。 5.2 输入输出要求错误!未定义书签。 5.3 数据管理能力要求(针对软件系统)错误!未定义书签。 5.4 故障处理要求错误!未定义书签。 5.5 其他专门要求错误!未定义书签。

软件开发文档之详细设计说明书

软件开发文档之详细设计说明书 时间:2008-03-24 12:31:06 来源: 作者: 点击量:[ 繁體中文] 1.引言 1.1 编写目的 说明编写这份详细设计说明书的目的,指出预期的读者。 1.2 背景 说明: a.待开发的软件系统的名称; b.列出本项目的任务提出者、开发者、用户以及将运行该项软件的计算中心。 1.3 定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1.4 参考资料 列出用得着的参考资料,如: a.本项目的经核准的计划任务书或合同、上级机关的批文; b.属于本项目的其他已发表的文件; c.本文件中各处引用到的文件资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。 2. 程序系统的结构 用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。 3. 程序1(标识符)设计说明 从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。3.1 程序描述 给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?是否子程序?是可重用的还是不可重用的?有无覆盖要求?是顺序处理还是并发处理……等)。

3.2 功能 说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。 3.3 性能 说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。 3.4 输入项 给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。 3.5 输出项 给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。 3.6 算法 详细说明本程序所选用的算法,具体的计算公式和计算步骤。 3.7 流程逻辑 用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。 3.8 接口 用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。 3.9 存储分配 根据需要,说明本程序的存储分配。 3.10 注释设计 说明准备在本程序中安排的注释,如: a.加在模块首部的注释; b.加在各分枝点处的注释;对各变量的功能、范围、缺省条件等所加的注释; c.对使用的逻辑所加的注释等等。 3.11 限制条件 说明本程序运行中所受到的限制条件。 3.12 测试计划 说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。 3.13 尚未解决的问题

ISO软件开发全套文档 概要设计说明书_

概要设计说明书 版本 <1.0>

修订历史记录

目录 1.引言4 1.1编写目的4 1.2背景4 1.3定义4 1.4参考资料4 2.总体设计4 2.1需求规定4 2.2运行环境4 2.3基本设计概念和处理流程4 2.4结构4 2.5功能器求与程序的关系4 2.6人工处理过程4 2.7尚未解决的问题4 3.接口设计5 3.1用户接口5 3.2外部接口5 3.3内部接口5 4.运行设计5 4.1运行模块组合5 4.2运行控制5 4.3运行时间5 5.系统数据结构设计5 5.1逻辑结构设计要点5 5.2物理结构设计要点5 5.3数据结构与程序的关系5 6.系统出错处理设计5 6.1出错信息5 6.2补救措施5 6.3系统维护设计5

概要设计说明书 1.引言 1.1编写目的 说明编写这份概要设计说明书的目的,指出预期的读者。 1.2背景 说明: a.待开发软件系统的名称; b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。 1.3定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1.4参考资料 列出有关的参考文件,如: a.本项目的经核准的计划任务书或合同,上级机关的批文; b.属于本项目的其他已发表文件; c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编 号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2.总体设计 2.1需求规定 说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。 2.2运行环境 简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。 2.3基本设计概念和处理流程 说明本系统的基本设计概念和处理流程,尽量使用图表的形式。 2.4结构 用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系. 2.5功能器求与程序的关系 2.6人工处理过程 说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。 2.7尚未解决的问题 说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。

软件开发文档规范

附2: 软件文档编写向导 文档分类 项目包括如下几类文档: 项目管理文档。包括:《软件项目计划》、《项目进度报告》、《项目开发总结报告》 软件开发文档。包括:《需求规格说明》、《概要设计说明》、《详细设计说明》、《测试计划》、《软件测试分析报告》。 产品文档。包括:《用户操作手册》《演示文件》。 软件项目计划 (Software Project Plan) 一.引言 1.编写目的(阐明编写软件计划的目的,指出读者对象。) 2.项目背景(可包括:(1)项目委托单位、开发单位和主管部门;(2)该软件系统与其他系统的关系。) 3.定义(列出本文档中用到的专门术语的定义和缩略词的原文。) 4.参考资料(可包括:文档所引用的资料、规范等;列出资料的作者、标题、编号、发表日期、出版单位或资料来源。) 二.项目概述 1. 工作内容(简要说明项目的各项主要工作,介绍所开发软件的功能性能等. 若不编写可行性研究报告,则应在本节给出较详细的介绍。) 2. 条件与限制(阐明为完成项目应具备的条件开发单位已具备的条件以及尚需创造的条件. 必要时还应说明用户及分合同承包者承担的工作完成期限及其它条件与限制。) 3. 产品 (1)程序(列出应交付的程序名称使用的语言及存储形式。) (2)文档(列出应交付的文档。) (3)运行环境(应包括硬件环境软件环境。) 4.服务(阐明开发单位可向用户提供的服务. 如人员培训安装保修维护和其他运行支持。)5.验收标准

三.实施计划 1.任务分解(任务的划分及各项任务的负责人。) 2.进度(按阶段完成的项目,用图表说明开始时间完成时间。) 3.预算 4.关键问题(说明可能影响项目的关键问题,如设备条件技术难点或其他风险因素,并说明对策。) 四.人员组织及分工 五.交付期限 六.专题计划要点(如测试计划等。) 项目开发进度报告 一.报告时间及所处的开发阶段 二.给出进度 1.本周的主要活动 2.实际进展与计划比较 三.所用工时(按不同层次人员分别计时。) 四.所有机时 五.工作遇到的问题及采取的对策 六.本周完成的成果 七.下周的工作计划 八.特殊问题 项目开发总结报告 一.引言 1.编写目的(阐明编写总结报告的目的,指明读者对象。) 2.项目背景(说明项目的来源、委托单位、开发单位及主管部门。) 3.定义(列出报告中用到的专门术语定义和缩写词的原意。) 4.参考资料(列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:(1)项目开发计划;(2)需求规格说明书;(3)概要设计说明书;(4)详细设计说明书;(5)用户操作手册;(6)测试计划;(7)测试分析报告(8)本报告引用的其他资料、采用的开发标准或开发规范。)

相关文档
相关文档 最新文档