资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
PowerPC简介及编程一,PowerPC芯片 PowerPC是早期Motorola和IBM联合为Apple的MAC机开发的CPU芯片,商标权同时属于IBM和Motorola,并成为他们的主导成品.IBM主要的PowerPC产品有PowerPC604s(深蓝内部的CPU), PowerPC750,PowerPCG3(1.1GHz).Motorola主要有MC和MPC系列.尽管他们产品不一样,但都采用PowerPC的内核.这些产品大都用在嵌入式系统中.Motorola的MPC860简介 MPC860 PowerQUICC (Quad Integrated Communications Controller) 内部集成了微处理器和一些控制领域的常用外围组件, 特别适用于通信产品. 包括器件的适应性, 扩展能力和集成度等. MPC860 PowerQUICC集成了两个处理块. 一个处理块是嵌入的PowerPC核, 另一个是通信处理模块( CPM, Communications Processor Module), 通信处理模块支持四个串行通信控制器(SCC, Serial Communication Controller), 实际上它有八个串行通道: 四个SCC,两个串行管理控制器 (SMC, Serial Management Channels), 一个串行外围接口电路 ( SPI, Serial Peripheral Interface ) 和一个I2C( Inter-Integrated Circuit ) 接口. 由于CPM分担了嵌入式PowerPC核的外围工作任务, 这种双处理器体系结构功耗要低于传统的体系结构的处理器. 单出口, 嵌入式PowerPC核32比特版本(与PowerPC结构定义完全兼容)32x32位通用寄存器(GPRs, General Purpose Registers) o 4K数据Cache和4K指令Cache, 分别带有一个MMU. o 存储管理单元(MMU)32-输入翻译后备缓冲器 ( TLBs ) o 32位数据,地址线 存储控制器(八个存储体) o 单线存储模块无逢接口,静态随即存取存储器(RAM), EPROM, FLASH MEMORY或DRAM等。 o DRAM 控制器可编程支持绝大多数不同大小和速度的存储器 o 不同码组长度32K至256M 四个16位定时器或两个32位定时器. 系统集成单元 ( SIU, Sytstem Intergration Unit ) 主要包括: o 软件看门狗 o 中断定时器 o PowerPC 时基和实时时钟 (RTC, Real Time Clock ) o 复位控制器 o JTAG 1149.1 测试口 中断系统包括7根外部中断请求线, 12个具有中断能力的管脚, 16个内部中断源. 中断优先级可编程 通信处理器模块(CPM)主要包括: o RISC 控制器 o 5 K字节双口RAM o 16个串行DMA (SDMA) 通道 o 三个平行 I/O 寄存器 四个波特率独立的发生器, 可以连接到任意一个SCC和SMC, 并允许运行中改变. 支持自动波特率 四个串行通信控制器 (SCC) ,支持以太网, HDLC/SDLC, HDLC 总线(用以实现基于HDLC的局域网)、AppleTalk, 7号信令系统, UART、BISYNC, 比特流透明传输, 基于帧的透明传输 (CRC可选), 支持PPP (Point to Point Protocol)的异步HDLC等标准协议 两个串行管理控制器 (SMC), UART方式或透明传输, 含GCI(General Circuit Interface)控制器, 可以连到时分复用通道 一个串行外围接口电路( SPI ), 是MC68302 SCP的扩展, 支持主从模式, 支持同一总线上多主操作 一个I2C ( Inter-Integrated Circuit ) 接口,支持主从模式, 支持多主环境 单插座PCMCIA-异步终端适陪器(ATA)接口 o 单PCMCIA插座 o 八储存或有效输入/输出(I/O)窗口 PerformanceFrenquency (MHz)TIMERData BusAddress BusExt IntterruptsInt InterruputsWatchdogPACKING52MIPS 40MHz40Four 16-Bit Timers or Two 32-Bit Timers8/16/32321216Software WatchdogBGA357IBM的PowerPC405GP芯片简介 编程示例可参见 系统初始化 PCI设备初始化和网络分析32位RISC嵌入式CPU,内核主频达到200MHz PC-100,动态随即存储接口(Synchronous DRAM Interface). 100MHz外围设备总线(External Peripheral Bus) Flash ROM/Boot ROM 接口 支持8-16-32位SRAM和外设 8个Devices 支持外部控制 DMA-,支持外设,内部UART和内存,4个通道PCI总线接口-可设置同步,异步内置时钟以太网(Ethernet)-支持10/100Mbps全双工(Full-duplex)媒介独立接口(Medium Independent Interface(MII)可编程中断控制器(Programmable Interrupt Controller)-支持来自不同资源的中断 支持24个中断,7个外部中断,17个内部中断 边沿触发或上下沿触发 . CPU一次只能处理一个中断,共有18个中断优先级(priority order)32位地址线可达4GB的寻址空间主要控制器包括: SDRAM存储控制器,外部设备总线控制器(EBC),DMA控制器,UART,IIC总线接口,通用寄存器控制器(General Purpose I/O Controller),通用中断控制器(Universal Interrupt Controller, UIC), JTAG.两个总线分别支持不同的外设 64位,100M Processor Local Bus(PLB),支持 high performance 外设 32位,50M On-chip Perpheral Bus(OPB),支持 less performance-critical 外设 先进的功能 PCI接口 内部集成以太网口(Ethernet port on-chip) Code pack decompression to improve code density 驱动PowerPC405GP的PowerPC405B3内核包括 200MHz CPU 内核 内存管理单元(Memory Mannanagement Unit,MMU) 16K指令缓村(instruction caches)和8K数据缓存(data caches) Multiply-Accumulate (MAC)功能 计时器(Timers) 调试,JTAG和Trace debug logic 内核带有4K的SRAM 一个64位累加计时器,由CPU时钟驱动三个计时器:可编程内部计时器(Programmable Internal Timer,PIT),固定内部计时器(Fix Internal Timer,FIT),看门狗计时器(Watch Dog Timer,WDT)二,VxWorks装入PowerPC的过程RISCWatch 是一套软件和硬件开发工具, 主要为IBM PowerPC 600/700系列微处理器和IBM PowerPC 400系列嵌入式处理器提供软硬件, 开发, 调试. 开发板JTAG口 (一般开发版都会甩出一个JTAG接口供开发调试用 ) 连出一个2*8针的接头与RISCWatch的仿真器端相连, 仿真器另一端通过网络连到装有RISCWatch软件的PC机. 不同种类的处理器JTAG管脚的定义不同, 所以和2*8针的接头连接也不同, 具体连结方法参见RISCWatch用户手册. 通过软件和一个配套的硬件仿真器将VxWorks image写入512K的Flash Socket. RISCWatch一端接板子上的JTAG接口,另一端接网络Network. RISCwatch的执行过程顺序: 初始化RAM-清理ROM-写VxWorks image .bin到FlashRom用RISCwatch装入VxWorks的操作过程1.运行RISCwatch: 打开file-command file-flashwri.cmd 2.开启Normal 初始化RAM, 在编辑框中键入run, 开始向FlashRom中写入Bootrom.bin,写入完成,键入stop,至此写入完成系统复位后, VxWorks运行,讲程序写入RAM中的各个地址RISCwatch中的文件定义文件rwppc.env: 可更改,如chip type, PC405GP等文件flashwri.com: 可以察看,改变,如IP地址,load., .out, .bin文件flashprog.c: 输出生成 .out, 是写flash Rom 的文件, 写入 .bin三,调试工具及调试方法底层驱动调试RISCWATCH 是一种很好的调试工具,观察内存情况及程序运行. 通过计算机串口与处理器UART相连,设置计算机的超级终端(Hyper Terminal), 通过超级终端察看硬件情况(寄存器设置,数据等)和程序运行情况,当然程序重要加入向UART送出数据的指令,用Beep报警也是经常用的.这种调试方法是用于底层调试硬件,找出硬件存在的问题. VxWorks 在Tornado Shell 不能正常运行前,也是采取这种方法来调试程序,不过一般不是硬件问题,而是BSP中存在的问题,需要根据硬件,修改BSP.以上是Shell不能正常运行是所采取的方法,Shell正常运行后,Shell是最好的调试工具.上层应用程序调试跟踪Tornade2.0中Debuger和Shell是最好的调试工具,可以单步执行跟踪程序运行,观察内存情况和系统资源情况.其中Shell的功能要好于Debuger,不过Debuger操作较为容易,直观.四,内存映射MPC860的内存资源(如寄存器等)映射在一个连续的16K Block存储区内,可通过SPR中的Internal Map Memory Register(IMMR)进行解析对 Memory Registers 操作的几种方式Indirectly Access Registers Via Memory-通过指定的I/O寄存器(I/O port)对一个寄存器操作,如PCI部分I/O操作示例如下:PCI地址I/O寄存器: PCICFGADR 0xEEC00000PCI数据I/O寄存器: PCICFGDATA 0xEEC00004具体操作
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号