前几篇文章学习了 uboot 针对 ALPHA开发板网络驱动更改网络驱动。地址如下:
NXP官方uboot针对ALPHA开发板网络驱动更改说明三-CSDN博客
本文学习针对 正点原子的 ALPHA开发板的网口的更改。
正点原子的 ALPHA开发板默认使用的网络是网络 2,这里更改为 网络 1。
打开 mx6ull_alientek_nand.h 文件,代码如下:
- #ifdef CONFIG_CMD_NET
- #define CONFIG_CMD_PING
- #define CONFIG_CMD_DHCP
- #define CONFIG_CMD_MII
- #define CONFIG_FEC_MXC
- #define CONFIG_MII
- #define CONFIG_FEC_ENET_DEV 1
更改 CONFIG_FEC_ENET_DEV 宏定义的值。改为如下:
#define CONFIG_FEC_ENET_DEV 0
重新编译 uboot 源码:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/uboot/nxp_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga$ ./imx6ull_alientek_nand.sh
将 SD卡插入 读卡器,将读卡器插入到电脑上,将 SD卡连到 电脑。
烧写 uboot 到 SD卡,操作如下:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/uboot/nxp_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga$ ./imxdownload u-boot.bin /dev/sdb -256m
注意:将开发板上的网线换到 ENET1 网口 !!!
开发板上电后,按下 "Enter"回车键进入 uboot命令模式。串口打印如下:
- U-Boot 2016.03 (Oct 20 2023 - 22:49:53 +0800)
-
- CPU: Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz)
- CPU: Industrial temperature grade (-40C to 105C) at 33C
- Reset cause: POR
- Board: MX6ULL 14x14 EVK
- I2C: ready
- DRAM: 256 MiB
- NAND: 512 MiB
- MMC: FSL_SDHC: 0, FSL_SDHC: 1
- Display: TFT43AB (480x272)
- Video: 480x272x24
- In: serial
- Out: serial
- Err: serial
- Net: FEC0
- Normal Boot
- Hit any key to stop autoboot: 0
-
可以看出,这时候使用的网络是 FEC0,即 ENET1 网络。
ping一下 ubuntu系统(之前在 ENET2网络时已经设置好了网络相关的各种 ip 地址),操作如下:
- => ping 192.168.1.66
- FEC0 Waiting for PHY auto negotiation to complete.... done
- Using FEC0 device
- host 192.168.1.66 is alive
可以看到,换成 ENET1网口后,也是可以 ping的通 ubuntu的。