新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA片上PowerPC在VxWorks下的千兆网通信

基于FPGA片上PowerPC在VxWorks下的千兆网通信

作者: 时间:2010-12-31 来源:网络 收藏

  而在嵌入式系统设计中,BSP的开发是一项非常复杂而繁琐的工作 ,Xilinx公司提供的EDK套件,可以在很大程度上减轻开发者的工作。EDK中的BSP生成器(BSPgen)可以根据不同的微处理器、外设和RTOS组合自动产生用户可裁剪的BSP。它包含了系统所必需的支持软件,包括Boot代码、设备驱动和RTOS的初始化。利用BSPgen可以把Xilinx器件驱动打包到BSP的子目录下,并且把Xilinx器件驱动与及其Tornado集成开发环境无缝集成,充分减少开发周期。

  但是,BSPgen生成的BSP只是一个固定的BSP模板,并不能正确的反应RAM/ROM的存储器映射,不支持用户通过BSPgen流程自定义的核/驱动等。因此还需要对BSPgen产生的BSP进行修改裁剪。

  对于BSP开发人员来讲,借助EDK的BSPgen,还必要做以下几项工作:

  1)修改config.h 和Makefile中的RAM,ROM地址及串口速率

  2)修改sysSerial.c,对串口进行正确的设置

  3)增加不能与无缝集成的器件的驱动文件

  4)配置sysNet.c中的以太网参数,设置MAC地址

  5)根据EDK中的配置,禁止或使能Cache

  6)修改sysLib.c,以显示正确的信息

  7)设置主机IP地址

  经过以上修改之后,将新的BSP放在Tornado的安装目录Tornado_roottargetconfig下,根据这个BSP,在Tornado集成环境下生成一个新的工程,然后就可以进行一般的嵌入式操作系统开发了。

  EDK中RAM和ROM的地址映射如下表所示:

  表一 RAM/ROM地址映射

  根据表一修改 makefile 和config.h里的地址。sysNet.c 中通过以下语句定义了网络的MAC地址,必须根据真实的MAC地址进行修改,如本文的MAC地址:00:0A:35:01:88:25

  static char XEmacMacAddr0[6] = { 0x6, 0x5, 0x4, 0x3, 0x2, 0x1 }; //修改前

  static char XEmacMacAddr0[6] = { 0x00, 0x0A, 0x35, 0x01, 0x88, 0x25 }; //修改后

  sysSerial.c对串口进行初始化,因经要正确的指定串口ID,sysLib.c中可以显示vxWorks镜像的信息,因此也要进行相应的修改。

  通过对EDK下生成的BSP的修改,并在Tornado集成环境下生成正确的VxWorks镜像后,可以将其下载到中。观察串口的输出是否正确,可以进行相应的调试工作,以确定BSP的移植是正确的。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭