导航

    全志在线开发者论坛

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

    V853 SDK:Linux内核下载。

    V Series
    1
    2
    1509
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • A
      Alb702 LV 5 最后由 编辑

      你好。

      我的设备从 SD 卡启动

      1.为了简化驱动程序-linux内核模块的开发,我在SDK的menuconfig中进行了设置:

      [] Include kernel in root filesystem
      [
      ] Include DTB in root filesystem

      组装好系统并将其安装到SD卡上后,我看到了linux内核文件,但找不到.dtb文件。
      还需要配置什么才能使 dtb 文件位于文件系统上?

      1. uboot 中从 SD 卡加载 Linux 内核的命令顺序是什么? 核心图像:uImage。
      A 1 条回复 最后回复 回复 引用 分享 1
      • A
        Alb702 LV 5 @Alb702 最后由 编辑

        @alb702 在 V853 SDK:Linux内核下载。 中说:

        uboot
        从 SD 卡启动的“快速而肮脏”的方式。 也许这对某人有用。

        V853 SDK不完全支持从SD卡启动。 我没有足够的信息来修复 SDK 的所有缺点,因此我使用了下面描述的方法。
        我的设备使用 sdc0 控制器 (PF00...PF05) 和相应的 mmc0 接口进行启动。 下面的描述中将用到该接口。

        Linux内核将通过脚本加载到uboot中。 我们准备一个文本格式的脚本,内容如下:

        setenv bootargs console=ttyS0,115200 debug panic=5 rootwait root=/dev/mmcblk0p4 earlyprintk rw loglevel=7
        fatload mmc 0:3 0x42000000 uImage
        fatload mmc 0:3 0x43000000 board.dtb
        bootm 0x42000000 - 0x43000000

        并将其以 boot.cmd 的名称保存在临时目录中。

        2、对于SDK中对应的【chip】和【board】:
        在文件 //device/config/chips/[chip]/configs/[board]/sys_config.fex 中
        需要更换:

        ;storage_type = 2
        storage_type = 1

        3.在SDK menuconfig(make menuconfig)中安装:
        menuconfig1.png

        在linux内核配置(make kernel_menuconfig)中设置:
        menuconfig4.png

        4.进入目录//lichee/brandy-2.0/u-boot-2018。 你需要做:
        make menuconfig

        对于 Boot Images 我们设置:
        menuconfig2.png

        对于 Boot Media 我们安装:
        menuconfig3.png

        如果你以这种形式组装系统并使用phoenixcard将其写入SD卡,那么u-boot很可能会启动。 但将无法访问mmc接口。 要使其出现,您需要运行命令:
        mmcinfo

        出现对界面的访问,但无法访问 mmc 部分。 你需要做:
        part list mmc 0

        现在您可以上传文件了 (fatload...)。

        1. 很明显,在u-boot控制台中输入这些命令是没有意义的,因此您需要在文件中写下引导的整个命令序列
          //device/config/chips/[chip]/configs/[board]/linux/env-4.9.cfg :
          ....
          #bootcmd=run setargs_nand boot_normal <-- 这需要禁用并替换为
          bootcmd=mmcinfo; part list mmc 0; fatload mmc 0:3 0x42000000 boot.scr; source
          ....

        6.如果使用mmc0,那么在文件中
        //lichee/brandy-2.0/u-boot-2018/drivers/mmc/mmc.c

        在 mmc_exit(void) 函数中,您需要更改:
        ...
        //int sdc_no = 2;
        int sdc_no = 0;
        ...

        您可以组装系统(make)

        1. 镜像必须在“StartUp”模式下使用phoenixcard安装到SD卡上(不是“Product”!!!) 在这种情况下,应该出现对引导部分中的目录的访问,uImage 文件应位于其中。
          您需要将boot.scr文件和board.dtb文件复制到该目录。 board.dtb 位于
          //lichee/brandy-2.0/linux-4.9/arch/arm/boot/dts/

        SDK 本身应该在构建时复制此文件,但由于某种原因它没有复制。

        1. 卸载SD 卡。 过程结束了!
        1 条回复 最后回复 回复 引用 分享 1
        • 1 / 1
        • First post
          Last post

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

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