BSP基本概念(3)

2019-03-11 09:28

?3G系统中的CPU最小系统结构示意

/RCS0、LOCAL ADDRESSEPLD监控LEDPMC P14连接器/CS_BOOTFLASHBOOT LASH512KB/CS_UARTSDRAMUART控制器OSCRS232CPUHOST/PCIPCI接口μ÷ ê??ó ?ú33MHz-32bit PCI总线COREμ? ?′OSCPCI?ó?ú ----ETHERNET接口转换芯片PMC P11/P12á??ó?÷

RJ45?3G系统中的CCM单板结构示意

7 处理器:

我们目前经常使用的处理器:POWERPC、ARM、MIPS、x86等系列处理器

?POWERPC: Mpc860、Mpc8260、Mpc850、Mpc8250、Mpc755、Mpc8245、Mpc7450、

IBM750

?ARM :IXP1200、IXC1100 ?X86: (PIII处理器)

各处理器的特点(见硬件相关文档):嵌入式系统使用的CPU一般具有低功耗、体积小、集成度高等特点,而且一般内部集成了内存控制器、串口控制器、以太网口控制器等芯片。 例如:MPC8260 POWERQUICCⅡ是一个功能强大的嵌入式通讯处理器,它集成了一个64-bit高性能的PowerPC系列的RISC微处理器和一个32-bit的 RISC通讯处理器。同MPC860一样,MPC8260由三个主要功能块组成,但它具有更强大的功能:

? 一个64-bit 的内核,是PowerPC MPC603e微处理器的变种。它的处理速度可达

100~200MHz,并支持L2 cache。 ? 一个系统接口单元(SIU)。它具有一个更加灵活的存储器控制器,可以与几乎所有类

型的存储器接口。并支持JTAG控制器 IEEE 1149.1 测试端口(TAP)。

? 一个通信处理模块。它不仅包含了MPC860上的所用通信外围控制器,还增加了三个

高性能通信通道(FCC)支持新的高速协议,两个多通道控制器(MCC)可支持128

个串行全双工通道。

8 BSP提供的vxWorks下的设备驱动

BSP的另一项主要任务是为操作系统访问硬件设备驱动程序提供支持。所谓设备是指独立于处理器内核之外的,能够接收CPU的输入数据和/或向CPU提供数据输出的硬件单元。

8.1 网口、串口的设备驱动

对于一些通用的设备,如网口、串口,由于包含在BSP最小系统内,vxWorks 都会提供基本的驱动程序。常用的串口设备驱动程序参见目录\\tornado\\target\\src\\drv\\sio,网口设备驱动程序参见目录\\tornado\\target\\src\\drv\\end。这些驱动程序仅与设备本身的硬件特性密切相关,如配置一些必须的设备控制寄存器,中断寄存器,初始化设备驱动结构等。具体的这些寄存器,驱动结构的值是什么,这些与用户的实际应用密切相关的信息放在各单板BSP目录下的sysXXX.c文件中,如串口配置源文件sysSerial.c(定义了用作串口的UART设备的基地址,寄存器数据位数,使用的缺省波特率,晶振频率等),网口配置源文件sysFei82557End.c(定义了82559网口芯片的PCI基地址,EEPROM中的MAC地址等)。大多数应用只需要修改sysXXX.c中的配置参数就可以了。

VxWorks已经为网口和串口设备驱动提供了标准的库函数,用于将与硬件相关的设备驱动加载到 硬件无关的I/O层,使得应用层不必关心具体的硬件驱动实现,直接调用统一的Socket接口函数或I/O接口函数就可以正常的收发数据,执行查询、控制操作。

由vxWorks或设备供应商提供的网口,串口驱动已经包含了较为完备的设备驱动接口,完成设备的初始化、数据收发,中断服务程序连接与中断使能。实际应用时,做相应的修改就可以了。详细步骤可以参见相关的最小系统详细设计文档。

8.2 一般硬件的设备驱动

一般硬件是指除BSP最小系统之外的各应用使用的硬件设备。这些设备的供应商可能不会提供专用的设备驱动程序,或是提供的设备驱动程序无法满足实际应用的需要。因此,必须由BSP开发人员编写相应的设备驱动程序,为操作系统访问硬件设备驱动程序提供支持。

BSP提供的设备驱动接口大致有以下几类: 8.2.1 设备初始化接口

所有的设备驱动程序都应该提供设备初始化接口。该接口实现主要包含以下内容: 1、保存应用程序传入的正常回调函数指针。该回调函数在设备正常的收发中断中调用,用于向操作系统的驱动任务传递收发事件消息,触发驱动任务开始收发数据,使得系统尽快退出中断,真正的数据收发都在驱动任务中完成,接受OSS的调度,提高CPU的利用率。对于没有收发事件的设备,如Plx9030、Bcm5616 ,就无需这个函数指针。

2、保存应用程序传入的异常回调函数指针。设备出现异常状况通常也会引起中断,在异常中断中调用异常回调函数,将设备出错信息传给OSS的实时控制进程,由该进程对设备的异常情况进行处理,有必要的话,可以报告给后台告警。通常一个实时控制进程负责监

控单板上所有设备的异常状况,因此应对给设备的异常状况统一编码,实时控制进程根据不同的告警码来判断何种设备出现了异常。

3、进行必要的硬件初始化。

4、使用系统函数intConnect()将设备中断服务程序连接到中断向量表中。 1、 使用系统函数intEnable()使能设备连接的CPU中断。

对于具有数据收发功能的设备,如UART、HDLC,应提供数据收、发接口。 8.2.2 设备发送数据接口

设备发送数据接口用于将上层应用的数据输出到设备,再由设备输出。该接口的入参应包括待输出用户数据缓存的指针,数据长度。 8.2.3

设备接收数据接口

设备接收数据接口用于将设备接收到的数据传递给上层应用。该接口的入参应包括用于接收数据的用户缓存的指针,用户缓存的长度。输出参数包括实际接受到的数据长度。 8.2.4

设备控制接口

上层应用调用设备控制接口完成对设备的设置和查询。如可以调用UART的控制接口查询或重新设置波特率,查询发送、接收缓存是否为空等。

该接口的入参应包括查询码,用于区分不同的操作。对于查询操作,输出参数为查询的结果,对于控制操作,入参还应包括相应的设置参数。 8.2.5

中断服务程序

中断服务程序属于BSP的内部接口,在设备初始化时被连接到中断向量表中。当CPU检查该中断时,就会根据中断向量表中填写的中断服务程序指针调用该函数,完成相应的操作。

在实时应用中,中断服务程序应当尽可能的简短。其主要任务就是检查产生中断的原因,根据不同的中断原因调用相应的回调函数,通知相应的任务去处理中断事件。

8.3 BSP同其他软件的关系

BSP同硬件和上层软件系统的关系,以及BSP内部模块之间的关系图示如下:


BSP基本概念(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教版数学六上《认识圆》word教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: