当前位置:网站首页 >> 产品/行业资讯 >>

教您在U-BooT中嵌入千兆网络功能的方法

U-BOOT是一个由德国DENX团队开发的用于各种嵌入式微处理器的引导加载程序。

这是系统开机后运行的第一个程序代码。

它用于初始化目标板的硬件并为嵌入式操作系统提供目标。

板卡硬件配置信息,以及加载,引导和运行嵌入式操作系统等。

U-BooT支持网络功能。

当下载操作系统内核和大文件系统时,它比不支持网络的其他引导程序更快,更方便。

目前,U-BOOT仅支持10M / 100M网络功能。

随着科学技术的发展,千兆网络功能必将在嵌入式系统中得到广泛使用。

本文介绍了一种支持U-BOOT的千兆网络功能的方法,该方法可以使U-BOOT变得更强大,更方便使用。

U-BOOT简介U-BOOT的全名是UniversalBootLoader。

这是一个遵循GPL条款的开源项目。

它支持各种处理器,例如ARM,PowerPC,MIPS等,并且还支持Linux,VxWorks,QNX,RTEMS,ARTOS,LynxOS等操作系统。

U-BOOT包含两种不同的工作模式:引导加载模式和下载模式。

引导加载模式也称为自主模式,即U-BOOT将操作系统从目标计算机上的某个固态存储设备加载到RAM中以运行。

此模式是U-BOOT的正常工作模式。

下载模式是在开发或生产过程中,U-BOOT通过网络连接等通信方式将操作系统内核和文件系统从主机下载到目标计算机的RAM,然后将其写入FLASH固态硬盘中。

状态存储设备在目标计算机上。

U-BOOT允许用户在这两种工作模式之间切换。

系统启动时,它将延迟并等待一段时间。

如果用户此时不按任何按钮,则U-BOOT将默认进入引导加载模式。

U-BOOT代码采用高度模块化的编程方法,可以轻松地移植到不同的硬件平台上。

U-BOOT包含多个目录,如图1所示。

其中,BOARD目录存储了它支持的所有目标板子目录。

例如,BOARD / SMDK2440 /是本文要使用的目标板; COMMON目录是与体系结构无关的文件,而C文件则实现各种命令; CPU目录存储受支持的CPU类型(例如arm920t,mips,mpc8260和nios等)在每个特定的子目录中都包含cpu。

c并中断。

C。

开始。

s; DRIVERS目录存储了各种外围设备接口的驱动程序,包括本文中使用的千兆网络驱动程序。

FS目录存储了一些文件系统,U-BOOT现在支持cramfs,fat,fdos,jffs2和registerfs。

net目录存储与网络相关的代码,BOOTP,TFTP,RARP和NFS文件系统的实现。

INCLUDE目录存储一些相关的头文件,以及支持各种硬件平台的程序集文件和系统。

文件系统的配置文件和支持文件。

硬件平台本文使用的硬件平台是基于S3C2440A的开发板和基于非PCI千兆以太网控制芯片AX88180的嵌入式网卡,如图2所示。

S3C2440A是16/32位RISC嵌入式微处理器带有ARM920T内核。

工作频率高达500MHz。

该开发板具有64MNAND闪存和64MSDRAM;网卡由MAC芯片AX88180,PHY芯片88E1111,RJ45等电路组成。

S3C2440A目标板和网卡目标板通过32位扩展总线连接,在产品设计过程中,两个部件也可以设计在同一块板上。

在U-BOOT中嵌入千兆网络功能的驱动程序需要设计千兆网卡驱动程序,并将其移植到U-BOOT中,并通过相应硬件平台上的千兆网络端口实现下载等功能。

网卡驱动程序主要由初始化程序eth_init(bd_t * bd),关闭网络设备程序eth_halt(void),发送数据包程序eth_send(volatile void * packet,intlength)和接收数据包程序inteth_rx组成(空白)。

初始化程序的工作主要是配置和初始化硬件。

在初始化程序中,可以完成网络控制芯片AX88180和PHY芯片的配置,例如将接口设置为1000Mbps,全双工模式等。

数据传输是编辑上层协议:jq

欢迎您的咨询