• 搜索
    搜新闻
  • 您的位置: 首页 >  资讯

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

    博客园来源:2023-04-22 09:56:07

    最近调试网卡驱动,需要反复调试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)

    关键词:

    下一篇: 最后一页
    上一篇: 湘潭探索公立医院改革与高质量发展新路径 向全国推介独家经验 天天热闻