This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/dra726:dra726上的 QSPI 引导

Guru**** 2539500 points
Other Parts Discussed in Thread: DRA726, DRA722, TPS65917-Q1

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/604942/linux-dra726-qspi-boot-on-dra726

器件型号:DRA726
主题中讨论的其他器件: DRA722TPS65917-Q1

工具/软件:Linux

我需要有关从 dra726上的 QSPI 引导的一些帮助。

我显然做的不对、因为它无法找到内核

我能够加载 QSPI 的 u-boot、它在 u-boot 提示符处停止

如果我使用 SD 卡将引导设置为在 SD 上引导我可以引导、它也会从 eMMC 引导。

您是否有示例配置和一些操作方法?

我设置地址以匹配 devicetree 信息。

/*
 *默认为对环境等使用 SPI
 * 0x000000 - 0x03FFFF :QSPI.SPL (256KiB)
 * 0x040000 - 0x13FFFF :QSPI.u-boot (1MiB)
 * 0x140000 - 0x1BFFFF :QSPI.devicetree (512KiB)
 * 0x1C0000 - 0x1FFFFF :QSPI.u-boot-env (256KiB)
 * 0x200000 - 0x23FFFF :QSPI.u-boot-env.reddd (256KiB)
 * 0x240000 - 0xA3FFFF :QSPI.kernel (8Mib)
 * 0xA40000 - 0xABFFFF :QSPI.logo (512KiB)
 * 0xAC0000 - 0x3FFFFFF:userland
 *
#define CONFIG_SYS_SPI_kernel_偏移 量0x240000
#define CONFIG_SYS_SPI_args_偏移   量0x140000
#define CONFIG_SYS_SPI_args_size   0x80000
#if 已定义(CONFIG_QSPI_BOOT)
/*在 SPL 中,使用环境并放弃对空间的 MMC 支持。 *
#ifdef CONFIG_SPL_Build
#undef config_SPL_MMC_support
#endif
#define CONFIG_SPL_ENV_support
#define CONFIG_ENV_IS_IN_SPI_FLASH
#define CONFIG_SYS_REDUNDAND_environment
#define CONFIG_ENV_SPI_MAX_Hz   CONFIG_SF_DEFAULT_SPEED
#define CONFIG_ENV_SIZE          (256 << 10)
#define CONFIG_ENV_Sect_SIZE   (256 << 10)/* 256 KB 扇区*/
define CONFIG_ENV_OFFSET      0x1C0000
#define CONFIG_ENV_OFFSET_redund 0x200000
#endif

/* SPI SPL */
#define CONFIG_SPL_SPI_support
#define CONFIG_SPL_DMA_support
#define CONFIG_TI_EDMA3
#define CONFIG_SPL_SPI_LOAD
#define CONFIG_SPL_SPI_FLASH_support
#define CONFIG_SYS_SPI_U_BOOT_OVs    0x40000

U-Boot 2016.05 (2017年6月22日- 10:13:54 -0400)

CPU :DRA722-GP ES2.0
型号:ACTIA 全局显示
ACTIA 全局显示:修订版 C
DRAM: 1 GiB
SF:检测到 S25FL512S_256K、页面大小为512字节、擦除大小为256 KiB、总共64 MIB、mapp0
***警告- CRC 错误,使用默认环境

MMC:  hs 无 pinctrl
hs 无 pinctrl
OMAP SD/MMC:0、OMAP SD/MMC:1.
SF:检测到 S25FL512S_256K、页面大小为512字节、擦除大小为256 KiB、总共64 MIB、mapp0
***警告- CRC 错误,使用默认环境

NET:  找不到以太网。
按任意键停止自动引导: 0
卡未响应电压选择!
卡未响应电压选择!
卡未响应电压选择!
卡未响应电压选择!
=>

我在 NOR 中编程了 MLO、u-boot.img、设备树和内核

&QSPI{
   状态="正常";
   pinctrl-names ="default";
   pinctrl-0 =<&qspi1_PINs>;

   SPI-max-frequency =<48000000>;
   m25p80@0{
               兼容="s25fl512s";
      SPI-max-frequency =<48000000>;
               reg =<0>;
               SPI-TX-bus-width =<1>;
               SPI-Rx-bus-width =<4>;
               #address-cells =<1>;
               大小单元格=<1>;
      SPI-cpol;
      spi-cpha;

               /* MTD 分区表。
                * ROM 检查前四个物理块
                *以启动有效文件、此处的闪存为
                * 256KiB 块大小。
                *
      分区@0{
         标签="QSPI.MLO";
         reg =<0x0 0x40000>;
      };
      分区@1{
         label ="qspi.u-boot.img";
         REG =<0x40000 0x100000 >;
          };
      分区@2{
         标签="QSPI.devicetree";
         reg =<0x140000 0x80000>;
      };
      分区@3{
         label ="qspi.u-boot-env";
         REG =<0x1C0000 0x40000>;
      };
      分区@4{
         label ="qspi.u-boot-env.redund";
         REG =<0x200000 0x40000>;
      };
      分区@5{
         label ="qspi.zImage";
         REG =<0x240000 0x800000>;
      };
      分区@6{
         label ="qspi.logo";
         reg =<0xa40000 0x80000>;
      };
      分区@7{
         标签="QSPI.userland";
         reg =<0xac0000 0x3540000>;
      };
   };
};

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我忘记提到,eMMC 在第二个分区上有 rootfs。 在第一个分区上、我只有 uEnv.txt
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Michel、

    您是否使用最新的 PSDKLA 3.02? 您是否使用 DRA72x TI EVM 或定制板?

    检查您的步骤是否与以下 wiki 页面一致:

    processors.wiki.ti.com/.../Processor_SDK_Linux_Automotive_Software_Developers_Guide
    processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide
    processors.wiki.ti.com/.../Linux_Core_QSPI_User's_Guide

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它是定制板。 Brad 周五告诉我、我应该使用 uImage、这与之前使用 zImage 的建议相反。

    我在 NOR 中没有足够的空间,因此 rootfs 必须位于 eMMC 上。 eMMC 的大小为4G。

    在“处理器”页面上,QSPI 中有 IPU,它是否必须从 rootfs 中加载,或者它是否仍可以从 rootfs 中加载?

    用于 QSPI 的 u-boot 基于最新的汽车 u-boot 减去对 Android 的支持、而包含/配置中的文件不支持 Android。

    对于从 Micro SD 和 eMMC 引导、我使用的是工业版本3.03、因此对于 QSPI、除了我没有引入的 Android 支持外、我使其几乎与汽车 SDK 中的完全相同。

    我的 Linux 内核是工业版本3.03的最新内核、我需要查看与汽车版本3.02的差异

    我现在所拥有的似乎是所谓的开发 QSPI 引导、它引导 u-boot、但从 eMMC 加载器件树和内核。

    我在设备树中的新条目是这个。 由于 NOR 的接线方式、它需要在模式3下运行才能工作。

    为了设置电路板软件、我强制在 microSD 上启动、并使用 bash 脚本从 Linux 启动盘复制文件。

    &QSPI{
       状态="正常";
       pinctrl-names ="default";
       pinctrl-0 =<&qspi1_PINs>;

       SPI-max-frequency =<48000000>;
       m25p80@0{
                   兼容="s25fl512s";
          SPI-max-frequency =<48000000>;
                   reg =<0>;
                   SPI-TX-bus-width =<1>;
                   SPI-Rx-bus-width =<4>;
                   #address-cells =<1>;
                   大小单元格=<1>;
          SPI-cpol;
          spi-cpha;

                   /* MTD 分区表。
                    * ROM 检查前四个物理块
                    *以启动有效文件、此处的闪存为
                    * 256KiB 块大小。
                    *
          分区@0{
             标签="QSPI.MLO";
             reg =<0x0 0x40000>;
          };
          分区@1{
             label ="qspi.u-boot.img";
             REG =<0x40000 0x100000 >;
              };
          分区@2{
             标签="QSPI.devicetree";
             reg =<0x140000 0x80000>;
          };
          分区@3{
             label ="qspi.u-boot-env";
             REG =<0x1C0000 0x40000>;
          };
          分区@4{
             label ="qspi.u-boot-env.redund";
             REG =<0x200000 0x40000>;
          };
          分区@5{
             标签="qspi.uImage";
             REG =<0x240000 0x800000>;
          };
          分区@6{
             label ="qspi.logo";
             reg =<0xa40000 0x80000>;
          };
          分区@7{
             标签="QSPI.userland";
             reg =<0xac0000 0x3540000>;
          };
       };
    };


    Michel Catudal

    ACTIA Corp.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    米歇尔

    [引用 user="Michel Catudal"]这是一个定制板

    您的定制板与 DRA72x TI EVM 在 QSPI 方面有何硬件差异(如果有)?

    [引用 user="Michel Catudal"]布拉德周五告诉我,我应该使用 uImage,这与之前使用 zImage 的建议相反。

    是的、uImage 应用于 QSPI 引导。

    [引用 user="Michel Catudal"]在处理器页上,QSPI 中有 IPU,它是否必须从 rootfs 加载?

    我认为只有在启用"早期启动"功能并计划使用时、QSPI 才需要 IPU exe。 您是否启用并计划使用该功能?

    [引用用户="Michel Catudal"]

    用于 QSPI 的 u-boot 基于最新的汽车 u-boot 减去对 Android 的支持、而包含/配置中的文件不支持 Android。

    对于从 Micro SD 和 eMMC 引导、我使用的是工业版本3.03、因此对于 QSPI、除了我没有引入的 Android 支持外、我使其几乎与汽车 SDK 中的完全相同。

    我的 Linux 内核是工业版本3.03的最新内核、我需要查看与汽车版本3.02的差异

    [/报价]

    我不确定我是否了解您的工业/汽车/Android 组合。 我建议您使用 PSDKLA 3.02 u-boot 和 Linux 内核。 工业 SDK 仅用于 AM57x 器件。

    您能否提供有关启动过程的完整控制台日志? 在 u-boot 提示符下,是否还可以打印 u-boot 环境?

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    未连接 rtclk、因此必须使用模式3

    除非我们发现在启动时读取键盘时出现问题、否则现在不计划提前启动。 有关的键盘连接在 CAN 端口上、我们有5个 CAN 端口、2个本地端口和3个在 SPI 端口上使用 Microchip 器件。

    使 micro SD 上的引导更容易与工业 SDK 配合使用。 我们的 Linux 不使用适用于 rootfs 的 SDK、我们有自定义电路板和自定义 Yocto 方法。 对于 QSPI、我使用汽车 SDK 生成 u-boot、而我的 include 文件中没有任何 Android 支持。 我不需要使用 Android、也不需要使用 u-boot 来浪费时间寻找可能的 Android 启动。

    我的评论是、我当前的 Linux 内核是使用工业 SDK 中的 Makefile 生成的、我需要查看是否必须改用汽车 SDK 来为 QSPI 生成内核。 我认为这两者之间没有很大的区别、无论我是不使用它的、因为我认为这两者都不支持我们的定制 LCD 和触摸屏。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Pavel、

    在今天上午的会议上、我被告知、我们需要在启动后的一到两秒内识别来自 CAN 3 (在微芯片器件上)的特定消息。 这是通过早期启动实现的吗? 我们的 CAN 代码位于具有 TI-RTOS 的 IPU1中。

    我在文档中看到了这一点、对吗? 如果是、则 QSPI 的代码不存在。 那么、是否有关于从 QSPI 加载 IPU1代码的详细信息?

    --------------------------------------------------------------------
    验证和限制

    已针对所有远程控制 IPU2、IPU1、DSP1和 DSP2验证了延迟连接功能。 但存在以下限制。

    U-Boot 仅更新为从 SD 卡或 eMMC 的引导分区加载远程二进制文件。 如果您希望从其他介质(例如 QSPI)加载远程二进制文件、则需要将加载二进制文件的代码添加到 U-Boot 中。

    --------------------------------------------------------------------

    米歇尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Michel Catudal 说:
    未连接 rtclk,因此必须使用模式3 [/quot]

    是的、这是受支持的、只需确保您在 QSPI_SPI_DC_REG 中具有正确的值

    [引用 USER="Michel Catudal)]在 micro SD 上启动更容易与工业 SDK 配合使用。 我们的 Linux 不使用适用于 rootfs 的 SDK、我们有自定义电路板和自定义 Yocto 方法。 对于 QSPI、我使用汽车 SDK 生成 u-boot、而我的 include 文件中没有任何 Android 支持。 我不需要使用 Android、也不需要使用 u-boot 来浪费时间寻找可能的 Android 启动。

    我的评论是、我当前的 Linux 内核是使用工业 SDK 中的 Makefile 生成的、我需要查看是否必须改用汽车 SDK 来为 QSPI 生成内核。 我认为这两者之间没有很大的区别、无论我是不使用它的、因为我认为这两者都不支持我们的定制 LCD 和触摸屏。

    DRA72x 器件附带以下 SDK 选项:

    1.汽车 Android 处理器 SDK - v6AM.1.3

    2.汽车 Linux 处理器 SDK - v3.02.00

    3.汽车 RTOS 处理器 SDK - v3.03.01

    此外、AM571x 器件还提供 SDK 选项:

    1. Linux 处理器 SDK - v03.03

    2. Linux-RT 处理器 SDK - v03.03

    3. RTOS 处理器 SDK - v03.03

    您确切地说哪款 SDK 是"工业 SDK"? 这是其中的6个吗?

    对于 DRA72x 器件上的 QSPI 引导、我建议您使用汽车 Linux 处理器 SDK - v3.02.00:

    另请注意、在"开发启动"模式下、MLO/u-boot 位于 QSPI 中、但 DTB 和 uImage 位于 MMC 中。 您是否对此默认设置进行过任何更改?

    您确切地说是如何构建 MLO/u-boot/uImage/DTB 的? 是否使用 dra7xx_EVM_defconfig、dra7xx_EVM_qspiboot_config?

    如何在 QSPI 中刷写 MLO/u-boot/uImage/dtB/env? 是否使用 mk-qspi-boot.sh 脚本?

    您应设置 u-boot 环境以从正确的位置加载和启动 uImage。

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Michel Catudal)]今天上午的会议上,我被告知,我们需要在启动后的一到两秒内识别来自 CAN 3 (在微芯片器件上)的特定消息。 这是通过早期启动实现的吗? 我们的 CAN 代码位于具有 TI-RTOS的 IPU1中。

    我在文档中看到了这一点、对吗? 如果是、则 QSPI 的代码不存在。 然后从 QSPI 加载 IPU1代码的任何详细信息?

    查看以下 e2e 线程是否将提供帮助:

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在 Linux 处理器 SDK - v03.03中为第一块电路板使用 u-boot 和 Linux 内核。 我们的 QSPI 引脚向后存在硬件问题、因此无法使用 QSPI、并且无法使用汽车 SDK 中的 u-boot 从 micro SD 启动。

    现在、我们有一些好的电路板、今天我们应该再增加大约100个电路板、因此我一直在努力使 QSPI 正常工作。 我让它按照您所述在 DEV 模式下工作。 现在、我希望它从 QSPI 加载 devicetree、uImage 和标识、可能还需要加载 IPU1和 IPU2代码。 我们不为当前客户使用 DSP、但将来可能为其他客户使用 DSP。 由于我们将两个 USB 板都设置为主机、因此无法将它们用作 DFU 的器件、或者是否有办法? 我们计划的方法是使用制造时的固定装置强制在 microSD 上启动、并在具有 Linux 的 micro SD 上使用启动。 使用脚本、我将数据复制到 MTD 和 ext4分区。

    只要 QSPI 处于模式3和48Mhz 下、访问 QSPI 就不会出现问题

    我昨天已将我的补丁放入汽车 SDK 中的内核中、我已经准备好使用该 SDK 中的 u-boot 了。 我在内核中没有做太多更改、增加了对触摸屏和新 devicetree 的支持。 我仍然需要为 ST 加速计添加驱动程序、看起来最新内核中的驱动程序就是这样。 更复杂的可能是连接在 HDMI 端口上的外部 LVDS、目前并不紧急、因为这两个器件都没有安装在我们内部的板上。 我没有看到 TI 对我们使用的器件的任何支持、我可能会在后面的这个问题上给 Brad 造成错误。 这可能会在几个月后发生。

    u-boot 中涉及的更改更多、其中器件树旁边有自己的电路板定义。 我在一个名为 activa 的目录中有电路板定义、而不是使用 ti 目录

    EEPROM 最初位于 SPI 上、在新硬件中、它被移至 EEPROM、因此现在用于检查电路板的功能不存在、对于 micro SD 卡、我强制在 u-boot 中使用一个器件树名。 我在 include/configs 中有两个 include 文件

    actia_dra726.h 和 activa_omap5_common.h、它们基于 dra7xx_evm.h 和 ti_omap5_common.h

    我已经定制了地址以匹配 devicetree 的地址。

    主要区别在于、当它未定义为 QSPI 时、它会像我们在 BeagleBoard X15上所做的那样从 microSD 引导。 使用汽车 SDK 方法、我无法使其超过 SPL。 除此之外、它非常接近我提到的汽车两个文件。

    我们在 SD 上的电压变为3V 和90%时遇到了一些问题、或者我们的电路板根本无法启动。 我在尝试降低该电压的部分中做了注释、问题就会消失。

    在汽车 SDK ti-processor-sdk-linux-Automotive dra7xx-evm_qspiboot_config 中没有像 dra7xx_evm_03_02_00_03这样的东西

    在 Makefile 中、我有这个

    Linux-1:

        $(make)-C $(LINUXKERNEL_INSTALL_DIR) ARCH=ARM $(DEFAULT_LINUXKERNEL_CONFIG)

        $(make)-C $(LINUXKERNEL_INSTALL_DIR)$(LINUXKERNEL_BUIGE_VARS) uImage 模块 dtbs LOADDR=80008000

        $(make)-C $(SGX_kernel_module_path)$(LINUXKERNEL_build_VARS) KERNELDIR=$(LINUXKERNEL_INSTALL_DIR) DiscImage=$(EXEC_DIR)

    这是闪存的脚本、我有另一个用于擦除分区的脚本。

    #! /bin/sh

    mLO_file_path=/home/root/qspi/target/u-boot/MLO

    uBoot_file_path=/home/root/qspi/target/u-boot/u-boot.img

    dtb_file_path=/home/root/qspi/target/boot/dra726-actia-lcd-12inch.dtb

    UIMAGE_FILE_PATH=/home/root/qspi/target/boot/uImage

    回显"刷写 MLO 映像@ 0x000000"

    MTD_DEBUG 写入/dev/mtd0 0 $(ls -l $MLO_FILE_PATH | awk '{print $5}')$MLO_FILE_PATH

    回波"MLO 闪烁完成"

    回显"Flashing u-boot.img image @ 0x040000"

    MTD_DEBUG 写入/dev/mtd1 0 $(ls -l $uBoot_file_path | awk '{print $5}')$uBoot_file_path

    回显"u-boot.img 刷写完成"

    回显"刷写 devicetree 文件@ 0x140000"

    MTD_DEBUG 写入/dev/mtd2 0 $(ls -l $dtb_file_path | awk '{print $5}')$dtb_file_path

    回显"devicetree 文件刷写完成"

    回波"Flashing uImage @ 0x240000"

    MTD_DEBUG 写入/dev/mtd5 0 $(ls -l $UIMAGE_FILE_PATH | awk '{  print $5}')$UIMAGE_FILE_

    回波"uImage 刷写完成"

    我在对 zImage 进行编程时、就像之前的指示一样、星期五 Brad 说它应该是 uImage。 我还没有测试过它、我正在寻找您的消息和 Web 上所述的配置文件、并发现它不存在。

    Michel Catudal

    ACTIA Corp.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Michel Catudal)]现在我希望它从 QSPI 加载 devicetree、uImage 和标识、并可能加载 IPU1和 IPU2代码。 [/报价]

    不要忘记 u-boot envs。 在 u-boot envs 中、您应该指出 u-boot 应该在特定地址加载 Linux 内核。

    [引用 USER="Michel Catudal"]由于我们将两个 USB 板都设置为主机,因此无法将它们用作 DFU 的器件,或者是否有办法解决?

    我找不到解决这个问题的方法。

    [引用用户="Michel Catudal"]汽车 SDK ti-processor-sdk-linux-automotive-dra7xx-evm-03_02_00_03中没有 dra7xx_evm_qspiboot_config 这样的功能

    [引用 user="Michel Catudal"]我在寻找消息和 Web 上所述的配置文件,发现该文件不存在。

    您是否在 dra7xx_evm.h 中启用了 QSPI_BOOT (或您自己的 FAIL、以替换 dra7xx_EVM.h)? 如需更多信息、请参阅以下 e2e 文章:

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     "不要忘记 u-boot envs. 在 u-boot envs 中、您应该指出 u-boot 应该在特定地址加载 Linux 内核。"

    我不确定该 envs 中需要包含哪些内容、更多详细信息?

     "您是否在 dra7xx_evm.h 中启用了 QSPI_BOOT (或您自己的 FAIL、以替换 dra7xx_EVM.h)? 有关更多信息、请参阅以下 e2e 文章:"

    是的

    米歇尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Pavel、

    这是我的 include 文件中 env 上的部分

    #ifndef CONFIG_QSPI_BOOT
    /* Micro SD ENV 相关定义*/
    #define CONFIG_ENV_SIZE         (64 << 10)
    #define CONFIG_ENV_IT_IN_FAT
    #define FAT_ENV_interface      "MMC"
    #define FAT_ENV_DEVICE_AND_PART_"0   :1"
    #define FAT_ENV_file         "uboot.env"
    #endif


    /*
     *默认为对环境等使用 SPI
     * 0x000000 - 0x03FFFF :QSPI.SPL (256KiB)
     * 0x040000 - 0x13FFFF :QSPI.u-boot (1MiB)
     * 0x140000 - 0x1BFFFF :QSPI.devicetree (512KiB)
     * 0x1C0000 - 0x1FFFFF :QSPI.u-boot-env (256KiB)
     * 0x200000 - 0x23FFFF :QSPI.u-boot-env.reddd (256KiB)
     * 0x240000 - 0xA3FFFF :QSPI.kernel (8Mib)
     * 0xA40000 - 0xABFFFF :QSPI.logo (512KiB)
     * 0xAC0000 - 0x3FFFFFF:userland
     *
    #define CONFIG_SYS_SPI_kernel_偏移 量0x240000
    #define CONFIG_SYS_SPI_args_偏移   量0x140000
    #define CONFIG_SYS_SPI_args_size   0x80000
    #if 已定义(CONFIG_QSPI_BOOT)
    /*在 SPL 中,使用环境并放弃对空间的 MMC 支持。 *
    #ifdef CONFIG_SPL_Build
    #undef config_SPL_MMC_support
    #endif
    #define CONFIG_SPL_ENV_support
    #define CONFIG_ENV_IS_IN_SPI_FLASH
    #define CONFIG_SYS_REDUNDAND_environment
    #define CONFIG_ENV_SPI_MAX_Hz   CONFIG_SF_DEFAULT_SPEED
    #define CONFIG_ENV_SIZE          (256 << 10)
    #define CONFIG_ENV_Sect_SIZE   (256 << 10)/* 256 KB 扇区*/
    define CONFIG_ENV_OFFSET      0x1C0000
    #define CONFIG_ENV_OFFSET_redund 0x200000
    #endif

    /* SPI SPL */
    #define CONFIG_SPL_SPI_support
    #define CONFIG_SPL_DMA_support
    #define CONFIG_TI_EDMA3
    #define CONFIG_SPL_SPI_LOAD
    #define CONFIG_SPL_SPI_FLASH_support
    #define CONFIG_SYS_SPI_U_BOOT_OVs    0x40000

    env 何时保存到 env 位置?

    米歇尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有关 u-boot 环境、请检查以下脚本:

    TI-processor-sdk-linux-Automotive ra7xx-evm-03_02_00_03/bin/mk-qspi-boot.sh
    TI-processor-sdk-linux-Automotive ra7xx-evm-03_02_00_03/bin/setup-uboot-env.sh

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在这里、到目前为止、它在加载内核后被阻止

    我也无法停止到 u-boot 提示符

    U-Boot SPL 2016.05 (2017年6月28日- 10:38:50)
    DRA722-GP ES2.0
    尝试从 SPI 引导
    [0.000000]   在物理 CPU 0x0上引导 Linux
    [0.000000]   正在初始化 cgroup Subsys cpuset
    [0.000000]   正在初始化 cgroup 子系统 CPU
    [0.000000]   正在初始化 cgroup Subsys cpuacct
    [0.000000]   Linux 版本4.4.45 (michelcatudal@mcatu01d)(gcc 版本5.3.1 20160113 (Linaro GCC 5.3-2016.02)) 7.
    [0.000000]   CPU:ARMv7处理器[412fc0f2]修订版2 (ARMv7)、CR=10c5387d
    [0.000000]   CPU:PIPT/VIPT 非混叠数据高速缓存、PIPT 指令高速缓存
    [0.000000]   机器模型:ACTIA 全局显示
    [0.000000]   引导控制台[earlycon0]已启用
    [0.000000]   保留存储器:创建了0x95800000的 CMA 存储器池、大小为56 MIB
    [0.000000]   保留存储器:已初始化节点 ipu2_CMA@95800000、兼容 ID shared-dma-pool
    [0.000000]   保留内存:创建了0x9d000000的 CMA 内存池,大小为32 mib
    [0.000000]   保留存储器:已初始化节点 ipu1_CMA@9d000000、兼容 ID shared-dma-pool
    [0.000000]   CMA:在0xbbc00000处保留64 MIB
    [0.000000]   内存策略:数据高速缓存 writealloc
    [0.000000]   OMAP4:将 bbfe00000映射到 fe600000以设置 DRAM 隔离层
    [0.000000]   DRA722 ES2.0
    [0.000000]   PERCPU:嵌入式12页/CPU @ef672000 s18944 r8192 d22016 u49152
    [0.000000]   在区域顺序和移动分组中构建了1个区域列表。  总页数:259904
    [0.000000]   内核命令行:evelator=noop console=ttyO2,115200n8 root=/mmcblk0p2 rw rootwait leyprintk fi4.
    [0.000000]   PID 哈希表条目:4096 (顺序:2、16384字节)
    [0.000000]   条目高速缓存散列表条目:131072 (顺序:7、524288字节)
    [0.000000]   inode 高速缓存散列表条目:65536 (顺序:6、262144字节)
    [0.000000]   内存:870748K/1046528K 可用(6283K 内核代码、322K rwdata、2296K rodata、332K init、219K BS)
    [0.000000]   虚拟内核内存布局:
    [0.000000]       矢量 :0xff0000-0xff1000  (4KB)   
    [0.000000]       fixmap :0xc00000 - 0xc00000  (3072 KB)
    [0.000000]       vmalloc:0xf0800000 - 0x800000  (240 MB)
    [0.000000]       低内存 :0xC0000000 - 0xf0000000  (768 MB)
    [0.000000]       pkmap  :bbfe00000 - 0xC0000000  (  2 MB)
    [0.000000]       模块:bbf000000 - bbbfe00000  ( 14 MB)
    [0.000000]         .text:0xc0008000 - 0xc0868fcc  (8580KB)
    [0.000000]         .init:0xc0869000 - 0xc08bc000  (332 KB)
    [0.000000]         .data:0xc08bc000 - 0xc090cb50  (323 KB)
    [0.000000]          .bss:0xc090e000 - 0xc0944f04  (220KB)
    [0.000000]   slub:HWalign=64、order=0-3、MinObjects=0、CPU=1、Nodes=1
    [0.000000]   可抢占的分层 RCU 实现。
    [0.000000]    叶扇出的生成时间调整为32。
    [0.000000]    RCU 将 CPU 从 NR_CPU=4限制为 nr_CPU_IDs=1。
    [0.000000]   RCU:调整 RCU_Fanout_leaf = 32、nr_cpu_ids=1的几何结构
    [0.000000]   NR_IRQ:16 nr_IRQ:16 16.
    [0.000000]   ti_dt_clocks_register:无法查找时钟节点 GMAC_gmii_ref_clk_div
    [0.000000]   OMAP 时钟事件源:Timer1为32786Hz
    [0.000000]   构建了以6.14MHz (virt)运行的 cp15计时器。
    [0.000000]   时钟源:arch_sys_counter:mask:0xffffffffffffffffffff max_cycles:0x16af5adb9、max_idle_ns:44079520s
    [0.000004]   sched_clock:6MHz 时为56位、分辨率为162ns、每4398046511023ns 换行一次
    [0.008310]   切换到基于计时器的延迟环路、分辨率为162ns
    [0.014948]   时钟源:32K_COUNTER:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:58327039986419 ns
    [0.025220]   OMAP 时钟源:32768Hz 时为32K_COUNTER
    [0.030877]   控制台:彩色虚拟设备80x30
    [0.0355]   警告:您的'console=ttyO2'已被'ttyS2'替代
    [0.042334]   这可确保您仍能看到内核消息。 请
    [0.048854]   更新您的内核命令行。
    [0.053244]   校准延迟环路(跳过)、使用计时器频率计算的值。 12.29茂物剪(lpj=61475)
    [0.063878]   pid_max:默认值:32768最小值:301
    [0.068794]   安装高速缓存散列表条目:2048 (顺序:1、8192字节)
    [0.075685]   安装点高速缓存散列表条目:2048 (顺序:1、8192字节)
    [0.083533]   正在初始化 cgroup Subsys IO
    [0.087759]   正在初始化 cgroup 子系统内存
    [0.092332]   正在初始化 cgroup Subsys 设备
    [0.096981]   初始化 cgroup Subsys 冷冻柜
    [0.101644]   正在初始化 cgroup Subsys perf_event
    [0.106562]   正在初始化 cgroup 子系统 PID
    [0.110962]   CPU:测试写入缓冲区一致性:好的
    [0.116262]   /cpus/cpu@0缺少时钟频率属性
    [0.121806]   CPU0:线程-1、CPU 0、套接字0、mpidr 8000000
    [0.127747]   为0x80008340 - 0x800083a0设置静态标识映射
    [0.177969]   带来了1个 CPU
    [0.181106]   SMP:总共激活1个处理器(12.29个 BogoMips)。
    [0.187540]   CPU:所有 CPU 均在 SVC 模式下启动。
    [0.193345]   devtmpfs:已初始化
    [0.232606]   VFP 支持 v0.3:实施者41架构4第30部分变体 f rev 0
    [0.241485]   OMAP-hwmod:L3_main_2、使用来自 OCP 的断开 dt 数据
    [0.388366]   OMAP_hwmod:i2c1:_wait_target_disable 失败
    [0.447151]   时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:19112604462750000 ns
    [0.470330]   pinctrl 内核:已初始化 pinctrl 子系统
    [0.476673]   NET:注册协议系列16.
    [0.482342]   DMA:预分配256 KiB 池用于原子相干分配
    [0.511417]   空闲:使用调节梯
    [0.541444]   空闲:使用调速器菜单
    [0.553540]   OMAP GPIO 硬件版本0.1
    [0.5646683]   IRQ:找不到/ocp/l4@4a000000/SCM@2000/pinmux@1400的 IRQ 域!
    [0.591284]   硬件断点:找到5个(+1保留)断点和4个观察点寄存器。
    [0.599616]   硬件断点:最大观察点大小为8字节。
    [0.6066]   OMAP4_SRAM_INIT:无法分配处理勘误表 I688所需的 SRAM
    [0.613762]   OMAP4_SRAM_INIT:无法获取处理勘误 I688所需的 SRAM 池
    [0.621914]   OMAP DMA 硬件版本0.0
    [0.706503]   OMAP-DMA-engine 4a056000.DMA-controller:OMAP DMA 引擎驱动程序(支持 LinkedIn List1/2/3)
    [0.717341]   EDMA 43300000。EDMA:禁用 memcpy
    [0.726989]   EDMA 43300000 .EDMA:TI EDMA DMA 引擎驱动程序
    [0.73583]   OMAP-iommu 588820.MMU:588820.MMU 已注册
    [0.741920]   已注册 OMAP-iommu 55080.MMU:55080.MMU
    [0.749658]   SCSI 子系统已初始化
    [0.754823]   Palmas 0-0058:IRQ 标志为0x00000000
    [0.775266]   PALMAS 0-0058:多路复用 GPIO 51、PWM 0、LED 2
    [0.824407]   OMAP_i2c 48070000.i2c:400kHz 时的总线0修订版0.12
    [0.830781]   OMAP_i2c 48060000.i2c:100kHz 时的总线2修订版0.12
    [0.837110]   omap_i2c 4807a000.i2c:400kHz 时的总线3修订版0.12
    [0.843069]   介质:Linux 介质接口:v0.10
    [0.847869]   Linux 视频采集接口:v2.00
    [0.852724]   pps_core:LinuxPPS API 版本。 1已注册
    [0.857920]   pps_core:软件版本 5.3.6 -版权所有2005-2007 Rodolfo Giometti
    [0.867400]   PTP 时钟支持已注册
    [0.871566]   EDAC MC:版本:3.0.0
    [0.882009]   OMAP-mailbox 48840000.mailbox:OMAP mailbox rev 0x400
    [0.888537]   OMAP-mailbox 48842000.mailbox:OMAP mailbox 修订版0x400
    [0.895857]   时钟源:切换到时钟源 ARCH_SYS_COUNTER
    [0.911991]   NET:注册协议系列2.
    [0.917068]   TCP 建立哈希表条目:8192 (顺序:3、32768字节)
    [0.924445]   TCP BIND 哈希表条目:8192 (顺序:4、65536字节)
    [0.931286]   TCP:配置哈希表(建立8192 BIND 8192)
    [0.937948]   UDP 哈希表条目:512 (顺序:2、16384字节)
    [0.944135]   UP-Lite 哈希表条目:512 (顺序:2、16384字节)
    [0.950951]   NET:注册协议系列1.
    [0.965787]   RPC:注册后命名为 UNIX 套接字传输模块。
    [0.971987]   RPC:注册的 UDP 传输模块。
    [0.976919]   RPC:注册的 TCP 传输模块。
    [0.981834]   RPC:注册的 TCP NFSv4.1反向通道传输模块。
    [0.989502]   硬件性能事件:通过 armv7_cortex_a15 PMU 驱动器启用、提供7个计数器
    [1.000285]   futex 散列表条目:256 (顺序:2、16384字节)
    [1.02334]   squashfs:版本4.0 (2009/01/31) Phillip Lougher
    [1.039994]   NFS:注册 id_resolver 密钥类型
    [1.045288]   注册密钥类型 id_resolver
    [1.049705]   注册密钥类型 id_legacy
    [1.053959]   NTFS:驱动程序2.1.32 [Flags:R/O]。
    [1.060720]   退回:池大小:64页
    [1.064882]   块层 SCSI 通用(BSG)驱动程序0.4版已加载(主要247)
    [1.072648]   已注册 IO 调度程序 NOP (默认值)
    [1.077701]   已登记 IO 调度程序截止日期
    [1.082195]   已注册 IO 调度程序 cfq
    [1.088410]   ldo4:由 VDD_5v0供电
    [2.142327]   omap_hwmod:i2c1:_wait_target_disable 失败
    [2.392701]   时钟:DPLL_PCIe_ref_ck 无法转换为"锁定"
    [2.400371]   pinctrl-single 4a00340.00.pinmux:在 PA fc003400大小为1128的282个引脚
    [2.407920]   pinctrl-single 4a002e8c.pinmux:pA fc002e8c 处1个引脚、大小为4
    [2.418159]   未找到使用虚拟稳压器的背光电源
    [2.478215]   串行:8250/16550驱动程序,10个端口,禁用 IRQ 共享
    [2.488141]   4806a000.serial: tmio 0x4806a000处的 ttyS0 (IRQ = 299、base_baud = 3000000)是8250
    [2.498182]   4806c000.serial: tmio 0x4806c000处的 ttyS1 (IRQ = 300、base_baud = 3000000)是8250
    [2.508180]   控制台[ttyS2]已禁用
    [2.511973]   48020000.serial: tmio 0x48020000处的 ttyS2 (IRQ = 301、base_baud = 3000000)是8250
    [2.521181]   控制台[ttyS2]已启用
    [2.521181]   控制台[ttyS2]已启用
    [2.528383]   引导控制台[earlycon0]已禁用
    [2.528383]   引导控制台[earlycon0]已禁用
    [2.538028]   48066000.serial: tmio 0x48066000处的 ttyS4 (IRQ = 302、base_baud = 3000000)是8250
    [2.547672]   48424000.serial: tmio 0x48424000 (IRQ = 303、base_baud = 3000000)处的 ttyS8是8250
    [2.557587]   [DRM]已初始化 DRM 1.1.0 20060810
    [2.563096]   使用虚拟稳压器时、未找到580000.DSS 电源 VDDA_VIDEO
    [2.570309]   OMAP DSS 版本6.1
    [2.574089]   omapdss_DSS 580000.dss:bound 58001000.dispc (ops dispc_component_ops)
    [2.669536]   循环:模块已加载
    [2.672938]   at24 2-0050:4096字节24c32 EEPROM、可写、32字节/写入
    [2.681869]   m25p80 spi32766.0:s25fl512s (65536 KB)
    [2.687226]   在 MTD 器件 spi32766.0上找到8个器件分区
    [2.693082]   在"spi32766.0"上创建8个 MTD 分区:
    [2.698258]   0x000000000000 0x000000040000:"QSPI.MLO"
    [2.714332]   0x000000040000-0x000000140000:"QSPI.u-boot.img"
    [2.730962]   0x000000140000-0x0000001c0000:“QSPI.devicetree"
    [2.747597]   0x0000001c0000-0x000000200000:"QSPI.u-boot-env"
    [2.764199]   0x000000200000-0x000000240000:"QSPI.u-boot-env.redund"
    [2.781436]0x000000240000-0x000000a40000   :"QSPI.uImage"
    [2.797719]   0x000000a40000-0x000000ac0000:"QSPI.logo"
    [2.813830]   0x000000ac0000-0x000004000000:“QSPI.userland"
    [2.83124]   libphy:固定 MDIO 总线:探测
    [2.837802]   mousedev:PS/2鼠标设备,适用于所有鼠标
    [2.853912]   i2c /dev/entries 驱动程序
    [2.858657]   VPE 489d0000.VPE:正在加载固件 vpdma-1b8.bin
    [2.864409]   VPE 489d0000.VPE:vpdma-1b8.bin 的直接固件加载失败,错误-2
    [2.877108]   OMAP_hsmmc 4809c0.MMC:hs 模式无 pinctrl 状态
    [2.88352]   VPE 489d0000.VPE:无法获取固件
    [2.916213]   omap_hsmmc 480b4000.mmc:hs 模式无 pinctrl 状态
    [2.956501]   ledtrig-CPU:已注册以指示 CPU 上的活动
    [2.96497]   NET:注册协议系列10.
    [2.996541]   SIT:IPv6 over IPv4隧道驱动程序
    [3.001723]   NET:注册协议系列17.
    [3.015949]   注册了密钥类型 DNS_旋 变传感器
    [3.020374]   OMAP_VOLTGE_LARD_INIT:未添加电压驱动器支持
    [3.036416]   为电源 VDD、CPU0 -> VDD、4a003b20.oppdm 添加别名
    [3.042625]   为电源 VBB、CPU0 -> VBB、4a003b20.oppdm 添加别名
    [3.065925]   smps1:由固定 VDD-3V3供电
    [3.070841]   为电源 VDD、CPU0 -> VDD、4a003b20.oppdm 添加别名
    [3.085881]   为电源 VBB、CPU0 -> VBB、4a003b20.oppdm 添加别名
    [3.107045]   TI OMAP4+器件的电源管理。
    [3.112122]   正在注册 SWP/SWPB 仿真处理程序
    [3.136308]   DMM 4e000000.DMM:已初始化所有 PAT 条目
    [3.157486]   [DRM]支持 vblank 时间戳缓存修订版2 (2013年10月21日)。
    [3.164127]   [DRM]不支持 vblank 时间戳查询的驱动程序。
    [3.195912]   [DRM]启用 DMM 回绕滚动
    [3.253605]   控制台:切换到彩色帧缓冲器器件240x45
    [3.285857]   omapdrm omapdrm.0:fb0:omapdrm 帧缓冲器件
    [3.316962]   [DRM]在次要0上初始化 omapdrm 1.0.0 20110917
    [3.356221]   hctosys:无法打开 RTC 设备(rtc0)
    [3.386255]   正在等待根设备/mmcblk0p2...
    [4.129484]   mmc1:未设置 MAN_BKOPS_EN 位
    [4.134944]   mmc1:地址0001处的新 MMC 卡
    [4.145944]   omap_hwmod:i2c1:_wait_target_disable 失败
    [4.161750]   mmcblk0:mmc1:0001 Q2J54A 3.59GiB
    [4.176487]   mmcblk0boot0:mmc1:0001 Q2J54A 分区1 16.0 mib
    [4.192601]   mmcblk0boot1:mmc1:0001 Q2J54A 分区2 16.0 mib
    [4.200822]    mmcblk0:P1 P2
    [6.142857]   omap_hwmod:i2c1:_wait_target_disable 失败
    [129.014842] 随机:非阻塞池已初始化

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Michel Catudal">U-Boot SPL 2016.05 (2017年6月28日- 10:38:50)
    DRA722-GP ES2.0
    尝试从 SPI 引导
    [0.000000]   在物理 CPU 0x0上引导 Linux
    [0.000000]   正在初始化 cgroup Subsys cpuset[/quot]

    看起来 SPL 配置为正确的 UART 输出、但出于某种原因、u-boot 未配置。  这就是为什么您看不到任何与 u-boot 相关的打印输出、并且无法在 u-boot 停止引导。  您不使用"falcon mode"(单级引导)、您是吗?  也许要仔细检查你重建了 u-boot 并刷写了它(只是为了确保它不会被错过)?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您如何避免处于故障模式、同时仍从 QSPI 加载内核?

    如果我不切换到 falcon 模式、我就会得到这一点、因为我在 eMMC 上的 FAT 分区上没有任何内容、所以它显然是从 QSPI 读取 u-boot。

    违规代码位于 ti_armv7_common.h 中

    是否有办法仍然能够在 u-boot 处停止并从 QSPI 加载 u-boot、devicetree 和内核?

    我最终得到的失速会怎么样? 它不是 UART、Minicom 仍然可以与电路板通信、它不会走得更远。

    CPU :DRA722-GP ES2.0
    型号:ACTIA 全局显示
    ACTIA 全局显示:修订版 C
    DRAM: 1 GiB
    SF:检测到 S25FL512S_256K、页面大小为512字节、擦除大小为256 KiB、总共64 MIB、映射时间为5c000000
    ***警告- CRC 错误,使用默认环境

    MMC:  hs 无 pinctrl
    hs 无 pinctrl
    OMAP SD/MMC:0、OMAP SD/MMC:1.
    SF:检测到 S25FL512S_256K、页面大小为512字节、擦除大小为256 KiB、总共64 MIB、映射时间为5c000000
    ***警告- CRC 错误,使用默认环境

    NET:  找不到以太网。
    按任意键停止自动引导: 0
    卡未响应电压选择!
    卡未响应电压选择!
    卡未响应电压选择!
    =>

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有一项名为 Getty 的服务负责通过串行端口为您提供终端。 回到 sysvinit、您需要相应地配置/etc/inittab 以指向相应的串行端口。 我在 systemd 下找不到等效项。 不过、我想至少分享这么多信息、以使事情朝着正确的方向发展。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我找到此系统常见问题解答:

    https://wiki.archlinux.org/index.php/Systemd_FAQ#How_do_I_change_the_default_number_of_gettys.3F

    我在根文件系统中看到有几个符号链接:

    root@am57xx-EVM:~# cd /etc/systemd/system/getty.target.wants
    root@am57xx-evm:/etc/systemd/system/getty.target.wants ls -al
    drwxr-xr-x 2 root 4096 Mar 3005:28。
    drwxr-xr-x 11 root 4096 Mar 3005:32 ..
    lrwxrwxrwx 1 root root 用户45 Mar 30 02:18 getty@tty1.service ->../../../../lib/systemd/system/getty@.service
    lrwxrwxrwx 1 root root 用户41 Mar 30 02:03 serial-getty@ttyO2.servICE ->/lib/systemd/system/serial-getty@.service
    lrwxrwxrwx 1 root root 用户41 Mar 30 02:03 serial-getty@ttyS2.servICE ->/lib/systemd/system/serial-getty@.service

    您似乎只需重命名符号链接即可使用正确的 UART。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题不在于串行访问、而是串行访问的问题
    [6.142857] omap_hwmod:i2c1:_wait_target_disable 失败
    [129.014842]随机:非阻塞池已初始化

    lrwxrwxrwx 1 root root 45 28 jun 15:31 getty@tty1.service ->./../../../lib/systemd/system/getty@.service
    lrwxrwxrwx 1 root root 41 28 jun 15:31 serial-getty@ttyS2.service ->/lib/systemd/system/serial-getty@.service

    服务存在、我在 USB 端口上连接了键盘、无法进入命令行。
    它确实打开了 LCD 上的背光

    它必须存在 PMIC 问题。 我以前在使用 micro SD 引导时看到过这种情况。

    如果我修改包含文件以正确指向 MMC、它将从 MMC 加载内核并正常引导。

    我将在下周三休假、我想解决的问题是、我必须使用调试器来确定崩溃的原因。

    我们的应用约为20MB、与 eMMC 相比、我是否会对 QSPI 加载进行一些改进?

    如果您对碰撞有任何想法、请告诉我。 可以通过我的 Gmail 地址联系我。 如果您想查看内核和 u-boot 的补丁、我可以为您提供这些补丁。

    米歇尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    米歇尔


    [引用用户="Michel Catudal"]

    无法停止到 u-boot 提示符

    U-Boot SPL 2016.05 (2017年6月28日- 10:38:50)
    DRA722-GP ES2.0
    尝试从 SPI 引导
    [0.000000]   在物理 CPU 0x0上引导 Linux
    [0.000000]   正在初始化 cgroup Subsys cpuset
    [0.000000]   正在初始化 cgroup 子系统 CPU
    [0.000000]   正在初始化 cgroup Subsys cpuacct
    [0.000000]   Linux 版本4.4.45 (michelcatudal@mcatu01d)(gcc 版本5.3.1 20160113 (Linaro GCC 5.3-2016.02)) 7.

    [/报价]

    如 Brad 所述、这是生产模式(也称为 spl_earl_boot 模式、单级模式、故障模式)。 在此阶段 u-boot.img 是可选的、MLO/SPL 尝试直接加载 uImage。

    在此引导模式中、SPL (第一级引导加载程序)直接引导 Linux 内核。 或者、为了进入 U-Boot、在保持串行终端上的'c'键被按下的同时复位电路板。 当在 U-Boot 构建中启用了 falcon 模式(通常默认启用)时、MLO 会检查是否存在定义的偏移处的有效 uImage。 如果 uImage 存在、则直接引导。 如果未找到有效的 uImage,MLO 会返回到引导 u-boot.img。

    对于 QSPI 单级或 Falcon 模式、应启用 CONFIG_QSPI_BOOT。

    MLO、u-boot.img (可选)、dtb、uImage 存储在 QSPI 闪存中。

    QSPI 引导使用 uImage。 构建内核 uImage。 您需要将 U-Boot 工具 mkimage 保留您的$path 中

    # make uImage 模块 dtbs LOADDR=80008000

    如果内核未使用 CONFIG_CMDLINE 构建以设置正确的 bootargs、则使用 fdtput 主机实用程序在 DTB 文件中的选定节点中添加所需的 bootargs。 例如、对于 DRA74x EVM:

    #fdtput -v -t s arch/arm/boot/dts/dra7-evm.dtb "/cheted" bootargs "console=ttyO0、115200n8 root= "

    将环境变量"boot_os"设置为1。

    Michel Catudal 说:
    我到目前为止得到的结果是,它在加载内核后被阻止

    [引用 user="Michel Catudal"[0.000000]   内核命令行:elevator=noop console=ttyO2,115200n8 root=/mmcblk0p2 rw rootwait leprintk fi4[/quot]

    [quote user="Michel Catudal"[6.142857]   omap_hwmod:i2c1:_wait_target_disable 失败
    [129.014842] 随机:非阻塞池已初始化

    首先要检查的是您的引导 args (内核命令行)。 根据我的理解,您正在尝试从 MMC/SD 卡加载 rootfs。

    在'spl_early _boot'模式下,在构建内核 uImage 时,适当地设置 CONFIG_CMDLINE bootargs 并设置 rootfs=/dev/mmcblk0p2 (eMMC 设备),然后设置内核 CONFIG_CMDLINE boots @menuconfig->Boot options->"Default kernel command string"。

    例如:

    CONFIG_CMDLINE ="电梯= NOOP console=ttyO0、115200n8 root= rw rootwait armlyprintk fixrtc omapdrm.num_crtc=2 consoleblank=0 ca=64M rootfstype=ext4";
     其中 对于 eMMC、可以是/dev/mmcblk0p2;对于 MMC/SD、可以是/dev/mmcblk1p2。

    在引导 args 中添加"调试"、因此您将在调试模式下引导 Linux 内核并检查其准确挂起的位置。

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Pavel Bodev"]

    对于 QSPI 单级或 Falcon 模式、应启用 CONFIG_QSPI_BOOT。

    MLO、u-boot.img (可选)、dtb、uImage 存储在 QSPI 闪存中。

    QSPI 引导使用 uImage。 构建内核 uImage。 您需要将 U-Boot 工具 mkimage 保留您的$path 中

    # make uImage 模块 dtbs LOADDR=80008000

    [/报价]

    我会做所有这些

    [引用 user="Pavel Bodev"]CONFIG_CMDLINE ="电梯= NOOP console=ttyO0、115200n8 root= rw rootwait armlyprintk fixrtc omapdrm.num_crtc=2 consoleblank=0 ca=64M rootfstype=ext4";
     其中 可以是/dev/mmcblk0p2 (用于 eMMC)或/dev/mmcblk1p2 (用于 MMC/SD)。

    我的是

    CONFIG_CMDLINE"升运器=noop console=ttyS2,115200n8 root=/mmcblk0p2 rw rootwait leyprintk consoleblank=0 cmc=64M rootfstype=ext4"

    fixrtc 的作用是什么? 在我们的 dra726中未正确组装 RTC 模块、因此我必须将其从器件树中取出、否则即使在 SD 启动时也会挂起。

    omapdrm.num_crtc=2有什么作用?

    我也有这个

    CONFIG_CMDLINE_FER_BOOTLOADER=y
    启用此选项后、u-boot 是否覆盖 CONFIG_CMDLINE?

    我的配置部分复制自 EVM 版本

    从 QSPI 引导时、我不需要 fat 分区、只需在 eMMC 上使用一个 ext4分区、对吧?

    对于 micro SD 引导、为什么使用 FAT 分区而不是 Linux 分区? 对 Linux 使用旧 DOS 分区似乎没有多大意义。

    米歇尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Michel Catudal2"] console=ttyS2,115200n8[/quot]

    是否将 UART3用于控制台? 是否可以尝试用 ttyO2替换 ttyS2、是否有任何差异?

    默认情况下、我们使用有关 DRA7x 器件的 ttyOx 格式、请参阅以下指针:

    TI-processor-sdk-linux-Automotive ra7xx-evm-03_02_00_03/bin/setup-uboot-env.sh

    当使用8250 UART 驱动程序(不是默认的 OMAP 串行驱动程序)时、应使用 ttySx 格式、有关详细信息、请参阅以下 wiki:

    [引用 user="Michel Catudal2"] root=/mmcblk0p2[/quot]

    请尝试使用 root=/dev/mmcblk0p2

    我将检查您的其他问题。

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Michel Catudal2]fixrtc 有什么作用? 我们 的 dra726中未正确组装 RTC 模块 、因此我必须将其从器件树中取出、否则即使在 SD 启动时也会挂起。

    我发现 fixrtc 与 RTC SS 相关。 内核选项'fixrtc'用于设置从 rootfs 中上次安装时间开始的系统时间。 这使得启动时没有有效 RTC 时间的系统能够引导根文件系统。 使用"fixrtc"选项时,系统时间将设置为上次安装时间,无论系统时间是否已设置为有效的值。

    以下文档也可能对您有所帮助:

    请注意、当您从第一级引导加载程序直接引导至内核时、内核引导参数需要通过器件树传递。 这可以通过在编译前修改器件树文件或在编译后使用 fdtput 来实现。

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Pavel Bodev">是否将 UART3用于控制台? 是否可以尝试用 ttyO2替换 ttyS2、是否有任何差异?

    我尝试了这两种方法、如果我使用 ttyO2、内核会进行转换

    内核使用8250模式

    今天我离开了、我将在星期一返回工作岗位

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Michel Catudal2"] omapdrm.num_crtc=2有什么作用?

    此器件上的 CRC 数量。

    Linux-kernel/drivers/GPU/DRM/omapdrm/Kconfig

    配置 DRM_OMAP_NUM_CRTCS
       Int "CRTC 数量"
       范围1 10.
        如果 arch_omap2 || arch_omap3、则默认为1
       如果 ARCH_OMAP4、则为默认值2
       帮助
        选择可用作帧缓冲区的视频覆盖图的数量。
        其余覆盖层保留用于视频。

    将 CRTC 的数量设置为您拥有的显示数量。

    CRTC ->DSS 覆盖管理器 

    必须通过 bootargs 或内核配置传递 CRTC 的数量。
    CRTC 的数量必须设置为显示数量。 每个 CRTC 保留一个平面。 

    DRM CRTC 特性:

    • 一台电视和三台 LCD 覆盖管理器
    • 对于所有 CRC、支持1080p 60Hz

    必须通过 bootargs 或内核配置传递 CRTC 的数量、这会限制免费 DRM 平面的数量。




  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Michel Catudal2]CONFIG_CMDLINE_FER_BOOTLOADER=y
    启用此选项后、u-boot 是否覆盖 CONFIG_CMDLINE?

    是的。 CONFIG_CMDLINE 仅在 SPL->内核模式下有效(未加载 u-boot.img)。 在此模式下、应使用 CONFIG_CMDLINE 构建内核、以设置正确的 bootargs 或使用 fdtput 主机实用程序在 DTB 文件中的选定节点中添加所需的 bootargs。

    cmdline_from bootloader -使用引导加载程序内核参数(如果可用)。 使用引导加载程序传递的命令行选项。 如果引导加载程序未提供任何、则将使用 CMDLINE 中提供的默认内核命令字符串。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Michel Catudal2"]从 QSPI 引导时,我不需要 FAT 分区,只需在 eMMC 上使用一个 ext4分区,对吗?

    是的、只有 eMMC/MMC 引导才需要 FAT (vfat)、 SPL/MLO 和 u-boot.img 存储在该引导分区中。 ext4用于 eMMC/MMC 的内核、DTB 和 rootfs 分区。

    [引用 USER="Michel Catudal2">对于 micro SD 引导,为什么使用 FAT 分区而不是 Linux 分区? 对 Linux 使用旧 DOS 分区似乎没有多大意义。[/quot]

    这是 DRA72x ROM 代码要求。 请参阅 DM72x TRM、33.3.7.6节 eMMC 存储器和 SD 卡


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Pavel、

    我使用了带 QSPI 的 Falcon 模式、启动至闪屏大约需要6-7秒。 我将使用最新汽车 SDK (3.02)中的 u-boot 以及我们硬件的补丁。

    当从 QSPI 以 Falcon 模式引导时、无法识别 micro SD 并且无法安装。

    rootfs 位于 eMMC 上

    如果我将其设置为从 eMMC 读取内核、我会遇到相同的问题。

    如果我将其设置为从 micro SD 读取内核、并且没有可引导的 micro SD、它将抱怨坏的 micro SD 并从 eMMC 加载内核。

    当 Linux 启动时、我可以看到它能够找到并安装 micro SD。

    我如何解决这个问题?

    我需要能够访问 microSD、因为这是我们为 Navionics 软件提供地图的地方。

    这是我的引导程序

    CONFIG_CMDLINE="升运器=noop console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootwait loglevel=0 fixrtc omapdrm.num_crtc=2 consoleblank=0 cmc=64M rootfstype=ext4";

    如果设置为 root=/dev/mmcblk1p2,则会看到两个分区,但无法找到它所说的正在等待/dev/mmcblk0p2的 rootfs

    米歇尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    米歇尔

    我不确定我是否理解您的要求。 根据我的理解、您需要在故障模式(生产模式、spl_early 引导模式、signle Stage 模式)下从 QSPI 闪存引导、然后从 MMC/SD 卡(非 EMMC)安装和使用 rootfs、这是正确的吗?

    请澄清您的内核(uImage)位于 QSPI 闪存或 MMC/SD 卡的什么位置?

    请提供完整的控制台启动日志(在调试模式下)以供分析。

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Pavel、

    它在 QSPI 中引导正常、问题是当我执行此操作时它无法识别 micro SD。 rootfs 位于第二个 MMC 端口上的 eMMC 上。

    如果我传递有关第二个 MMC 的内核参数、它会识别两个正确的分区、并希望在有一个 FAT 分区的位置引导 micro SD、因此它会冻结在那里。

    在我看来、在这个过程的早期、它无法访问 micro SD、也许它不能正确打开电压。 如果 micro SD 的电压低于3.3V、我们的硬件将无法正常工作。 我将设备树设置为不支持 MMC 1.8V

    什么会强制电压低于3.3V? 我们使用的 PMIC 与汽车 EVM 上的 PMIC 类似、但在 PMIC 外部不需要关闭电源。

    在 u-boot 中、如果我在加载内核之前停止 u-boot、我会得到此结果。

    U-Boot 2016.05 (2017年7月19日- 17:46:58 -0400)

    CPU :DRA722-GP ES2.0
    型号:ACTIA 全局显示
    ACTIA 全局显示:修订版 D
    DRAM: 1 GiB
    MMC:  OMAP SD/MMC:0、OMAP SD/MMC:1.
    卡未响应电压选择!
    **设备 MMC 0 **错误
    使用默认环境

    NET:  找不到以太网。
    按任意键停止自动引导: 0
    => MMC 重新扫描              
    卡未响应电压选择!

    &QSPI{
       状态="正常";
       pinctrl-names ="default";
       pinctrl-0 =<&qspi1_PINs>;

       SPI-max-frequency =<48000000>;
       m25p80@0{
                   兼容="s25fl512s"、"SPI-flash";
          SPI-max-frequency =<48000000>;
                   reg =<0>;
                   SPI-TX-bus-width =<1>;
                   SPI-Rx-bus-width =<4>;
                   #address-cells =<1>;
                   大小单元格=<1>;
          SPI-cpol;
          spi-cpha;

          /* MTD 分区表。
          * ROM 检查前四个物理块
          *以启动有效文件、此处的闪存为
          * 256KiB 块大小。
          *
          分区@0{
             标签="QSPI.MLO";
             reg =<0x0 0x40000>;
          };
          分区@1{
             label ="qspi.u-boot.img";
             REG =<0x40000 0x100000 >;
          };
          分区@2{
             标签="QSPI.devicetree";
             reg =<0x140000 0x80000>;
          };
          分区@3{
             label ="qspi.u-boot-env";
             REG =<0x1C0000 0x40000>;
          };
          分区@4{
             label ="qspi.u-boot-env.redund";
             REG =<0x200000 0x40000>;
          };
          分区@5{
             标签="qspi.uImage";
             REG =<0x240000 0x800000>;
          };
          分区@6{
             label ="qspi.logo";
             reg =<0xa40000 0x80000>;
          };
          分区@7{
             标签="QSPI.userland";
             reg =<0xac0000 0x3540000>;
          };
       };
    };

    mmc1{(&M)
           状态="正常";
       pinctrl-names ="default"、"hs";
           pinctrl-0 =<&mmc1_PINS_DEFAULT>;
       pinctrl-1 =<&mmc1_PINs_h>;
           VMMC-supply =<&ldo1_reg>;
           总线宽度=<4>;
           最大频率=<192000000>;
           NO-1-8-v;
    };

    mmc2{(&M)
           状态="正常";
       pinctrl-names ="default"、"hs";
           pinctrl-0 =<&mmc2_PINS_DEFAULT>;
       pinctrl-1 =<&mmc2_PINs_h>;
           VMMC-supply =<&ldo1_reg>;
           总线宽度=<8>;
           TI、不可拆卸;
           最大频率=<192000000>;
           NO-1-8-v;
    };


    米歇尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Pavel、

    我在回看了消息后注意到我忘记添加日志

    这是 dmesg

    [0.000000]   在物理 CPU 0x0上引导 Linux
    [0.000000]   正在初始化 cgroup Subsys cpuset
    [0.000000]   正在初始化 cgroup 子系统 CPU
    [0.000000]   正在初始化 cgroup Subsys cpuacct
    [0.000000]   Linux 版本4.4.4.47-gf9f6f0db2d (michelcatudal@mcatu01d)(gcc 版本5.3.1 2016017
    [0.000000]   CPU:ARMv7处理器[412fc0f2]修订版2 (ARMv7)、CR=10c5387d
    [0.000000]   CPU:PIPT/VIPT 非混叠数据高速缓存、PIPT 指令高速缓存
    [0.000000]   机器模型:ACTIA 全局显示
    [0.000000]   保留存储器:创建了0x95800000的 CMA 存储器池、大小为56 MIB
    [0.000000]   保留存储器:已初始化节点 ipu2_CMA@95800000、兼容 ID shared-dma-pool
    [0.000000]   保留内存:创建了0x9d000000的 CMA 内存池,大小为32 mib
    [0.000000]   保留存储器:已初始化节点 ipu1_CMA@9d000000、兼容 ID shared-dma-pool
    [0.000000]   CMA:在0xbbc00000处保留64 MIB
    [0.000000]   内存策略:数据高速缓存 writealloc
    [0.000000]   OMAP4:将 bbfe00000映射到 fe600000以设置 DRAM 隔离层
    [0.000000]   在节点0上的总页:261632
    [0.000000]   free_area_init_node:节点0、pgdat c08bb940、node_mem_map ef6cc000
    [0.000000]     正常区域:用于 memmap 的1728页
    [0.000000]     正常区域:保留0页
    [0.000000]     正常区域:196608页、LIFO 批处理:31
    [0.000000]     HIGHMEM 区域:65024页、LIFO 批处理:15
    [0.000000]   DRA722 ES2.0
    [0.000000]   PERCPU:嵌入式12页/CPU @ef672000 s18944 r8192 d22016 u49152
    [0.000000]   pcpu-alloc:s18944 r8192 d22016 u49152 alloc=12*4096
    [0.000000]   pcpu-alloc:[0] 0
    [0.000000]   在区域顺序和移动分组中构建了1个区域列表。  总页数:259904
    [0.000000]   内核命令行:evelator=noop console=ttyO2,115200n8 console=tty1 root=/dev/mm4
    [0.000000]   PID 哈希表条目:4096 (顺序:2、16384字节)
    [0.000000]   条目高速缓存散列表条目:131072 (顺序:7、524288字节)
    [0.000000]   inode 高速缓存散列表条目:65536 (顺序:6、262144字节)
    [0.000000]   内存:870988K/1046528K 可用(6099K 内核代码、317K rwdata、2168K rodata、3)
    [0.000000]   虚拟内核内存布局:
                      向量 :0xff0000-0xff1000  (  4KB)
                      Fixmap :0xc00000 - 0xc00000  (3072 KB)
                      vmalloc:0xf0800000 - 0x800000  (240 MB)
                      低内存 :0xC0000000-0xf0000000  (768 MB)
                      pkmap  :bfe00000 - 0xC0000000  (  2 MB)
                      模块:bbf000000 - bbfe00000  ( 14 MB)
                        .text:0xc0008000 - 0xc081afcc  (8268KB)
                        init:0xc081b000 - 0xc086e000  (332 KB)
                        .data:0xc086e000 - 0xc08bd450  (318KB)
                         .bss:0xc08bf000 - 0xc09077c4  (290KB)
    [0.000000]   slub:HWalign=64、order=0-3、MinObjects=0、CPU=1、Nodes=1
    [0.000000]   可抢占的分层 RCU 实现。
    [0.000000]    叶扇出的生成时间调整为32。
    [0.000000]    RCU 将 CPU 从 NR_CPU=4限制为 nr_CPU_IDs=1。
    [0.000000]   RCU:调整 RCU_Fanout_leaf = 32、nr_cpu_ids=1的几何结构
    [0.000000]   NR_IRQ:16 nr_IRQ:16 16.
    [0.000000]   ti_dt_clocks_register:无法查找时钟节点 GMAC_gmii_ref_clk_div
    [0.000000]   OMAP 时钟事件源:Timer1为32786Hz
    [0.000000]   构建了以6.14MHz (PHY)运行的 cp15计时器。
    [0.000000]   时钟源:arch_sys_counter:mask:0xffffffffffffffffffffff max_cycles:0x16af5adb9、max_s
    [0.000005]   sched_clock:6MHz 时为56位、分辨率为162ns、每4398046511023ns 换行一次
    [0.000016]   切换到基于计时器的延迟环路、分辨率为162ns
    [0.000321]   时钟源:32K_COUNTER:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:583s
    [0.000328]   OMAP 时钟源:32768Hz 时为32K_COUNTER
    [0.000694]   控制台:彩色虚拟设备80x30
    [0.000803]   控制台[tty1]已启用
    [0.000819]   警告:'console=ttyO2'已被'ttyS2'替代
    [0.000824]   这可确保您仍能看到内核消息。 请
    [0.000829]   更新您的内核命令行。
    [0.000840]   校准延迟环路(跳过)、使用计时器频率计算的值。 12.29博城)
    [0.000853]   pid_max:默认值:32768最小值:301
    [0.000950]   安装高速缓存散列表条目:2048 (顺序:1、8192字节)
    [0.000959]   安装点缓存散列表条目:2048 (顺序:1、8192字节)
    [0.001491]   正在初始化 cgroup Subsys IO
    [0.001507]   正在初始化 cgroup Subsys 内存
    [0.001531]   正在初始化 cgroup 子系统设备
    [0.001543]   正在初始化 cgroup Subsys 冷冻柜
    [0.001554]   正在初始化 cgroup 子系统 perf_event
    [0.001564]   正在初始化 cgroup 子系统 PID
    [0.001590]   CPU:测试写入缓冲区一致性:好
    [0.001789]   /cpus/cpu@0缺少时钟频率属性
    [0.001800]   CPU0:线程-1、CPU 0、套接字0、mpidr 8000000
    [0.001847]   为0x80008340 - 0x800083a0设置静态标识映射
    [0.050042]   带来了1个 CPU
    [0.050053]   SMP:总共激活1个处理器(12.29个 BogoMips)。
    [0.050060]   CPU:所有 CPU 均在 HYP 模式下启动。
    [0.050066]   CPU:提供虚拟化扩展。
    [0.0521030]   devtmpfs:已初始化
    [0.080107]   VFP 支持 v0.3:实施者41架构4第30部分变体 f rev 0
    [0.081060]   omap_hwmod:L3_main_2、使用来自 OCP 的断开 dt 数据
    [0.223054]   omap_hwmod:i2c1:_wait_target_disable 失败
    [0.289094]   时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:1911260s
    [0.293132]   pinctrl 内核:已初始化 pinctrl 子系统
    [0.294046]   NET:注册协议系列16.
    [0.295023]   DMA:为原子相干分配预分配256 K2B 池
    [0.320224]   空闲:使用调节梯
    [0.350246]   空闲:使用调速器菜单
    [0.358242]   OMAP GPIO 硬件版本0.1
    [0.365046]   IRQ:找不到/ocp/l4@4a000000/SCM@2000/的 IRQ 域

    Pinmux@1400!
    [0.384206]   无 ATAG?
    [0.384233]   硬件断点:找到5个(+1保留)断点和4个观察点寄存器。
    [0.384242]   硬件断点:最大观察点大小为8字节。
    [0.384638]   OMAP4_SRAM_INIT:无法分配处理勘误表 I688所需的 SRAM
    [0.384647]   OMAP4_SRAM_INIT:无法获取处理勘误 I688所需的 SRAM 池
    [0.385136]   OMAP DMA 硬件版本0.0
    [0.470804]   OMAP-DMA-engine 4a056000.DMA-controller:OMAP DMA 引擎驱动程序(LinkedIn List1/2/3 su)
    [0.471921]   EDMA 43300000。EDMA:memcpy 被禁用
    [0.476648]   EDMA 43300000。EDMA:TI EDMA DMA 引擎驱动程序
    [0.479861]   OMAP-IMU 588820.MMU:588820.MMU 已注册
    [0.480030]   已注册 OMAP-iommu 55082000.MMU:55082000.MMU
    [0.481962]   SCSI 子系统已初始化
    [0.483171]   Palmas 0-0058:IRQ 标志为0x00000000
    [0.502677]   PALMAS 0-0058:多路复用 GPIO 51、PWM 0、LED 2
    [0.551815]   OMAP_i2c 48070000.i2c:400kHz 时的总线0修订版0.12
    [0.552396]   OMAP_i2c 48060000.i2c:100kHz 时的总线2修订版0.12
    [0.552912]   OMAP_i2c 4807a000.i2c:400kHz 时的总线3修订版0.12
    [0.553077]   pps_core:LinuxPPS API 版本。 1已注册
    [0.553086]   pps_core:软件版本 5.3.6 -版权所有2005-2007 Rodolfo Giometti
    [0.553109]   PTP 时钟支持已注册
    [0.553153]   EDAC MC:版本:3.0.0
    [0.561608]   OMAP-MAP-MAP-MAP-MABOO邮 箱48840000.mailbox:OMAP 邮箱版本0x400
    [0.561803]   OMAP-mailbox 48842000.mailbox:OMAP mailbox 修订版0x400
    [0.562795]   时钟源:切换到时钟源 ARCH_SYS_COUNTER
    [0.572713]   NET:注册协议系列2.
    [0.573237]   TCP 建立哈希表条目:8192 (顺序:3、32768字节)
    [0.573300]   TCP 绑定哈希表条目:8192 (顺序:4、65536字节)
    [0.573425]   TCP:配置哈希表(建立8192 BIND 8192)
    [0.573476]   UDP 哈希表条目:512 (顺序:2、16384字节)
    [0.573507]   UP-Lite 哈希表条目:512 (顺序:2、16384字节)
    [0.573715]   NET:注册协议系列1.
    [0.584002]   RPC:注册后命名的 UNIX 套接字传输模块。
    [0.584012]   RPC:注册的 UDP 传输模块。
    [0.584019]   RPC:注册的 TCP 传输模块。
    [0.584025]   RPC:注册的 TCP NFSv4 4.1反向通道传输模块。
    [0.585012]   硬件性能事件:通过 armv7_cortex_a15 PMU 驱动器启用、提供7个计数器
    [0.587295]   futex 散列表条目:256 (顺序:2、16384字节)
    [0.603973]   squashfs:版本4.0 (2009/01/31) Phillip Lougher
    [0.614630]   NFS:注册 id_resolver 密钥类型
    [0.614657]   注册了密钥类型 id_resolver
    [0.614665]   注册了密钥类型 id_legacy
    [0.614737]   NTFS:驱动程序2.1.32 [Flags:R/O]。
    [0.616942]   退回:池大小:64页
    [0.617099]   块层 SCSI 通用(BSG)驱动程序0.4版已加载(主要248)
    [0.617113]   已注册 IO 调度程序 NOP (默认值)
    [0.617125]   已登记 IO 调度程序的截止日期
    [0.617156]   已注册 IO 调度程序 cfq
    [0.619258]   ldo4:由 VDD_5v0供电
    [1.907004]   时钟:DPLL_PCIe_ref_ck 无法转换为"锁定"
    [1.908327]   pinctrl-single 4a00340.00.pinmux:在 PA fc003400大小为1128时为282个引脚
    [1.908452]   pinctrl-single 4a002e8c.pinmux:pA fc002e8c 处1个引脚大小为4
    [1.911660]   未找到使用虚拟稳压器的背光电源
    [1.965886]   Serial:8250/16550 driver,10个端口,禁用 IRQ 共享
    [1.969096]   4806a000.serial: tmio 0x4806a000处的 ttyS0 (IRQ = 299、base_baud = 3000000)是8250
    [1.969973]   4806c000.serial: tmio 0x4806c000处的 ttyS1 (IRQ = 300、base_baud = 3000000)是8250
    [1.970825]   控制台[ttyS2]已禁用
    [1.970874]   48020000.serial: tmio 0x48020000处的 ttyS2 (IRQ = 301、base_baud = 3000000)是8250
    [1.971194]   控制台[ttyS2]已启用
    [1.972035]   48066000.serial: tmio 0x48066000处的 ttyS4 (IRQ = 302、base_baud = 3000000)是8250
    [1.972881]   48424000.serial:在 MMIO 0x48424000 (IRQ = 303、base_baud = 3000000)上的 ttyS8是一个8250
    [1.973960]   [DRM]已初始化 DRM 1.1.0 20060810
    [1.974900]   ldo5:由 VDD_3V3供电
    [1.975448]   OMAP DSS 版本6.1
    [1.976336]   omapdss_DSS 580000.dss:bound 58001000.dispc (ops dispc_component_ops)
    [2.064056]   循环:模块已加载
    [2.064333]   at24 2-0050:4096字节24c32 EEPROM、可写、32字节/写入
    [2.066438]   m25p80 spi32766.0:s25fl512s (65536 KB)
    [2.066514]   在 MTD 器件 spi32766.0上找到8个器件分区
    [2.066522]   在"spi32766.0"上创建8个 MTD 分区:
    [2.066532]   0x0000000000000000 0x000000040000:"QSPI.MLO"
    [2.077458]   0x000000040000-0x000000140000:"QSPI.u-boot.img"
    [2.088313]0x000000140000-0x0000001c0000   :“QSPI.devicetree"
    [2.099169]   0x0000001c0000-0x000000200000:"QSPI.u-boot-env"
    [2.110017]   0x000000200000-0x000000240000:"QSPI.u-boot-env.redd"
    [2.120875]0x000000240000-0x000000a40000   :"QSPI.uImage"
    [2.131740]0x000000a40000-0x000000ac0000   :"QSPI.logo"
    [2.142597]   0x000000ac0000-0x000004000000:“QSPI.userland"
    [2.154411]   libphy:固定 MDIO 总线:探测
    [2.156837]   mousedev:PS/2鼠标设备,适用于所有鼠标
    [2.167351]   i2c /dev/entries 驱动程序
    [2.171855]   ldo1:由 VDD_3V3供电
    [2.253441]   ledtrig-CPU:已注册以指示 CPU 上的活动
    [2.255320]   NET:注册协议系列10.
    [2.273051]   SIT:IPv6 over IPv4隧道驱动程序
    [2.273605]   NET:注册协议系列17.
    [2.273691]   注册的密钥类型 DNS_旋 变传感器
    [2.273840]   OMAP-VOLTGE_LARD_INIT:未添加电压驱动器支持
    [2.274397]   为电源 VDD、CPU0 -> VDD、4a003b20.oppdm 添加别名
    [2.274407]   为电源 VBB、CPU0 -> VBB、4a003b20.oppdm 添加别名
    [2.274471]   smps1:由 VDD_3V3供电
    [2.275105]   为电源 VDD、CPU0 -> VDD、4a003b20.oppdm 添加别名
    [2.275115]   为电源 VBB、CPU0 -> VBB、4a003b20.oppdm 添加别名
    [2.277041]   TI OMAP4+器件的电源管理。
    [2.277238]   正在注册 SWP/SWPB 仿真处理程序
    [2.284591]   DMM 4e000000.DMM:已初始化所有 PAT 条目
    [2.304453]   [DRM]支持 vblank 时间戳缓存修订版2 (2013年10月21日)。
    [2.304460]   [DRM]不支持 vblank 时间戳查询的驱动程序。
    [2.322842]   [DRM]启用 DMM 回绕滚动
    [2.370514]   控制台:切换到彩色帧缓冲器器件240x45
    [2.389821]   omapdrm omapdrm.0:fb0:omapdrm 帧缓冲器件
    [2.412803]   [DRM]在次要0上初始化 omapdrm 1.0.0 20110917
    [2.453167]   hctosys:无法打开 RTC 器件(rtc0)
    [2.473201]   正在等待根设备/dev/mmcblk0p2...
    [3.279327]   omap_hwmod:i2c1:_wait_target_disable 失败
    [3.293175]   mmc1:未设置 MAN_BKOPS_EN 位
    [3.296361]   mmc1:地址0001处的新高速 MMC 卡
    [3.306738]   mmcblk0:mmc1:0001 Q2J54A 3.59GiB
    [3.316909]   mmcblk0boot0:mmc1:0001 Q2J54A 分区1 16.0 mib
    [3.32707]   mmcblk0boot1:mmc1:0001 Q2J54A 分区2 16.0 mib
    [3.328045]    mmcblk0:P1 P2
    [3.400035]   EXT4-FS (mmcblk0p2):恢复完成
    [3.400476]   EXT4-FS (mmcblk0p2):已安装文件系统、具有已订购数据模式。 OPTS:(空)
    [3.400502]   VFS:在设备179:2上安装了根(ext4文件系统)。
    [3.402900]   devtmpfs:已安装
    [3.403049]   释放未使用的内核内存:332K (c081b000 - c086e000)
    [3.403054]   此架构没有内核内存保护。
    [3.526202]   systemd[1]:生成时间之前的系统时间、提前时钟。
    [3.547647]   random:systemd:未初始化 urandom 读取(16字节读取、11位熵 avai)
    [3.549735]   随机:systemd:未初始化 urandom 读取(16字节读取、11位熵 avai)
    [3.555369]   systemd[1]:systemd 229在系统模式下运行。 (+PAM -audit -sLinux +IMA -APPARMO)
    [3.555687]   systemd[1]:检测到架构 ARM。
    [3.573439]   systemd[1]:将主机名设置为 。
    [3.600678]   随机:systemd-sysv-ge:未初始化的 urandom 读取(16字节读取、13位作为主器)
    [3.606335]   随机:systemd-gpT-aut:未初始化的 urandom 读取(16字节读取、13位主器)
    [3.606468]   random:systemd-gpt-aut:uninitialized urandom read (16字节读取,13位主项)
    [3.620979]   random:systemd-sysv-ge:未初始化的 urandom 读取(16字节读取、14位主器)
    [3.631210]   随机:systemd-sysv-ge:未初始化的 urandom 读取(16字节读取、15位初始)
    [3.664941]   random:systemd:未初始化 urandom 读取(16字节读取、17位熵 avai)
    [3.665128]   随机:systemd:未初始化 urandom 读取(读取16字节、17位熵 avai)
    [3.665740]   随机:systemd:未初始化 urandom 读取(读取16字节、17位熵 avai)
    [3.767447]   systemd[1]:sysinit.target:在 sysinit.target/start 上找到订购周期
    [3.767467]   systemd[1]:sysinit.target:找到对 alignment.service/start 的依赖
    [3.767482]   systemd[1]:sysinit.target:找到对 basic.target/start 的依赖
    [3.767495]   systemd[1]:sysinit.target:找到了对 sockets.target/start 的依赖
    [3.767507]   systemd[1]:sysinit.target:找到对 sshd.socket/stop 的依赖
    [3.767519]   systemd[1]:sysinit.target:找到了对 sysinit.target/start 的依赖
    [3.767532]   systemd[1]:sysinit.target:通过删除作业 alignment.servit 来中断订购周期
    [3.767545]   systemd[1]:alignment.service:删除了作业 alignment.service/start 以中断订购
    [3.796374]   systemd[1]:创建的层用户和会话层。
    [3.813129]   systemd[1]:侦听名为 Pipe 的/dev/initctl 兼容性。
    [3.833142]   systemd[1]:已开始将密码请求转发到 Wall Directory Watch。
    [3.853654]   systemd[1]:已创建切片系统切片。
    [3.873007]   systemd[1]:已达到目标层。
    [3.892968]   systemd[1]:已达到目标交换。
    [3.912959]   systemd[1]:已达到目标远程文件系统。
    [3.933122]   systemd[1]:在 Journal Socket 上收听。
    [3.953079]   systemd[1]:tmp.mount:要挂载的目录/tmp 不为空,但仍可挂载。
    [3.955017]   systemd[1]:正在安装临时目录...
    [3.975268]   systemd[1]:正在开始同步系统和硬件时钟...
    [3.99545]   systemd[1]:正在安装调试文件系统...
    [4.003169]   systemd[1]:开始创建当前 ke 所需的静态设备节点列表。
    [4.035320]   systemd[1]:正在开始重新装载根和内核文件系统...
    [4.043625]   systemd[1]:已开始向控制台目录监视发送密码请求。
    [4.060324]   EXT4-FS (mmcblk0p2):已重新安装。 OPTS:(空)
    [4.073748]   systemd[1]:侦听 Syslog 套接字。
    [4.093774]   systemd[1]:创建的片系统-串行\x2dgetty.slice。
    [4.116541]   systemd[1]:正在启动加载内核模块...
    [4.126699]   systemd[1]:正在启动启动 Psplash 启动屏幕...
    [4.153231]   systemd[1]:侦听 udev 内核套接字。
    [4.185285]   systemd[1]:正在启动安装虚拟控制台...
    [4.210047]   systemd[1]:安装 POSIX 消息队列文件系统...
    [4.243218]   systemd[1]:收听 Journal Socket (/dev/log)。
    [4.265238]   systemd[1]:正在启动日志服务...
    [4.283861]   systemd[1]:创建的 slice system-Getty.slice。
    [4.303323]   systemd[1]:侦听 udev 控制套接字。
    [4.333139]   systemd[1]:已达到目标路径。
    [4.35972]   systemd[1]:已挂载 POSIX 消息队列文件系统。
    [4.383234]   systemd[1]:已安装调试文件系统。
    [4.403067]   systemd[1]:挂载的临时目录。
    [4.423248]   systemd[1]:已启动日志服务。
    [5.049463]   OMAP_hwmod:i2c1:_wait_target_disable 失败
    [5.271195]   systemd-journale[147]:收到从 PID 1刷新运行时日志的请求
    [6.160543]   OMAP-hwmod:i2c1:_wait_target_disable 失败
    [6.185038]   OMAP-DES 480a5000.des: OMAP DES 硬件加速器版本:2.2
    [6.208010]   ALG:skcipher:setkey 在 ECG-DES-OMAP 的测试5上失败:flags=100
    [6.208139]   ALG:skcipcip-ddst:setkey 在 ECG-DES-OMAP 的测试5上失败:flags=100
    [6.208268]   ALG:skcipcip-ddst:setkey 在 ECG-DES-OMAP 的测试5上失败:flags=100
    [6.258477]   [egalax_i2c]: 驱动程序初始化完成!
    [6.258614]   [egalax_i2c]: 启动探针
    [6.258635]   [egalax_i2c]: IRQ = 139
    [6.258807]   输入:eGalax_Touch_Screen、如/devices/virtual/input/input0所示
    [6.259019]   [egalax_i2c]: 寄存器输入设备完成
    [6.282893]   [egalax_i2c]: 请求 IRQ (139) GPIO (113)、结果为:0
    [6.282902]   [egalax_i2c]: I2C 探针完成
    [6.284277]   OMAP_rng 48090000.rng:OMAP 随机数生成器版本 20.
    [6.596663]   random:非阻塞池已初始化
    [6.868643]   OMAP_WDT:OMAP 看门狗计时器修订版0x01:初始超时60秒
    [6.873581]   OMAP-SHIM 4b101000.sham:OMAP 版本4.3上的硬件加速器
    [7.446606]   OMAP-AES 4b500000.AES:OMAP AES 硬件加速器版本:3.3
    [7.489901]   FAT-FS (mmcblk0p1):卷未正确卸载。 某些数据可能已损坏。 PL
    [7.624901]   OMAP-AES 4b700000.AES:OMAP AES 硬件加速器版本:3.3
    [7.625730]   OMAP-rproc 588200.IPU:分配的保留存储器节点 ipu1_CMA@9d000000
    [7.625772]    remoteproc0:588200.IPU 可用
    [7.625778]    remoteproc0:注意:remoteproc 仍在开发中并经过深思熟虑的实验。
    [7.625783]    remoteproc0:二进制格式尚未最终确定、且向后兼容。
    [7.625907]   OMAP-rproc 5502000.IPU:分配的保留存储器节点 ipu2_CMA@95800000
    [7.625940]    remoteproc1:5502000.IPU 可用
    [7.625946]    remoteproc1:注意:remoteproc 仍在开发中并经过深思熟虑的实验。
    [7.625951]    remoteproc1:二进制格式尚未最终确定、且向后兼容。
    [7.647710]   [DRM]在次要版本1上初始化 PVR 1.14.3699939 20110701
    [7.824822]    remoteproc1:注册的 virtio0 (类型7)
    [7.867506]    remoteproc0:registered virtio1 (type 7)
    [7.930264]   PVR_K:UM DDK-(3699939)和 KM DDK-(3699939)匹配。 [确定]
    [9.451321]    remoteproc1:为5502000.IPU 加电
    [9.477590]    remoteproc1:引导 FW 映像 dra7-ipu2-fw.xem4,大小为3739032
    [9.477670]   OMAP-IMU 55082000.MMU:55082000.MMU:2.1版
    [9.710465]    remoteproc1:远程处理器5502000.IPU 现已启动
    [9.711415]   virtio_rpmsg_bus virtio0:rpmsg 主机处于联机状态
    [9.718950]   virtio_rpmsg_bus virtio0:创建通道 rpmsg-RPC addr 0x65
    [9.719865]   virtio_rpmsg_bus virtio0:创建通道 rpmsg-RPC addr 0x66
    [9.725475]    remoteproc0:加电588200.IPU
    [9.731125]    remoteproc0:引导 FW 映像 dra7-ipu1-fw.xem4,大小5033360
    [9.731239]   OMAP-IMU 588820.MMU:588820.MMU:2.1版
    [9.784168]    remoteproc0:远程处理器5882000.IPU 现已启动
    [9.785414]   virtio_rpmsg_bus virtio1:rpmsg 主机处于联机状态
    [9.794843]   virtio_rpmsg_bus virtio1:创建通道 rpmsg-proto addr 0x3D
    [9.819793]   rpmsg_RPC rpmsg0:使用 src 1024 dst 101探测服务 DCE-callback
    [9.820240]   rpmsg_RPC rpmsg1:使用 src 1025 dst 102探测服务 rpmsg-DCE
    [9.820637]   rpmsg_RPC rpmsg0:已发布函数= 4
    [9.821320]   rpmsg_RPC rpmsg1:已发布函数= 9
    [9.831916]   NET:注册协议系列41.
    [10.981109]  usbcore:注册的新接口驱动程序 usbfs
    [10.984181]  usbcore:注册的新接口驱动程序集线器
    [10.987043]  usbcore:注册的新设备驱动程序 USB
    [10.996759]  xhci-hcd xhci-hcd.0.auto: xHCI 主机控制器
    [10.996793]  xhci-hcd xhci-hcd.0.auto:新 USB 总线已注册,分配总线编号1
    [10.997341]  xhci-hcd xhci-hcd.0.auto: HCC 参数0x0220f04c HCI 版本0x100奇数0x00210010
    [10.997392]  xhci-hcd xhci-hcd.0.auto: IRQ 417、IO 内存0x48890000
    [10.998887]  集线器1-0:1.0:找到 USB 集线器
    [10.998998]  集线器1-0:1.0:检测到1个端口
    [11.000200]  xhci-hcd xhci-hcd.0.auto: xHCI 主机控制器
    [11.000218]  xhci-hcd xhci-hcd.0.auto:已注册新 USB 总线、分配的总线编号2
    [11.000592]  USB USB2:我们不知道该主机的 LPM 算法、因此禁用了 LPM。
    [11.013211]  集线器2-0:1.0:找到 USB 集线器
    [11.013249]  集线器2-0:1.0:检测到1个端口
    [11.013656]  xhci-hcd xhci-hcd.1.auto: xHCI 主机控制器
    [11.013679]  xhci-hcd xhci-hcd.1.auto:新 USB 总线已注册、分配的总线编号3
    [11.022279]  xhci-hcd xhci-hcd.1.auto: HCC params 0x0220f04c HCI version 0x100 quirks 0x00210010
    [11.022330]  xhci-hcd xhci-hcd.1.auto: IRQ 418、IO 内存0x488d0000
    [11.031424]  集线器3-0:1.0:找到 USB 集线器
    [11.031544]  集线器3-0:1.0:检测到1个端口
    [11.032140]  xhci-hcd xhci-hcd.1.auto: xHCI 主机控制器
    [11.032157]  xhci-hcd xhci-hcd.1.auto:新 USB 总线已注册、分配总线编号4
    [11.033027]  USB USB4:我们不知道该主机的 LPM 算法、因此禁用了 LPM。
    [11.039924]  集线器4-0:1.0:找到 USB 集线器
    [11.040040]  集线器4-0:1.0:检测到1个端口
    [11.312882]  USB 1-1:使用 xhci-hcd 的新型高速 USB 器件编号2
    [12.364791]  aSix 1-1:1.0 eth0:寄存器'aSix'、位于 usb-xhci-hcd.0.auto-1、ASIX AX88772B USB 2.0 9
    [12.364888]  usbcore:注册的新接口驱动程序 aSix
    [13.183986]  IPv6:ADDRCONF (NETDEV_UP):eth0:链路未就绪
    [16.248722]  IPv6:ADDRCONF (NETDEV_CHANGE):eth0:链路就绪
    [16.252498]  六个1-1:1.0 eth0:链路 up、100Mbps、全双工、LPA 0x45E1
    [16.295532]  8021q:802.1Q VLAN 支持 v1.8
    米歇尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Michel Catudal"]

    在我看来、在这个过程的早期、它无法访问 micro SD、也许它不能正确打开电压。 如果 micro SD 的电压低于3.3V、我们的硬件将无法正常工作。 我将设备树设置为不支持 MMC 1.8V

    什么会强制电压低于3.3V? 我们使用的 PMIC 与汽车 EVM 上的 PMIC 类似、但在 PMIC 外部不需要关闭电源。

    [/报价]

    这可能是定制板的硬件问题。 我有以下问题。 我假设您将 SD 卡连接到 DRA72x MMC1接口。 MMC1 IO 缓冲器由 DRA72x VDDSHV8电源域供电。

    VDDSHV8 (MMC1电源域)的电源是什么?

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Pavel Bodev"]

    这可能是定制板的硬件问题。 我有以下问题。 我假设您将 SD 卡连接到 DRA72x MMC1接口。 MMC1 IO 缓冲器由 DRA72x VDDSHV8电源域供电。

    VDDSHV8 (MMC1电源域)的电源是什么?

    [/报价]

    它连接到 TPS65917-Q1上的 LDO1_OUT 引脚23

    微型 SD 直接由3.3V 电源供电、LDO1连接到上拉电阻器和 QSPI 闪存。

    此器件在 u-boot 配置中的 PMIC 正确条目是什么? 在汽车 EVM 上没有用于 SD 卡的开关。

    在测试中、我对 MMC 源进行了黑客攻击、以防止尝试将电压切换至3.0V 或1.8V、SD 现在始终在早期阶段被识别、以前从未被识别过。

    在 Linux 中、它仍然未列为 DEV、问题可能出在 Linux 中、或者当我从 QSPI 引导时、它只是出于某种原因未在 u-boot 中启用吗?

    如果我从 QSPI 中删除内核、只要我在 eMMC 中有可用的器件树和内核、就不会出现从 eMMC 引导的问题。

    如果您要向我发送电子邮件、我可以向您提供原理图和 devicetree。 我们与德州仪器签订了 NDA。

    Michel Catudal

    ACTIA Corp.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [报价用户="Michel Catudal"] LDO1连接到上拉电阻器和 QSPI 闪存。[/quot]

    LDO1连接到 QSPI 闪存? 您能提供有关这一点的更多信息吗? 您是指 LDO1连接到 QSPI 闪存电源吗?

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [报价用户="Pavel Bodev">LDO1是否连接到 QSPI 闪存? 您能提供有关这一点的更多信息吗? 您的意思是 LDO1连接到 QSPI 闪存电源吗?

    没错。 器 件是 S25FL512S、VCC 和 VIO/RFU 连接到 MMC1_3V3、后者也连接到 MISC 上拉电阻(QSPI、micro SD、eMMC 和 sysboot 引脚)。

    连接到 VDDSHV8.1和 VDDSHV8.2 (Y8和 W8)。

    Micro SD 和 eMMC VCC 都连接到固定的3.3V 电源、该电源连接到 PMIC 上的 SMPS 输入端

    提供3.3V 电源的电源由 STM32处理器控制

    Michel Catudal

    ACTIA Corp.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Pavel、

    我忘了提到、STM32和 DRA726都在冷启动时上电。 然后、STM32可以开启 DRA726的电源、但只能根据 DRA726的请求进行供电。

    我们的硬件设计人员使用这种方法的原因是、DRA726在睡眠模式下消耗过多电流、因此 STM32用于唤醒。

    STM32还用于 DRA726上不存在的模拟和二进制输入。

    米歇尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    米歇尔

    我向您发送了一封私人邮件。

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Pavel、

    我在 u-boot 和 Linux 中安装了 MMC 驱动程序、问题就解决了。 我必须在正确识别 micro SD 后添加补丁、但如果插入 micro SD 卡、则无法启动。

    现在、MMC 根据 MMC 的顺序进行标记、而不是先识别哪个。 这样、eMMC 就始终被识别为 mmcblk1

    接下来、我要做的是早启动、晚连接。 我对 Linux 内核的文档有一些问题,您能帮些什么? 我将发布另一条消息

    Michel Catudal

    ACTIA Corp.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Michel、

    很高兴看到您解决了问题。 您能否将此线程标记为已解析。

    我将查看您的另一个 e2e 线程、并在我有什么东西时提供提示。

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Michel Catudal2">u-boot 和 Linux 中的 MMC 驱动程序,问题就解决了。 在正确识别 micro SD 后、我必须添加补丁、但如果插入 micro SD 卡、则无法启动。[/quot]

    我们使用部件 uuid 作为定义引导设备的方法来解决此问题。  请参阅此 u-boot 补丁:

    https://lists.denx.de/pipermail/u-boot/2015-August/225415.html

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brad、

    它适用于 eMMC 引导、但不适用于 QSPI 故障模式引导。 此外、更改器件标识也可能是我们的软件更新的问题。

    我的解决方法是这样做、因为它不允许器件名称更改 micro SD 是否在插槽中、因此对于我们的电路板而言、这种方法更清晰。 不过、如果我们能够像 USB 器件那样自动安装、那会更好。

    在 drivers/MMC/card/Kconfig 中

    配置 MMC_SLOTINDEX
           bool "使用主机索引枚举 mmxblkn"
           取决于 MMC_BLOCK
           默认 n
           帮助
             在嵌入式器件上、通常会有组合
             可移动 MMC 设备(例如 MMC/SD 卡)和硬盘
             有线(例如 eMMC)。 具体取决于硬件
             配置时、'mcblkn'节点可能会更改
             可移动设备在引导时可用或不可用。
     
             例如、如果在引导时连接了可移动设备、
             它可能会变成 mmxblk0。 和硬接线一个 mmcblk1。
             但是、如果在启动时不存在可移除设备、
             硬接线将变为 mmcblk0。 就是这样
             以某种方式难以将根设备硬编码到
             不可移动设备并快速启动。
     
             启用此选项将仅关联的"N"
             "mcblkn"、带槽索引、而不是动态
             名称索引。 插槽索引始终相同、请确保
             不可移动 MMC 设备始终关联
             相同的毫米波千牛。 独立于的可用性
             可拆卸的。
     
             如果不确定、请在此处回答 N。
     


    在 include/Linux/MMC/host.h 中

    #ifdef CONFIG_MMC_SLOTINDEX
    #define NAMEIDX (卡->主机->索引)
    其他
    #define NAMEIDX (MD->NAME_IDx)   
    #endif

    在 drivers/MMC/card/block.c 中、将 snprintf 命令更改为使用 NAMEIDX

           snprintf (md -> disk->disk_name、sizeof (md -> disk->disk_name)、
                                           "mmcblk%u%s"、NAMEIDX、子名称? 子名称:“”);

    米歇尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好 ,我遇到了相同的问题,但我希望引导内核处于单级模式。 您是否可以将您在 dra7xx_evm.h 或其他网站上的更改发送给我?请,非常感谢!!!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在故障模式下启动。 您是否使用 micro SD、QSPI 或 eMMC 引导?
    在 falcon 模式下、您需要使用内核传递参数。

    我对引导所做的更改是所描述的更改、但我确实发现了其他问题。 在故障模式下、从未识别到 micro SD。 我必须在 u-boot 和 Linux 内核中破解 MMC 驱动程序、以使其永远不会切换到3V。 如果我允许 micro SD 上的电压切换至为 DRA7xx 硬编码的3V、那么我们的大多数电路板会在启动时崩溃。 我们的硬件无法处理此问题、因为同一电源用于其他无法在该电压下运行的器件。

    如果您遇到类似的问题、我可以在我的网站上提供一些补丁。 这将在周末举行。

    网址为 :http://suzielinux.com/

    我尚未为 BeagleBoard X15实施补丁、因为我还没有在该板上尝试故障模式、仅针对启动时间有问题的 ACTIA 板。

    如果您不在 QSPI 上引导、则可以对 uEnv.txt 文件中的内核默认参数进行一些更改。
    在我们的 ACTIA 板中、QSPI 和 rootfs 的引导位于 eMMC 上。 我对 Navionics 的一些地图使用 micro SD。

    我的论点是:

    CONFIG_CMDLINE"升运器=noop console=ttyO2,115200n8 root=/dev/mmcblk1p2 rw rootwait earlyprintk loglevel=15 fixrtc omapdrm.num_crtc=2 consoleblank=0=64M rootfstype=4 "CMA

    您可以减少日志级别以限制消息并删除只打印

    米歇尔