环境
arm-linux-gnueabihf-gcc --gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)
Linux版本 — linux-6.4.11
编译
修改顶层Makefile添加
ARCH := arm
CROSS_COMPILE := arm-linux-gnueabihf-
make distclean
make imx_v6_v7_defconfig
make -j4
编译输出目录
arch/arm/boot/
linux镜像:zImage
设备树文件:arch/arm/boot/dts/imx6ull-14x14-evk.dtb
打通网卡配置
修改到的文件
arch/arm/boot/dts/imx6ul-14x14-evk.dtsi
arch/arm/boot/dts/imx6ull-14x14-evk.dts
vim arch/arm/boot/dts/imx6ull-14x14-evk.dts
添加以下内容
&fec1 {
// 追加下面两个属性
phy-reset-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;
phy-reset-duration = <200>;
};
&fec2 {
// 追加下面两个属性
phy-reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
phy-reset-duration = <200>;
};
&iomuxc {
pinctrl_enet1: enet1grp {
fsl,pins = <
// 追加下面一行
MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x10b0 /* RST */
>;
};
pinctrl_enet2: enet2grp {
fsl,pins = <
// 追加下面一行
MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08 0x10b0 /* RST */
>;
};
};
vim arch/arm/boot/dts/imx6ul-14x14-evk.dtsi
删除复位管脚
--- a/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi
+++ b/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi
@@ -91,7 +91,6 @@ spi-4 {
status = "okay";
gpio-sck = <&gpio5 11 0>;
gpio-mosi = <&gpio5 10 0>;
- cs-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;
num-chipselects = <1>;
#address-cells = <1>;
#size-cells = <0>;
@@ -103,7 +102,6 @@ gpio_spi: gpio@0 {
reg = <0>;
registers-number = <1>;
spi-max-frequency = <100000>;
- enable-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
};
};
@@ -559,8 +557,6 @@ pinctrl_spi4: spi4grp {
fsl,pins = <
MX6UL_PAD_BOOT_MODE0__GPIO5_IO10 0x70a1
MX6UL_PAD_BOOT_MODE1__GPIO5_IO11 0x70a1
- MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x70a1
- MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08 0x80000000
>;
};
修改uboot命令参数运行linux
setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.100.12:/home/wx5331771/nfs,proto=tcp,nfsvers=3 rw ip=192.168.100.251:192.168.100.12:192.168.100.1:
255.255.255.0::eth0:off'
// setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-14x14-evk.dtb; bootz 80800000 - 83000000'
saveenv
这样基本通路就打通了
待完善