nucleus源码分析--io

nucleus源码分析--io

ID:27674577

大小:185.26 KB

页数:13页

时间:2018-12-05

nucleus源码分析--io_第1页
nucleus源码分析--io_第2页
nucleus源码分析--io_第3页
nucleus源码分析--io_第4页
nucleus源码分析--io_第5页
资源描述:

《nucleus源码分析--io》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、多媒体技木部文档编号:Nucleus源码分析_IO驱动大唐微电子技术有限公司作者名称蔡维林页数修改后版本修改者修改U期修改说明备注10DocumentinformationFileLocationD:xXXXXXXXXXX.doc(请说明在文档服务器上的位置)Lastsaved2004-6-149:28目录讎31.1功能描述31.2实现原理31.3文件信息3醐鍋3W撕61.4ioc.c程序61.4.1创建驱动61.4.2删除驱动71.4.3驱动程序操作请求81.4.4释放驱动81.4.5挂起驱动91.5ioce.c文件程呼10

2、1.6iof.c程序111.7ioi.c11多媒体技木部文档编号:1.1功能描述I/O设备管理组件负责所有的NucleasPLUS输入输出设备。NucleasPLUSI/O提供标准的I/O设备接口:初始化、分配、释放、输入输出、状态、终止。该接口通过一个通用的数据结构来操作,使得应用程序以相似的或完全相同的方式处理不同的外围设备。任务在等待一个外部没备时讨以被挂起,I/O没备可以被用户动态创建和删除。1.2实现原理应川程序和驱动程序交流信息主要是通过一个叫做“操作淸求结构NUJ)RTVER_REQUEST”的数据结构來完成,应川程

3、序事先把要谘求的操作信息填入NU_DR1VER_REQUEST,然后再通过NU_Request^Driver函数把NU_DRTVER_REQUEST信息传递给驱动稈序,驱动程序根据NU_DRIVERREQUEST中的信息作ffl应的处理,毡括有设备初始化、分配、释放、输入输出、状态、终止。1.3文件信息I/O组件(I/O)包括7个文件,每个文件命名如下:文件名称內各描述IO_DEFS.H定义IO组件特定的数裾结构和常堂。10一EXTR.H定义IO组件的外部接U函数。IOD.C定义IO组件的全局数裾结构。IOI.C10绀件的初始化代

4、码IOF.C提供IO組件信息的蚋数IOC.CIO组件的核心蚋数,实现基本的输入输出IOCE.C具有外壳检测I0C.C中的函数:据结构驱动初始化结构:structNU_TNTTTALTZE_STRUCT{VOTD*nu_io_address;/*TO寄存器基址*/UNSIGNEDnu_logical_units;/*逻辑单元数H*/VOID氺nuniemory;INTnu_vector;};指派结构:structNU_ASSTGN_STRUCT{UNSIGNEDnulogicalunit;INTnuassigninfo;};释放结构

5、:structNU_RELEASE_STRLCT{UNSIGNEDnu_logical_unit;INTnureleaseinfo;};/*A存指针*//*设备所川的屮断M景号*//*逻辑单元数0*//*追加指派信息*//*逻辑单元数目*//*追加释放信息V输入结构:structNU.INPUTSTRUCTUNSIGNEDnu_—logical一unit;UNSIGNEDnuoffset;UNSIGNEDnu__request_size;UNSIGNEDnu_actualsize;■VOID*nu__buffer_ptr;A逻辑单

6、元数B*//*输入偏移量*//*请求输入数裾量大小*//*实际输入数据量人小*//*输入缓冲X指针*/};输出结构:structNU_OUTPUT_STRUCTUNSIGNEDnu_logical_unit;/*逻辑单元数目*/ProprietaryNotice:’’TheinformationcontainedhereinisproprietarytoDTTChinaorthirdpartyproprietaryinformationwhichDTTChinaisobligatedtoprotectandshallnotbedi

7、sclosedinwholeorinpartwithoutthepriorwrittenpermissionofDTTChina/UNSIGNEDUNSIGNEDUNSIGNEDVOID};状态结构:nuoffset;nu_request_size;nuactualsize;氺nubufferptr;/*输出偏移量*//*请求输出数裾量大小*//*实际输出数据虽大小*//*输出缓冲区指针*/structNU_STATUS_STRUCT{UNSIGNEDnulogicalunit;VOID*nuextrastatus;};终止结构:

8、/*逻辑单元数FI*//*状态单元指针*/structNU_TERMINATE_STRUCT{UNSIGNEDnu_logical_unit;};驱动请求结构:tvpedefstructNU_DRIVER_REQUEST_STRUCT/*逻辑单元数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。