请教各位大佬,如何使能D1-H/D1s uboot下的有线网卡?
-
请教各位大佬,如何使能D1-H/D1s uboot下的有线网卡?
-
问题已经解决,原因是 kernel 板级设备树 board.dts 要在父级设备树 根节点下 aliases 增加 节点 gmac0 = &gmac0;
其中uboot下要做几个配置。
有了这些以后 启动uboot进入终端内 就可以使用网卡设备了,具体可以分析
Tina-u-boot-2018\drivers\net\sunxi_geth.c
文件。这个时候我们就可以接上网线 使用 网络方式 更新 内核 设备树了,大大缩短 拔 卡插卡 烧写系统 繁琐的时间浪费。
设置一下
网卡MAC地址 setenv ethaddr AA:BB:CC:DD:EE:FF
开发板的IP地址 setenv ipaddr 192.168.1.36
你的服务器的IP地址 setenv serverip 192.168.1.133
以及启动的bootargs setenv bootargs earlycon=${earlycon} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${mmc_root} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1
设置完成以后,把我们单独编译出来的 boot_package.fex 文件 boot.img 放到我们Ubuntu主机上的tftp目录下。
我的服务器是 192.168.1.133tftp 43000000 192.168.1.133:boot_package.fex
下载完成后 执行如下命令 进行烧写。
sunxi_card0_probe;mmcinfo;mmc part
mmc write 43000000 0x00008020 0x1800
注意:我这里烧写的是TF卡。
烧写完成后 重启,你会发现 用的就是最新的 设备树了。
这里有个问题,就是 原厂将 uboot optee 板级board.dtb 打包进了一个文件,所以无法单独烧写board.dtb ,只能一次烧所有。这里 给大家提供另一种 思路,就是使用 DTBO 来通过 uboot的 fdt overlay方式 单独去加载你修改的设备,然后应用。
更新完了 板级 board.dtb以后,就可以通过tftp获取 你的 内核文件,然后 网络启动了。
tftp 45000000 192.168.1.133:boot.img;bootm 45000000
只需要一条命令,获取到 boot.img内核镜像文件,然后启动即可。
启动信息如下
那么到这里 我们就可以很方便开发你的设备驱动 调试了。
当然你也可以用 nfs_rootfs网络根文件系统,这个 步骤网上很多文章 我就不再截图了。
在使用tftp的时候 发现了一个很烦人的 log信息。
CACHE: Misaligned operation at range [47fea2c0, 47fea2ee]
发现在 Tina-u-boot-2018\arch\arm\lib\cache.c
里面,我目前的做法是将其 注释掉,
但是个人感觉 这种做法不标准,应该有宏开关 去控制的。希望知道的同学告知一下。
-
最后放一张图。。。。。。。
-
这个板子有配套教程资料不?只有6ull一半详细就行
-
啥时候可以开卖和资料
-
-
@allwinnertech 你好,正在用100ask-T113-Pro开发板,百度网盘下载的Tina-SDK,然后按照你的方法修改配置使能以太网,编译运行后出现问题:
查看log: PE10有冲突
查看board.dts,PE10是 PHY_RST 脚,不知道为啥会冲突
-
@chzfmx 请问下,T113上有线网络得问题解决没?谢谢
-
@chzfmx 你把这个
csi0: csi@5801000{ compatible = "allwinner,sunxi-csi"; reg = <0x0 0x05801000 0x0 0x1000>; interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; pinctrl-names = "default","sleep"; pinctrl-0 = <&csi0_pins_a>; pinctrl-1 = <&csi0_pins_b>; device_id = <0>; iommus = <&mmu_aw 1 1>; status = "okay"; };
改成以下试试
status = "disabled";
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号