AM335x U-Boot SD卡与以太网调试详解

需积分: 50 20 下载量 151 浏览量 更新于2024-09-08 收藏 526KB DOCX 举报
"这篇文档是关于AM335x平台U-Boot的调试记录,特别是针对SD卡启动和以太网口(双网口支持)的调试。文档中提到了如何制作AM335x SDCard启动盘,并详细描述了系统启动顺序的配置以及DDR的设置。此外,还详述了LAN8720以太网芯片在U-Boot中的移植过程,包括PHY接口的选择、宏定义、引脚初始化等步骤。" 在AM335x平台上进行U-Boot调试时,首先需要制作SDCard启动盘。这个过程可以通过使用TI提供的`create-sdcard.sh`脚本来完成,生成的SDCard包含两个分区:boot和rootfs。boot分区用于存放MLO和u-boot.img文件,这是系统引导所必需的。 系统启动顺序由`sysboot`配置决定,例子中给出的SYSBOOT[4:0]配置为10111b,具体含义可能需要查阅相关文档来了解其对应的具体启动设备和顺序。 在DDR配置方面,对于AM335x处理器来说,DDR内存的设置是系统启动后运行代码的重要部分,通常需要在U-Boot的源码中进行适当的配置以确保内存控制器能正确初始化DDR。 在以太网移植部分,这里使用的是PHY芯片SMSCLAN8720,它与AM335x通过RMII接口连接。为了使U-Boot支持此PHY芯片,需要在配置文件`am335x_evm.h`中定义宏`CONFIG_PHY_SMSC`。在驱动代码中,通过`phy.c`文件的`intphy_init(void)`函数初始化PHY芯片。 对于引脚初始化,关键在于配置pinmux。在`board/ti/am335x/mux.c`文件中,需要添加相应的PINMUX条目,如MII1_CRS、MII1_RXERR等,确保RMII接口的信号能够正确传输。同时,MDIO_DATA和MDIO_CLK等引脚也需要配置为适当的模式,以支持MIPI接口的操作。 这篇文档详细阐述了AM335x平台U-Boot从SD卡启动以及以太网功能的实现,对理解嵌入式系统的启动流程和硬件驱动配置有重要参考价值。