基于PPC8247的8841网络芯片移植与挂接详解

需积分: 9 3 下载量 28 浏览量 更新于2024-09-11 收藏 456KB DOCX 举报
本文档详细介绍了基于PPC8247芯片的网络芯片8841在VxWorks操作系统中的移植与挂接流程。首先,网络设备的初始化过程被分解为boot阶段和系统启动后两个阶段,其中motfcc设备和884x设备的初始化方式类似,但分别处理。在bootrom的初始化阶段,如syslib.c中的sysKs884xPciInit函数负责8841的PCI接口上电扫描,配置内存和IO地址空间,同时设置寄存器,使用PCI底层API函数进行读写操作。 在系统启动加载完成后,usrEndLibInit函数负责8841的加载,这部分代码主要集中在prjConfig.c文件中,而不是usrConfig.c。在这个过程中,endDevTbl变量作为END_TBL_ENTRY结构体起到了关键作用,它控制了884x芯片在BSP阶段的初始化时机,即在VxWorks操作系统加载完毕后再进行。 特别值得注意的是,884x设备的挂载实际上是在bootrom阶段之后,由sysKs884xEndLoad函数负责。这个函数首先通过muxDevLoad进行试探性加载,通过检查endLoad参数来判断设备是否已经在表中存在,若不存在,则会进一步执行设备的真正装载和挂接。整个过程强调了对设备加载顺序的管理和对硬件资源的正确配置。 通过这篇文章,读者可以了解到8841网络芯片在VxWorks环境下如何与PPC8247平台无缝集成,以及初始化和挂接过程中涉及的关键函数和数据结构,这对于理解类似网络芯片的移植和系统集成具有很高的参考价值。