- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设备驱动 使用任何外部设备时都需要有相应驱动程序的支持。驱动程序为上层软件提供设备的操作接口。对于上层软件而言,只需要调用驱动程序提供的接口,而不用理会设备具体的内部操作。对于驱动程序而言,不仅要实现设备的基本功能函数,如初始化、中断响应、发送、接收等,使设备的基本功能得以实现,而且针对设备使用过程中可能出现的各种差错,还应提供完备的错误处理函数。 驱动层软件有两个重要的概念:硬件抽象层(Hardware Abstraction Layer,HAL)和板级支持包(Board Support Package,BSP)。可以简单地理解为硬件抽象层与硬件具有更加紧密的相关性,而板级支持包与操作系统具有更加紧密的相关性。 具体地讲,硬件抽象层的目的是为了将硬件抽象化,即通过程序来控制诸如CPU、I/O、存储器等硬件的操作,从而使得系统的设备驱动程序与硬件无关。 设计板级支持包的目的主要是为驱动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。为保证与操作系统保持正确的接口,以便良好地支持操作系统,不同的操作系统应对应不同定义形式的板级支持包。在功能上,板级支持包大体需要实现以下两方面的内容: (1) 在系统启动时,完成对硬件的初始化。 (2) 为驱动程序提供访问硬件的手段。 在为驱动程序提供访问硬件的手段时,BSP一般应完成以下工作: 1) 将驱动程序提供的ISR(中断服务程序)挂载到中断向量表上。 2) 创建驱动程序初始化所需要的设备对象。BSP将硬件设备描述为一个数据结构。这个数据结构中包含这个硬件设备的一些重要参数,上层软件就可以直接访问这个数据结构。 3) 为驱动程序提供访问硬件设备寄存器的函数。 4) 为驱动程序提供可重用性措施,比如将与硬件关系紧密的处理部分在BSP中完成,驱动程序直接调用BSP提供的接口,这样驱动程序就与硬件无关。只要不同的硬件系统的BSP提供的接口相同,驱动程序就可在不同的硬件系统上运行。 4.3.3 A/D转换功能驱动实例 ARM S3C440BX芯片自带一个8路模拟信号输入的10位A/D转换器,1. ADC(A/D Conversion)的引脚设置 S3C440BX芯片与A/D功能有关的引脚如表4-6所示, 在电路中,对上述引脚需要按照图所示加上电容。 2. ADC转换时间的计算 A/D转换时间即完成一次A/D转换所需要的时间。如果系统时钟为66 MHz且ADC时钟源的预分频值为9,则10位数字量的转换时间为 3. ADC相关寄存器及其设置 与A/D转换相关的寄存器主要有如下三个: (1) ?ADCPSR:采样预分频寄存器。 (2) ?ADCCON:采样控制寄存器。 4. ?ADC驱动程序参考代码 (1) 定义与ADC相关的控制位。 #define ADCCON_FLAG 0x40 #define ADCCON_SLEEP 0x20 #define ADCCON_ADIN0 (0x02) #define ADCCON_ADIN1 (0x12) #define ADCCON_ADIN2 (0x22) #define ADCCON_ADIN3 (0x32) #define ADCCON_ADIN4 (0x42) #define ADCCON_ADIN5 (0x52) #define ADCCON_ADIN6 (0x62) #define ADCCON_ADIN7 (0x72) #define ADCCON_READ_START 0x2 #define ADCCON_ENABLE_START 0x1 嵌入式操作系统概述 嵌入式实时操作系统 大多数嵌入式系统应用在实时环境中,并且随着嵌入式系统的广泛应用,实时系统和嵌入式系统已经密切联系在一起了。一般地,嵌入式操作系统是指支持嵌入式系统工作的操作系统,它在知识体系和技术结构上与通用操作系统没有太大区别。通用操作系统只注重平均性能,如对于整个系统来说,所有任务的平均响应时间是关键,并不关心单个任务的响应时间;而实时系统强调的是实时性,即系统的正确性不仅依赖于计算结果,也依赖于结果产生的时间。因此,实时系统是指一个能够在指定的或者确定的时间内,实现系统功能和对外部或内部、同步或异步事件作出响应的系统。 典型的嵌入式操作系统 嵌入式LinuxLinux是一种免费的、源代码完全开放的、符合POSIX标准规范的操作系统。随着Linux的迅速发展,嵌入式Linux现在已经有许多版本,包括硬实时的嵌入式Linux(如新墨西哥工学院的RT-Linux、堪萨斯大学的KURT-Linux)和一般的嵌入式Linux版本(如?CLinux、PocketL
您可能关注的文档
最近下载
- 预习材料3-IFS集成财经服务变革.pdf VIP
- 北师大版高中数学必修一全册教学课件.ppt VIP
- 武汉市轨道交通1号线径河延伸线工程.pdf VIP
- ECMO学习心得体会重症医学科陈仁山.pptx VIP
- 2025年度“三会一课”及“主题党日”活动计划表+2025年党组理论学习中心组学习计划.doc VIP
- 最高法案例库-与公司有关的纠纷02-广东某乙公司诉某甲生物公司股权转让纠纷案.pdf
- 心力衰竭专家共识2025年.pptx
- 2023CSCO非小细胞肺癌诊疗指南.pdf VIP
- 2024-2025学年深圳市育才二中小升初入学分班考试语文试卷附答案解析.docx
- 2025年深圳市育才二中小升初入学分班考试数学模拟试卷附答案解析.pdf
文档评论(0)