arm+linux开发平台软件需求规格说明书.doc文档编号:
Arm+Linux开发平台软件需求规格书
单位:
编制人:
日期:
校对:
日期:
审核:
日期:
批准:
日期:
修改记录
日期
版本
描述
修改人
目录
1. 引言 4
. 编写目的 4
. 名词解析 4
. 参考资料 4
2. 运行环境 4
. 硬件环境 4
. 软件环境 4
3. 功能需求 4
. 功能划分 5
. 功能描述 5
. 5
. 5
4. 接口需求 5
. 接口划分 5
. 接口描述 5
. 5
. 5
5. 性能需求 5
. 稳定性 5
. 实时性 5
. 可扩展性 5
. 可维护性 5
6. 运行需求 5
. 开机界面 6
. 即插即用 6
7. 其他需求 6
引言
编写目的
为了能够使arm+linux平台外协合作方了解我们公司软件需求规格,按照计划完成该arm+linux平台的外协开发,为了能够协调好外协工作的顺利进行和需求规格的交流,特制定并编写本平台软件需求规格书。
名词解析
名词
解析
参考资料
《arm+linux平台研制要求》 2011年4月12日
运行环境
硬件环境
CPU:S3C2440,主频400MHz
Ram:64MByte
NandFlash:256MByte
软件环境
Bootloader:Uboot
Linux内核:Linux-
NandFlash文件系统:Yaffs2
Rootfs文件系统:
功能需求
功能划分
该软件功能可以细分为以下4部分:A/D数据采集处理和D/A模拟量输出,外围接口通信,数据存储,界面显示和操作,
功能描述
A/D数据采集处理和D/A模拟量输出
S3C2440与FPGA高速采集卡之间的接口为:CPCI接口。FPGA高速采集卡的功能是把输入的-5V~+5V模拟电平信号以200KSPS~1MSPS的采样速率输入到A/D转换电路中。A/D转换电路通过量化和编码把模拟信号转换成数字信号,然后S3C2440处理器把数字信号传送给上层应用程序。所以首先要编写合理的符合业务需要的A/D驱动程序。
A/D驱动程序的主要功能是:打开和关闭A/D转换器以及对A/D转换器的转换结果进行读取操作。打开、关闭、读取A/D转换器对应的底层操作函数依次为:
static int adc_enable(int ch);
static int adc_disbale();
static int adc_read(int ch);
A/D驱动程序通过I/O控制函数顺序调用adc_enable()、adc_read()、adc_disable()这3个函数实现对模拟信号的采集、转换和输出。I/O控制函数的声明如下:
ssize_t adc_ioctl( struct inode* inode, struct file* file, unsigned int cmd, unsigned ling arg)
接着完善A/D驱动程序的文件操作结构,其文件操作结构如下:
static struct file_operations adc_ops{
read: adc_read,
write: adc_write,
ioctl: adc_ioctl,
open: adc_open,
release:adc_release,
}
然后编写A/D转换器驱动程序的初始化函数,其函数声明如下:static int _init HW_AD_init(void);函数内部调用了内核函数devfs_register_chardev()来注册A/D转换设备和devfs_register()来获得A/D转换设备的操作句柄。
然后编写A/D驱动程序的模块加载和卸载函数。
Static int _init AD_init(void);//内部调用初始化函数来完成模块加载
Static void _exit cleanup_AD(void);//内部调用devfs_unregister_chrdev()和devfs_unregister()来完成模块卸载。
上层用户应用程序在接收到A/D转换结果后,要进行以下操作:
1.
2.
3.
外围接口通信
该平台的外围接口包括:串口、网口、USB口、按键接口、LVDS触摸屏显示接口、GPIO口、CPCI接口、CAN口和I2C口。目前,linux内核选用的是linux-,而这个版本的内核所有的驱动程序都支持热插拔。所以要
arm+linux开发平台软件需求规格说明书 来自淘豆网m.daumloan.com转载请标明出处.