### U-Boot 调试记录 - AM335X 双网口支持 #### 一、概述 本文档详细记录了基于AM335X平台的U-Boot调试过程,重点介绍了SD卡启动配置、DDR配置以及以太网口(特别是双网口)的调试流程。AM335X是一款高性能、低功耗的应用处理器,广泛应用于工业控制、人机交互界面、手持设备等领域。而U-Boot是开源的嵌入式启动加载程序,对于嵌入式系统的开发至关重要。 #### 二、SD卡启动配置 1. **创建SD卡启动盘** 可以使用TI提供的`create-sdcard.sh`脚本快速创建SD卡启动盘。创建的SD卡启动盘通常包含两个分区:`boot`和`rootfs`。其中`boot`分区用于存放关键的启动文件如`MLO`和`u-boot.img`。 2. **系统启动顺序配置** 通过`sysboot`配置项来指定系统的启动顺序。例如,`SYSBOOT[4:0]=10111b`表示了一种特定的启动顺序。这些配置通常在U-Boot的源代码中进行调整。 #### 三、DDR配置 DDR内存配置对于确保U-Boot能够顺利加载并运行至关重要。AM335X平台通常支持多种DDR内存类型,配置时需要根据具体使用的DDR型号进行相应的设置。 #### 四、以太网口移植与调试 AM335X平台支持多网口配置,本文档重点介绍了如何在AM335X上实现双网口的功能。 1. **硬件配置** - **CPU**: AM335X - **PHY**: SMSCLAN8720 - **U-Boot版本**: u-boot-2014.07.tar.bz2 - **PHY接口**: RMII (Reduced Media Independent Interface) 2. **PHY初始化宏定义** 在PHY芯片选择后,需要定义相应的宏以启用正确的PHY初始化函数。对于SMSC的LAN8720芯片,需要在`am335x_evm.h`头文件中定义`CONFIG_PHY_SMSC`宏。 3. **引脚配置** - 打开`board/ti/am335x/mux.c`文件,添加所需的引脚配置。示例配置如下: ```c static struct module_pin_mux rmii1_pin_mux[] = { {OFFSET(mii1_crs), MODE(1)|RXACTIVE}, /* RMII1_CRS */ {OFFSET(mii1_rxerr), MODE(1)|RXACTIVE}, /* RMII1_RXERR */ {OFFSET(mii1_txen), MODE(1)}, /* RMII1_TXEN */ {OFFSET(mii1_txd1), MODE(1)}, /* RMII1_TXD1 */ {OFFSET(mii1_txd0), MODE(1)}, /* RMII1_TXD0 */ {OFFSET(mii1_rxd1), MODE(1)|RXACTIVE}, /* RMII1_RXD1 */ {OFFSET(mii1_rxd0), MODE(1)|RXACTIVE}, /* RMII1_RXD0 */ {OFFSET(mdio_data), MODE(0)|RXACTIVE|PULLUP_EN}, /* MDIO_DATA */ {OFFSET(mdio_clk), MODE(0)|PULLUP_EN}, /* MDIO_CLK */ {OFFSET(rmii1_refclk), MODE(0)|RXACTIVE}, /* RMII1_REFCLK */ {-1}, }; ``` - 使用`enable_board_pin_mux`函数应用这些配置。 4. **驱动初始化** - 在`board/ti/am335x/board.c`文件中,根据LAN8720的实际硬件连接情况修改`cpsw_slaves[]`结构体中的`phy_addr`字段。 - 在`board_eth_init(bd_t *bis)`函数中,将`cpsw`的通信模式设置为`RMII`。 5. **调试注意事项** - 确保正确配置`RMII_MODE_ENABLE`和`RMII_CHIPCKL_ENABLE`等标志位。 - `RMII_CHIPCKL_ENABLE`标志位用于指定`rmii_refclk`信号是由PHY芯片提供还是由CPU提供,这取决于硬件设计。 #### 五、总结 通过对AM335X平台上的U-Boot进行调试,我们不仅实现了SD卡启动和DDR内存配置,还成功地实现了双网口的支持。这一过程不仅加深了对U-Boot的理解,也为后续的嵌入式系统开发奠定了坚实的基础。未来的工作可能包括进一步优化网络性能、探索更多高级功能以及提高系统的整体稳定性。
- 粉丝: 130
- 资源: 27
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助