最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

全志Uboot fdt修改DTS进行临时调试的方法

来源:博客园

最近调试网卡驱动,需要反复调试rx-delay和tx-delay参数。


(相关资料图)

按正常流程反复烧写系统镜像,非常麻烦。于是找了这个用uboot的fdt临时修改设备树的方法:

*注:这种修改是一次性的,不可以保存的,只限这次启动的时候生效,断电或者重启就不生效了

1.设备上电过程中串口按住电脑键盘的"s"按键,让设备进入boot:

[03.777]update bootcmd[03.780]change working_fdt 0x43e75e70 to 0x43e55e70[03.785][mmc]: no mmc-hs400-1_8v![03.788][mmc]: delete mmc-hs200-1_8v from dtb[03.792][mmc]: get max-frequency ok 50000000 Hz[03.809]update dtsHit any key to stop autoboot:  0=> ssssssssssssssssssssssssssssssssssssssssssssssssssssUnknown command "ssssssssssssssssssssssssssssssssssssssssssssssssssss" - try "help"

2、进入uboot后就可以就输入fdt list +节点名称查看设备树的信息。比如查看整个/soc/的DTS:=> fdt list /soc/

比如查看网卡配置:

=> fdt print /soc/eth@4500000eth@4500000 {        compatible = "allwinner,sunxi-gmac";        reg = <0x00000000 0x04500000 0x00000000 0x00010000 0x00000000 0x03000030 0x00000000 0x00000004>;        interrupts = <0x00000000 0x0000002e 0x00000004>;        interrupt-names = "gmacirq";        clocks = <0x00000002 0x00000050 0x00000002 0x0000004f>;        clock-names = "gmac", "ephy";        resets = <0x00000002 0x00000020>;        device_type = "gmac0";        pinctrl-0 = <0x0000001c>;        pinctrl-1 = <0x0000001d>;        status = "okay";        pinctrl-names = "default", "sleep";        phy-mode = "rgmii";        use_ephy25m = <0x00000001>;        tx-delay = <0x00000002>;        rx-delay = <0x00000000>;        fixed-link {                speed = <0x000003e8>;                full-duplex;        };};

3、修改fdt set 节点 修改的项目 新值。如:

=> fdt set /soc/eth@4500000 rx-delay <0x0000001f>   修改tx-delay 就是 fdt set /soc/eth@4500000 tx-delay <0x00000007>

4、输入boot进行系统启动。

=> boot

参考资料

【骚操作】启动阶段改设备DTS的方法 | 全志在线开发者论坛 (aw-ol.com)

【FAQ】全志R329如何通过uboot修改设备树属性? | 全志在线开发者论坛 (aw-ol.com)

关键词: