环境准备
- 交叉编译工具链版本–gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)
sudo apt-get install gcc-arm-linux-gnueabi - uboot版本 2023
编译
修改顶层Makefile 添加
make distclean
make mx6ull_14x14_evk_defconfig
make -j4
Uboot烧录
sudo dd iflag=dsync oflag=dsync if=u-boot-dtb.imx of=/dev/sdb seek=2
u-boot-dtb.imx为Uboot编译出的最终可执行文件
/dev/sdb为sd卡插入linux后显示的设备文件,可以输入sudo fdisk -l 查看
uboot 网卡移植
vim arch/arm/dts/imx6ul-14x14-evk.dtsi
修改fec1 和fec2
在这里/*
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1>;
phy-mode = "rmii";
phy-handle = <ðphy0>;
phy-supply = <®_peri_3v3>;
status = "okay";
};
&fec2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet2
&pinctrl_enet2_reset>;
phy-mode = "rmii";
phy-handle = <ðphy1>;
phy-reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>; /* 根据硬件连接进行添加 */
phy-reset-duration = <26>; /* 复位时间,单位ms */
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
/*
ethphy0: ethernet-phy@2 {
compatible = "ethernet-phy-id0022.1560";
reg = <2>;
micrel,led-mode = <1>;
clocks = <&clks IMX6UL_CLK_ENET_REF>;
clock-names = "rmii-ref";
};
*/
ethphy1: ethernet-phy@1 {
compatible = "ethernet-phy-id0022.1560";
reg = <1>;
micrel,led-mode = <1>;
clocks = <&clks IMX6UL_CLK_ENET2_REF>;
clock-names = "rmii-ref";
};
};
};
*/插入代码片
vim drivers/net/phy/phy.c genphy_update_link函数添加如下代码
unsigned int mii_reg;
static int lan8720_flag = 0;
int bmcr_reg = 0;
if (lan8720_flag == 0) {
bmcr_reg = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR);
phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, BMCR_RESET);
while(phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR) & 0X8000) {
udelay(100);
}
phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, bmcr_reg);
lan8720_flag = 1;
}
/*
* Wait if the link is up, and autonegotiation is in progress
* (ie - we're capable and it's not done)
*/
mii_reg = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMSR);
setenv eth1addr 12:34:56:78:9a:bc # 这里是eth1addr,不是ethaddr,因为后面步骤它打印的是eth1
setenv ipaddr 192.168.100.123
setenv gatewayip 192.168.100.1
setenv netmask 255.255.255.0
setenv serverip 192.168.100.12
saveenv
运行结果
参考链接:https://blog.csdn.net/weixin_44498318/article/details/117399841?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-117399841-blog-123618415.235%5Ev38%5Epc_relevant_sort_base1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-117399841-blog-123618415.235%5Ev38%5Epc_relevant_sort_base1&utm_relevant_index=2