导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    请教各位大佬,如何使能D1-H/D1s uboot下的有线网卡?

    MR Series
    5
    8
    4071
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • baiwen
      100ask LV 6 最后由 编辑

      请教各位大佬,如何使能D1-H/D1s uboot下的有线网卡?

      1 条回复 最后回复 回复 引用 分享 0
      • baiwen
        100ask LV 6 最后由 编辑

        问题已经解决,原因是 kernel 板级设备树 board.dts 要在父级设备树 根节点下 aliases 增加 节点 gmac0 = &gmac0;

        b415d855-ee70-4145-b4ff-a42fc1869300-image.png

        1da57658-62df-4814-8f7b-573e489b794a-企业微信截图_16553529977937.png

        其中uboot下要做几个配置。
        679204e9-950c-4f46-8502-504ed41efe0d-image.png
        aac01161-fad4-44ac-a33c-256ece77b886-image.png

        有了这些以后 启动uboot进入终端内 就可以使用网卡设备了,具体可以分析
        Tina-u-boot-2018\drivers\net\sunxi_geth.c
        文件。

        1b25c933-875d-4caa-8356-05a85b2c5b61-image.png

        这个时候我们就可以接上网线 使用 网络方式 更新 内核 设备树了,大大缩短 拔 卡插卡 烧写系统 繁琐的时间浪费。
        设置一下
        网卡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
        15e9a8e3-b31c-4df5-b2c8-8f0928fd2f7a-image.png
        设置完成以后,把我们单独编译出来的 boot_package.fex 文件 boot.img 放到我们Ubuntu主机上的tftp目录下。
        我的服务器是 192.168.1.133

        tftp 43000000 192.168.1.133:boot_package.fex

        0cf04788-792e-47be-8b86-faad3fcc7b85-image.png

        下载完成后 执行如下命令 进行烧写。
        sunxi_card0_probe;mmcinfo;mmc part
        mmc write 43000000 0x00008020 0x1800
        注意:我这里烧写的是TF卡。
        820ac1f9-b850-4e28-af81-9ca39fccc55b-image.png
        烧写完成后 重启,你会发现 用的就是最新的 设备树了。
        这里有个问题,就是 原厂将 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内核镜像文件,然后启动即可。
        d3407727-cb5c-4b06-9f3f-ac185ba06a60-image.png

        启动信息如下
        644f20cd-9595-4127-b7a5-fd569e59a4ed-image.png

        那么到这里 我们就可以很方便开发你的设备驱动 调试了。
        当然你也可以用 nfs_rootfs网络根文件系统,这个 步骤网上很多文章 我就不再截图了。
        在使用tftp的时候 发现了一个很烦人的 log信息。
        CACHE: Misaligned operation at range [47fea2c0, 47fea2ee]
        发现在 Tina-u-boot-2018\arch\arm\lib\cache.c
        里面,我目前的做法是将其 注释掉,
        17bf7e8b-106e-4e68-afcc-5bd16b94c0f6-image.png

        但是个人感觉 这种做法不标准,应该有宏开关 去控制的。希望知道的同学告知一下。

        1 条回复 最后回复 回复 引用 分享 2
        • baiwen
          100ask LV 6 最后由 编辑

          最后放一张图。。。。。。。
          10d624ea-ce25-4928-99c1-73a14c0dbc29-image.png

          C 1 条回复 最后回复 回复 引用 分享 0
          • Y
            yelong98 LV 7 最后由 编辑

            这个板子有配套教程资料不?只有6ull一半详细就行

            1 条回复 最后回复 回复 引用 分享 0
            • H
              hydfxy LV 5 最后由 编辑

              啥时候可以开卖和资料

              1 条回复 最后回复 回复 引用 分享 0
              • Referenced by  C captain 
              • C
                chzfmx LV 4 @baiwen 最后由 编辑

                @allwinnertech 你好,正在用100ask-T113-Pro开发板,百度网盘下载的Tina-SDK,然后按照你的方法修改配置使能以太网,编译运行后出现问题:
                61ccbc39-0b4f-4095-8af4-5ea3deebc74d-image.png

                查看log: PE10有冲突
                93ac447c-9bf7-4dce-b13c-5c66a181c6e8-image.png

                查看board.dts,PE10是 PHY_RST 脚,不知道为啥会冲突
                26b90d48-9d3b-44d3-b55b-149fea0b4f5d-image.png
                df453210-d622-46eb-adbc-2899ddb63c22-image.png

                K 2 条回复 最后回复 回复 引用 分享 0
                • K
                  kevin_allwinner LV 5 @chzfmx 最后由 编辑

                  @chzfmx 请问下,T113上有线网络得问题解决没?谢谢

                  1 条回复 最后回复 回复 引用 分享 0
                  • K
                    kevin_allwinner LV 5 @chzfmx 最后由 kevin_allwinner 编辑

                    @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";
                    
                    1 条回复 最后回复 回复 引用 分享 0
                    • 1 / 1
                    • First post
                      Last post

                    Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                    行为准则 | 用户协议 | 隐私权政策