基于PPC8270的BSP开发与实现 - 鼎好电子网      网站地图    鼎好电子网欢迎您! | 咨询热线:0571-89738363,89738362   今日最新信息,IC采购(1734)条,非IC供应(72)条,非IC求购(46)条 [登录] 免费注册 | 国际主站          首页 IC芯片 元器件交易 信息百科 技术资料 电子资讯 代理商查询 IC厂商查询 IC替换查询  免费注册会员,立刻拥有专业强大的电子商务系统,发布供求信息、IC芯片采购、产品推广、帮您做生意!        IC库存PDF资料供应信息求购信息        全部地区 北京 上海 广东 浙江 江苏 山东 陕西   中国领先的IC网、电子元器件交易平台,需要什么,鼎一下!        热门搜索:VFC32KU DAC08Q STM8S105S6T6 EP1C6T144C8 2SC2712-Y AT89C51-24PI K9F2G08UOC       焦点新闻   高速图像处理系统中DDR2-SDRAM接口  随着电子信息技术的快速发展,数字信号处理技术的应用越...[详细] ·嵌入式超声波测距仪的设计方案·国际大厂的LED灯泡真能取代40瓦白炽灯·LSI 宣布推出网络加速器卡系列     每日关注   苹果首超诺基亚成全球最大智能手机厂商  诺基亚与苹果智能手机出货量对比(单位:百万部)北京时...[详细] ·Windows 7平板市场份额竟达5%·Gartner:DRAM价格Q3趋稳 明年营收增·1GHz处理器 升级版MOTO Defy+即将推出·基于MDS技术的无线传感器网络移动节点  IC芯片库存索引 按字母索引:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 按数字索引:0 1 2 3 4 5 6 7 8 9  热门型号OPA2340EA/2K5G4 HSU277TRF-EQ APM9424KC-TRL D780208GF 1SR154-600TE25 74HC4052DB V53C16256HK50TP NCP1800DM42R2 P621 BA10358F-E2 JS28F640J3D75 CAT1023WI-30 ZC403140FNR2 S29GL256N11TAA02 FAN1086D33X E2023NL M27C64A-20F1 74HC132D VCC1-B3B-25M000 UC282TDTR-ADJ S29GL064A90TFIR40 IC61C256AH-12T K8D3216UBC-PI07 NT5DS8M16FS-5T XRT8000ID-F MUR4100E PM25LV010A-100SCE IBM025161G5D-60 JABBA35U11 H11A817B 300    您当前的位置:IC电子网 >电子资讯 > 技术动态 > 基于PPC8270的BSP开发与实现   基于PPC8270的BSP开发与实现 icmade.com 新闻出处:IC交易网 发布时间:2011-7-22 17:44:42

      PPC8270是一款通用的通信协议处理器芯片,片上集成了高性能的PPC精简指令系统微处理器、非常灵活的系统集成单元以及多种通信协议控制器以支持不同的应用,特别是在通信及网络系统的应用环境中有着十分广泛的应用。基于PPC8270的BSP开发为上层系统软件操作底层硬件环境提供了丰富而有效的软件接口,进而为应用软件的开发提供有力的支持。1 PPC8270处理器介绍1.1 PPC8270内部寄存器基本结构    PPC8270采用G2_LE内核,该内核设计继承了G2内核与PPC603e内核的设计,其寄存器可根据访问权限分为用户模式(USER MODEL)与超级模式(SUPERVISOR MODEL)。1.2 PPC8270内部存储器空间    在超级模式下,PPC8270所有内部寄存器均可被访问,而在用户模式下,只有部分寄存器可被访问,其内部寄存器访问定义如图1所示。

PPC8270拥有256 KB内部存储空间,该内部存储空间被影射在一块4 GB范围内连续的内存空间上,可根据IMMR(Internal Memory Map Register)寄存器设置该内部存储空间起始地址,本开发实例设置IMMR值为0xF0000000;PPC8270内部存储空间映射如图2所示。





    PPC8270内部寄存器均通过IMMR值与寄存器偏移量进行寻址,从而完成BSP开发中对内部寄存器的读/写访问。2 BSP软件的定义与职责2.1 BSP软件的定义    所谓BSP软件通常是指针对具体的硬件平台、用户编写的驱动代码和部分设备驱动的集合。它所实现的功能包括初始化、驱动部分设备。BSP软件是介于底层硬件设备环境和上层操作系统之间的一个软件接口,它的主要功能是系统加电后初始化目标机硬件、初始化操作系统及提供部分硬件的驱动程序。BSP软件属于嵌入式软件的一部分,其在目标机应用系统中的层次如图3所示。    BSP软件是根据具体的硬件环境进行设计和开发的,因此只能运行在指定设备的硬件环境中。

2.2 BSP软件的职责    根据上节关于BSP软件的定义,BSP软件的职责主要包括以下两点:    (1)目标机硬件环境的初始化。    (2)硬件驱动程序的集成。访问硬件设备驱动程序,BSP必须包含设备驱动程序的相关支持、设备的配置管理等。3 PPC8270的BSP开发过程3.1 目标机硬件环境的初始化    所谓目标机硬件环境的初始化是指从目标机系统上电复位开始到操作系统开始初始化用户应用时的一段时间内系统所执行的过程,该过程主要包括两部分工作:CPU初始化和目标机初始化。3.1.1 CPU初始化    CPU初始化的目的是通过对CPU内部各种控制与状态寄存器的设置来使得CPU具有确定的工作方式和稳定的状态,在该开发实例中,主要完成以下几种工作:    (1)设置CPU启动方式为冷启动;    (2)通过IMMR设置PPC8270芯片内部存储空间为0xF0000000;    (3)通过清除MSR(Machine state register)使PPC8270芯片达到初始工作状态;    (4)根据应用需求对目标系统进行空间配置,并进行IBAT,DBAT以及TLB的初始化;    (5)初始化指令Cache和数据Cache;    (6)初始化栈地址为0x20000。3.1.2 目标机初始化    初始化控制芯片的寄存器、I/O设备寄存器,为整个软件系统提供底层硬件环境的支持。在该开发实例中,目标机的初始化主要完成:    (1)将目标机启动地址设置为0xFFF00100;    (2)PCI总线的初始化,包括PCI总线配置地址和数据地址的指定;    (3)SDRAM初始化;    (4)将FLASH基地址配置为0xFF800000;    (5)通过清除MSR(Machine State Register)使PPC8270芯片达到初始工作状态。3.2 硬件驱动程序的开发    PPC8270的BSP开发涉及的基本硬件资源包括串口控制器、中断控制器、定时器、网络控制器,在该开发实例中,上述基本硬件资源均采用PPC8270处理器内部集成的控制芯片。3.2.1 串口控制器驱动开发    串口通信是目标机与宿主机联系的桥梁,在BSP的硬件驱动开发中,通常首先进行的是串口控制器的开发,从而为后续的开发工作提供更多的调试途径。在该开发实例中采用PPC8270内部集成的SCC(Serial Communications Controllers)作为串口控制器,根据上层操作系统的需求,串口控制器驱动应具有的基本功能包括:串口初始化和串口的读/写。    串口控制器的驱动开发首先应完成串口初始化的工作,使串口芯片达到一个确定的工作状态,主要包括以下几个方面的内容:    (1)输入/输出端口的初始化。PPC8270内部包含4路通用的输入/输出端口。每路输入/输出端口包含4组独立的可读/写的配置寄存器:PODRA(Port OpenDrain Registers)-PODRD,PDIRA(Port Data Direction Registers)-PDIRD,PSORA(Port Special Options Registe-rs)-PSORD和PDATA(Port Data Registers)-PDATD。根据本实例硬件设计,采用第四路输入/输出端口,因此应对其各配置寄存器进行设置,并将其与采用的串口通道进行连接。    (2)串口波特率的初始化。对于SCC的波特率初始化可通过PPC8270内部BRGs(Baud-Rate Generators)来实现,并通过CMXSCR(CMX SCC Clock Route Register)的设置将BRG的设置与具体的串口通道进行连接。在该实例中,设置串口波特率为115 200 Kb。    (3)缓冲区描述符的初始化。SCC接收数据和发送数据的缓冲区是通过缓冲区描述符来指定的,包括接收缓冲区描述符和发送缓冲区描述符。SCC缓冲区描述符的结构如图4所示。





    SCC串口发送和接收数据均通过缓冲区描述符来查询数据状态与地址,因此,缓冲区描述符的初始化应完成缓冲区描述符起始地址的指定、缓冲区长度的初始化以及串口发送接收的工作方式设置。    (4)参数RAM的初始化。SCC中每一路串口通道均可以进行独立的参数RAM初始化,主要完成本串口通道基地址、串口中断处理方式以及串口数据的传送方式的设置。    (5)UART工作方式设置。    (6)串口中断向量的挂接。    在完成串口初始化的基础上,可以进一步进行串口读/写功能的开发。基于SCC的串口读/写控制是通过缓冲区描述符来实现的。当接收缓冲区描述符中指定的缓冲区地址有新的接收数据到达时,接收缓冲区描述符的状态会发生改变。当发送缓冲区描述符中指定的缓冲区地址有新的发送数据到达时,发送缓冲区描述符的状态会发生改变。因此,可以通过对缓冲区描述符状态的监控,来确定何时从接收缓冲区拷贝数据以及何时将发送数据拷贝至发送缓冲区,从而完成串口数据的接收和发送。

3.2.2 中断控制器驱动开发    中断机制是目标机感知事件的重要手段,PPC8270具有内部集成的中断控制器,对各类中断源的中断向量号进行了明确的定义,并在一定程度上规定了各类中断源的中断优先级。在中断控制器驱动中,应实现的主要功能包括:中断控制器的初始化、中断向量的获取以及中断的使能与禁止。    (1)中断控制器的初始化。PPC8270集成中断控制器的初始化过程较为简单,主要的工作是通过SIMR(SIU Interrupt Mask Registers)的设置将所有中断源对应的中断信号进行禁止。    (2)中断向量的获取。PPC8270集成中断控制器获取中断向量可通过读取SIVEC(SIU Interrupt Vector Register)寄存器来获得。    (3)中断的使能和禁止。在PPC8270集成中断控制器中,通过对SIMR中相应数据位的置位与复位操作来实现指定中断源的使能与禁止。3.2.3 定时器驱动开发    定时器是一种特殊的中断源,可为系统运行提供时间精度的支持,PPC8270内部具有4路独立的16位定时器,也可以作为2路32位定时器使用,4路定时器分别拥有独立的寄存器组:包括TMR(Timer Mode Register),TCR(Timer Counter Register),TRR(Timer Reference Register),TER(Timer Event Register),TGCR(Timer Global Configuration Register),可以根据应用的需要对相应的寄存器进行设置来完成定时器的初始化、定时器的使能与禁止、定时器频率的设置与获取等功能。    (1)定时器的初始化。定时器的初始化主要是通过TRR来完成定时器的时钟频率设置并将指定的定时器中断连接到相应的中断处理程序。    (2)定时器的启动与停止。定时器的启动与停止应能够根据指定的定时器通道完成定时器的启动与停止,包含两方面的内容:即指定定时器中断向量的使能与禁止和通过TGCR对指定定时器进行的启动与停止。    (3)定时器频率的设置与获取。3.2.4 网卡控制器驱动开发    在进行网卡控制器驱动开发前,目标机系统与宿主机之间的通信是通过串口来实现的,虽然能够满足通信的功能,但面对大数据量的通信任务时,其性能却远不能满足应用的需求。网卡控制器驱动的开发是目标机系统通讯能力实现升级的重要环节,为操作系统、应用程序的加载提供了更为高速的通路。    (1)FCC的特征    PPC8270采用内部集成的FCC(Fast Communications Controller)作为网卡控制器,FCC是为了适应高速传输协议而升级的SCC,具有如下特征:    ①支持HDLC(High-level data link control)/SDLC(Synchronous data link control);    ②FCC时钟既可以通过内部BRG获得,也可以通过外部时钟源获得;    ③通过缓冲区描述符进行发送接收数据缓冲区管理;    ④192 B FIFO(First In First Out)缓冲区;    ⑤全双工工作模式;    ⑥支持数据回绕测试模式。    (2)基于FCC的网卡控制器驱动开发    基于FCC的网卡控制器驱动开发应包含网卡初始化、网口读/写功能。其中,网卡初始化是实现网卡正常工作的关键,其初始化过程需要在上电复位后对一系列的寄存器及参数进行设置,在本开发实例中的网卡初始化过程所述如下:    ①输入/输出端口的初始化;    ②通过配置GFMR(General FCC Mode Registers)MODE位选择FCC的工作模式为以太网模式,并禁止发送和接收事件;    ③根据系统需求通过FPSMR(FCC Protocol-Spe-cific Mode Registers)配置FCC在以太网模式下的各种工作参数,包括CRC校验、心跳检查、全双工模式等;    ④通过配置FDSR指定同步协议中的帧同步过程。由于FCC工作在以太网模式,选用推荐值0xD555;    ⑤配置FCC的参数RAM,指定接收与发送缓冲区描述符的地址,并对其进行初始化;    ⑥通过FCCE(FCC Event)寄存器清除所有FCC外部中断事件,并通过FCCM(FCC Mask)使能所有在FCCE中指定的事件;    ⑦使能网卡中断向量,并连接相应的中断处理程序;    ⑧发送INIT TX AND RX PARAMETERS命令,并通过GFMR使能发送与接收事件。    在完成网卡初始化后,可以通过判断网卡中断的状态来区分发送和接收事件,并从相应的缓冲描述符中获取缓冲区地址,实现数据的发送和接收,此过程与第3.2.1节中SCC的发送与接收过程相似。4 结语    本文通过对目标机硬件环境初始化过程和硬件驱动开发过程的描述,详细介绍了基于PPC8270的BSP开发过程。在该开发实例中,该BSP软件能够在目标机模块上稳定运行,并为上层操作系统及应用程序提供有效的运行支持。在今后的工作中,将对该BSP软件的而可移植性进行进一步的优化,以便其能更好的应用于其他BSP软件的开发实例中。

    分享到: QQ空间 新浪微博 开心网 人人网    相关阅读       上一篇:高速图像处理系统中DDR2-SDRAM接口的设计    免责声明:  1、本文系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。  2、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容或提供稿费! ※ 有关作品版权事宜请联系:0571-85029727         帮助中心 | 关于我们 | 服务项目 | 付款方式 | 广告服务 | 网站地图 | 友情链接 | 版权声明   Copyright © 2010 icmade.com Corporation, All Rights Reserved   咨询热线:0571-89738363,89738362 | 在线客服QQ:      网页技术QQ:     芯片供应、芯片采购、鼎一下! 

                         

友情连接

兰州龙发装饰公司
永扬会计
永康市星麦金工贸有限公司
常德送水
迁西嘉铖视敏近视弱视中心
双筒望远镜
古月梵森(天津)生物科技有限公司
内江市驰久汽车服务有限公司
深圳市奥特智能技术有限公司
北极SEO
佛山市信宏农业科技有限公司