- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 6.8 开发HAL下的设备驱动 实现设备的具体操作 上一步中,已经获得了设备的属性,也把访问函数地址填入相应的函数指针,接下来的工作就是实现这些函数。实现这些函数例子见UART的实现文件 Nios II kit安装路径 \components\altera_avalon_uart\HAL\src\altera_avalon_uart.c 6.8 开发HAL下的设备驱动 向HAL注册(Register)字符设备 方法:在设备的初始化函数中调用字符设备驱动注册函数: 注册函数返回负数表示注册失败,非负数(0和正数)表示操作成功。所以,只须检测返回值是否小于零,即可知道是否操作成功。例如: int alt_dev_reg(alt_dev* dev) #define ENODEV 50 … int func(…) { … err = -ENODEV; … return err; } 6.8 开发HAL下的设备驱动 为各类设备创建驱动程序 文件子系统 HAL已经提供了一个文件系统,当把一个新的设备挂载到HAL文件系统的某个点上时,可以用文件的方式来管理和操作它。 把文件子系统型虚拟设备具体化; 实现设备的具体操作; 向HAL注册文件子系统。 6.8 开发HAL下的设备驱动 为各类设备创建驱动程序 Flash设备 把Flash型虚拟设备具体化 6.8 开发HAL下的设备驱动 程序清单6.7 Flash型虚拟设备结构体定义 struct alt_flash_dev { alt_llist llist; const char* name; alt_flash_open open; alt_flash_close close; alt_flash_write write; alt_flash_read read; alt_flash_get_flash_info get_info; alt_flash_erase_block erase_block; alt_flash_write_block write_block; void* base_addr; //flash的基地址 int length; //flash的容量大小,单位为字节 int number_of_regions; //flash中可擦除区的数量 flash_region region_info[ALT_MAX_NUMBER_OF_FLASH_REGIONS]; }; 6.8 开发HAL下的设备驱动 程序清单6.8 具体Flash设备的数据结构定义 struct alt_flash_cfi_dev { alt_flash_dev dev; int algorithm; int mode_width; int device_width; int write_timeout; int erase_timeout; int primary_address; /* Flash type specific functions to access the flash and perform various operations */ alt_write_command_fn write_command; alt_read_query_fn read_query; alt_write_native_fn write_native; }; 6.8 开发HAL下的设备驱动 为各类设备创建驱动程序 Flash设备 实现Flash设备的具体操作 现Flash设备的具体操作。从Flash型虚拟设备结构体定义中,我们可以知道,对于Flash型设备需要实现7种访问方法,它们是: 6.8 开发HAL下的设备驱动 为各类设备创建驱动程序 Flash设备
您可能关注的文档
最近下载
- EN 1337-3:2005 结构支座-第三部分:橡胶支座 (中文版).pdf VIP
- 小学一年级语文上册知识点(通用13篇).doc VIP
- 普通职员月度工作总结.docx VIP
- 2025至2030黄金珠宝首饰行业运营态势与投资前景调查研究报告.docx
- 小区供热工程毕业设计开题报告.pdf VIP
- 企业工会助推企业高质量发展.docx VIP
- GB_T230.1-2018金属材料 洛氏硬度试验 第1部分:试验方法11.pdf
- 基于核心素养的小学数学单元教学目标制定与实施策略教学研究课题报告.docx
- 手术病理标本前处理流程2023.pptx VIP
- 【招聘管理体系设计】摩托罗拉的招聘.pdf VIP
原创力文档


文档评论(0)