Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    如何让D1 uboot支持uImage镜像 + dtb启动系统?

    D1系列-RISC-V
    3
    5
    434
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • baiwen
      100ask LV 3 last edited by

      问题1
      我们现在想用单独使用工具链编译的uboot去单独加载uImage 和设备树文件来启动开发板系统,
      但是参考发现你们的boot.img似乎没有用到设备树,所以我不明白设备树用的是那里的 我要单独更新设备树应该怎么操作 ?
      问题2
      我们在尝试使用过程中uboot出现/dram not found问题 通过查看tina sdk发现dram配置信息似乎在 sys_config.fex 文件内,我要如何将dram文件增加到自编译的uboot内?

      • uboot 加载uImage dtb失败log
        107378e2-26e7-49d3-8e94-c9ac226becc2-image.png

      • uboot读取dram参数节点错误信息
        87a59eb3-f7d4-442f-9703-cc566ce6aaa0-image.png

      • tina sdk内 类似dram配置文件
        d2e1df08-e58d-47a6-90c6-7370fecf8e58-image.png

      • 关于设备树以及tina-sdk内不太清楚的问题
        ae1d6242-6f70-4fc9-9add-0e447ffab428-image.png
        ee0bc0f7-9540-4857-8ac1-0d0e9eb879d6-image.png

      Z 1 Reply Last reply Reply Quote Share 0
      • W
        whycan晕哥 LV 9 last edited by

        韦老师可以参考一下这个帖子:

        xfel运行D1的boot0
        https://whycan.com/t_6638.html#p64488

        全志sdk工具把sys_config.fex 转成二进制存到了
        boot0*.fex uboot*.fex 的开头位置。

        baiwen 1 Reply Last reply Reply Quote Share 0
        • baiwen
          100ask LV 3 @whycan last edited by

          @whycan 感谢回复 boot0阶段没有做深入的研究 只是拿来用,现在主要问题是默认的uboot并不支持使用bootm来单独加载设备树和uImage启动系统。

          1 Reply Last reply Reply Quote Share 0
          • Z
            zqb_all LV 3 last edited by

            全志默认的做法是

            1. sys_config.fex中包含dram参数,是必要的配置。此文件在打包阶段会解析并写到boot0头部,启动时,brom加载boot0到sram,boot0负责初始化dram,并加载uboot到dram运行。

            2. 设备树跟 uboot,opensbi等打包在一起(由boot_package.cfg配置),启动时,boot0会将uboot,opensbi,dtb加载在dram的不同位置,启动到uboot之后,uboot直接用ram中的dtb。

            3. board.dts,是在编译阶段拷贝到内核中(执行cdts可跳过去)进行编译,生成board.dtb. 在打包阶段( scripts/pack_img.sh)拷贝到out/xxx/image目录下,进一步根据boot_package.cfg打包生成boot_package.fex。如果修改board.dts,需要重新编译kernel。

            4. uboot-board.dts , 此文件是uboot的dts,目前uboot可以支持自带dts,即编译的时候直接内嵌一份dts,不跟kernel共用dts。如果修改uboot-board.dts,需要重新编译uboot.

            1 Reply Last reply Reply Quote Share 1
            • Z
              zqb_all LV 3 @baiwen last edited by

              我尝试编译打包后,out/d1-nezha_min/image/sunxi.fex 并不是帖子截图的那样对不上,是有56k大小的。

              1 Reply Last reply Reply Quote Share 0
              • Referenced by  Kirin Kirin 
              • 1 / 1
              • First post
                Last post

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

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