HAL简介与开发应用程序.ppt

HAL简介与开发应用程序.ppt

ID:48184790

大小:1.08 MB

页数:25页

时间:2020-01-18

HAL简介与开发应用程序.ppt_第1页
HAL简介与开发应用程序.ppt_第2页
HAL简介与开发应用程序.ppt_第3页
HAL简介与开发应用程序.ppt_第4页
HAL简介与开发应用程序.ppt_第5页
资源描述:

《HAL简介与开发应用程序.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、HAL简介与开发应用程序HAL简介与开发应用程序6.1硬件抽象层(HAL)介绍6.2使用HAL开发应用程序6.1硬件抽象层(HAL)介绍1、什么是HAL:——硬件抽象层HAL提供了一个非线程的、类似UNIX的C/C++运行环境HAL系统库为嵌入式系统中的外围设备提供接口程序HAL应用程序接口(API)和ANSIC标准库综合在一起,使用户用类似C语言的库函数来访问硬件设备或文件,如printf()2、HAL的生成:NiosⅡIDE自动创建和管理HAL文件。它是用户在NiosⅡIDE中创建一个新的工程时由

2、IDE基于用户在SOPCBuilder中创建的NiosⅡ处理器系统(PTF文件)自动生成并且管理HAL文件HAL和SOPCBuilder紧密相关,如果硬件配置有了变化,HAL设备驱动配置也会自动随之改动,从而避免了由于底层硬件的变化而产生的程序错误。3、HAL提供的服务:同newlibANSIC标准库集成——提供用户熟悉的C标准库函数驱动程序——提供对系统中每个设备的访问HALAPI——提供统一的标准的接口程序(如设备访问,中断处理)系统初始化——在main函数执行之前,执行处理器和运行环境的初始化的

3、任务设备初始化——在main()函数执行前,例化和初始化系统中的每个设备4、HAL的结构:每个设备驱动管理一个硬件设备。HAL为SOPCBuilder的每一个需要驱动程序的设备实例化一个驱动程序。在NiosII开发环境中,一个设备驱动和一个特定的SOPCBuilder设备相关联NiosIIHAL的结构5、HAL支持的通用设备模型——HAL强大功能的核心文件子系统DMA设备定时器设备Flash存储设备以太网设备字符型设备通用设备模型(UART)串行发送和/或接收字符的硬件外设(只读文档系统)提供访问存储

4、在物理设备中的文件的一种机制,其驱动程序可以直接访问底层的设备,或使用一个单独的设备驱动程序(DMA控制器核)执行大批量数据传输的外设(定时器核)对时钟脉冲计数,并且能够产生周期性的中断请求外设(通用Flash接口芯片等)使用特殊的编程协议进行存储数据的非易失存储设备(以太网MAC控制器)对网络协议栈(TCP/IP协议栈)提供以太网连接的访问我们用HAL做什么?通信桥梁SOPCBUILDERNIOSIIIDE自动更新HAL简介与开发应用程序6.1硬件抽象层(HAL)系统介绍6.2使用HAL开发应用程序

5、6.2使用HAL开发应用程序嵌入式系统的软件开发可分为2部分:应用程序开发:用户软件开发的主要部分,包括系统的主程序main()和其它子程序。驱动程序:直接和底层硬件的宏定义打交道。6.2使用HAL开发应用程序NiosIIIDE工程结构NiosIIIDE工程结构6.2使用HAL开发应用程序NiosIIIDE工程结构一个NiosIIIDE工程用户工程文件夹HAL系统库文件夹6.2使用HAL开发应用程序与目标系统相关的system.h系统描述文件System.h文件构成过程一部分描述系统库的设置信息;另一

6、部分给出了每个外围设备的相信信息;6.2使用HAL开发应用程序与目标系统相关的system.h系统描述文件程序清单6.1system.h描述的UART设备#defineUART_NAME"/dev/uart"//UART的设备名称及所在路径,open()等文件操作函数可以通//过UART_NAME开打一个UART设备#defineUART_TYPE"altera_avalon_uart"//描述了UART内核的类型,应用程序员可不关心#defineUART_BASE0x00441480//UART设备

7、的寄存器基地址,驱动程序可以根据该地址对//UART寄存器进行访问#defineUART_IRQ1//UART设备的中断号,系统据此判别中断来自UART设备#defineUART_BAUD115200//在系统生成过程中预设的串口波特率#defineUART_DATA_BITS8//描述UART数据帧长度#defineUART_FIXED_BAUD0//波特率是否软件可变的标志#defineUART_PARITY'N'//是否能奇偶校验#defineUART_STOP_BITS1//UART数据包中停

8、止位的宽度#defineUART_USE_CTS_RTS0//是否使用CTS和RTS信号#defineUART_USE_EOP_REGISTER0//是否生成了EOP(EndofPacket)寄存器#defineUART_SIM_TRUE_BAUD0//仿真时的波特率#defineUART_SIM_CHAR_STREAM""//仿真时的字符流#defineUART_FREQ48000000//Avalon总线的频率,48MHz6.2使用HAL开发应用程序

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

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

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