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/AM3358:了解 MMC0卡检测

Guru**** 2612455 points
Other Parts Discussed in Thread: TPS65217

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/579502/linux-am3358-understanding-mmc0-card-detect

器件型号:AM3358
主题中讨论的其他器件:TPS65217

工具/软件:Linux

我们已经为使定制的 AM335x 板内核如此之长的时间来启动... 是的、但现在我们将在以下位置停止: 等待根设备/dev/mmcblk0p2

许多文章都谈到 SD 卡检测线。  我们的 SD 卡插槽将 DATA3和 SD 线连接在一起、 我们已经在之前的 AM335x 板上使用此插槽一段时间了。  我们已经尝试了多种操作、包括使用不同的 ARM MMC0_SDCD 引脚并将其连接到低电平。  

问题:

我们正在使用引脚 C15 (与 BBB 相同)、似乎所有对 SD 卡检测集引脚复用至模式7的引用(MMC0_SDCD 为模式5)。  应将其设置为什么?

2.在等待“等待根设备/dev/mmcblk0p2”时,内核在 SD 卡(文件、目录等)上查找什么?   我们在 mmcblk0p2上有 Ubuntu ext4文件系统。

再次感谢 TI gurus!

Brian Weir

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我指的是 TISDK 03.02.00.05 (内核4.4.3.2)。

    [引述]1. 我们使用引脚 C15 (与 BBB 相同)、似乎所有对 SD 卡检测集引脚复用至 Mode7的引用(MMC0_SDCD 为 Mode5)。  应将其设置为什么?

    mmc1 节点使用(&M):

     CD-GPIO =<&GPIO0 6 GPIO_ACTIVE_LOW>;

    因此、如果您有一个与 BBB 相似的实现、那么您应该将其设置为 MUX_MODE7 (GPIO0_6)。

    [引述]2. 在等待“等待根设备/dev/mmcblk0p2”时,内核在 SD 卡(文件、目录等)上查找什么?  我们在 mmcblk0p2上有 Ubuntu ext4文件系统。

    内核查找 rootfs 分区(文件系统)。 请参阅 create-sdcard.sh (e2e.ti.com/.../create_2D00_sdcard.sh)脚本、了解如何为 AM335x 器件创建该脚本。  

    此致、  
    Yordan

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

    1) 1)右侧- GPIO 用于 SD 卡检测功能、而不是 MMC 自己的 SD 卡检测(低功耗原因)。
    2) 2)当您看到"Waiting for root device /dev/mmcblk0p2 (正在等待根设备)"时、这在很大程度上意味着 SD 卡没有响应。 此时、操作系统将停止并等待。

    我们能看到您的引导日志吗?

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

    艾哈迈德

    感谢您的答复和时间。  

    此致、Brian

    当您说:

    1) 1)右侧- GPIO 用于 SD 卡检测功能、而不是 MMC 自己的 SD 卡检测(低功耗原因)。

    您是指低功耗原因:要在较低电压下运行、还是意味着内部 MMC 卡检测到电流过大?  我很好奇、因为我们使用的 SD 卡插槽中的 SDCD 线路与 Data3共享、我担心这可能会对 Data3线路阻抗产生影响。  

    参考我们的"等待根设备/dev/mmcblk0p2 "停止、以下是引导日志:

    新推出的 ActiveEdge 2017
    U-Boot SPL 2014.07-00010-gfcd7278-m脏(2017年3月03日- 11:44:06)
    在 s_init()内
    现在启用禁用 rtc32k 时钟...
    即将调用 early _init_f..
    MUX.c 板即将调用 SDRAM_init
    SDRAM_INIT...内部
    BoneBlack 配置 DDR...
    结束 SDRAM_INIT...
    调用 SDRAM_init 后
    AM335x_spl_board_init 内部...
    正在读取 u-boot.img
    正在读取 u-boot.img


    U-Boot 2014.07-00010-gfcd7278-m脏(2017年3月03日- 11:44:06)

    I2C:  就绪
    DRAM: 512 MiB
    内部 board_init..
    NAND: 0 MIB
    MMC:  OMAP SD/MMC:0、OMAP SD/MMC:1.
    ***警告- readenv()失败,使用默认环境

    网络:   未设置。 验证第一个电子保险丝 MAC
    CPsw、USB_ether
    按任意键停止自动引导: 1 0
    警告:无法确定要使用的设备树
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    正在阅读 uEnv.txt
    在4ms (53.7 KiB/s)内读取223个字节
    uEnv.txt 上的已加载环境
    正在从 MMC 导入环境...
    正在运行 envcmd ...
    正在读取 uImage
    3802632字节在220ms (16.5 MIB/s)内读取
    读取 AM335x-ActiveEdge.dTB
    在9ms 内读取37189个字节(3.9 mib/s)
    ##从 Legacy Image 中引导内核,地址为82000000...
      图像名称:  linux-4.4.4.52-02812-g3d718f1-dDirt
      创建时间:     2017-03-08 16:53:45 UTC
      映像类型:  ARM Linux 内核映像(未压缩)
      数据大小:   3802568字节= 3.6 MIB
      加载地址:80008000
      入口点: 80008000
      正在验证校验和... 好的
    ###展开的设备树 blob、88000000
      使用0x88000000处的 FDT blob 进行引导
      正在加载内核映像... 好的
      正在将设备树加载到8fff3000,结束8ff144... 好的

    正在启动内核...

    [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.52-02812-g3d718F1-sm脏(zclark@debian)(gcc 版本4.9.3 (Timesys 20160328))#53 SMP Wed Mar 8 11:53:29 EST 2017

    [0.000000]   CPU:ARMv7处理器[413fc082]修订版2 (ARMv7)、CR=10c5387d

    [0.000000]   CPU:PIPT/VIPT 非混叠数据高速缓存、VIPT 别名指令高速缓存

    [0.000000]   机器型号:Remkon EdgeCOM

    [0.000000]   引导控制台[earlycon0]已启用

    [0.000000]   CMA:保留0x9e800000处的16 MIB

    [0.000000]   内存策略:数据高速缓存写回

    [0.000000]   CPU:所有 CPU 均在 SVC 模式下启动。

    [0.000000]   AM335X ES2.1 (SGX NEON )

    [0.000000]   PERCPU:嵌入式13页/CPU @df913000 s24512 r8192 d20544 u53248

    [0.000000]   在区域顺序和移动分组中构建了1个区域列表。  总页数:129408

    [0.000000]   内核命令行:console=ttyO0、115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait ip=none earlyprintk

    [0.000000]   PID 哈希表条目:2048 (顺序:1、8192字节)

    [0.000000]   条目高速缓存散列表条目:65536 (顺序:6、262144字节)

    [0.000000]   inode 高速缓存散列表条目:32768 (顺序:5、131072字节)

    [0.000000]   内存:481632K/522240K 可用(6965K 内核代码、715K RWdata、2388K rodata、436K init、8222K BSS、 24224K 保留、16384K CMA 保留、0K HIGHMEM)

    [0.000000]   虚拟内核内存布局:

    [0.000000]       矢量 :0xff0000-0xff1000  (4KB)   

    [0.000000]       fixmap :0xc00000 - 0xc00000  (3072 KB)

    [0.000000]       vmalloc:0xe0800000 - 0x0x800000  (496MB)

    [0.000000]       低内存 :0xC0000000 - 0xe0000000  (512 MB)

    [0.000000]       pkmap  :bbfe00000 - 0xC0000000  (  2 MB)

    [0.000000]       模块:bbf000000 - bbbfe00000  ( 14 MB)

    [0.000000]         .text:0xc0008000 - 0xc092a910  (9355 KB)

    [0.000000]         .init:0xc092b000 - 0xc0998000  (436KB)

    [0.000000]         .data:0xc0998000 - 0xc0a4afd0  (716 KB)

    [0.000000]          .bss:0xc0a4d000 - 0xc1254bd0  (8223 KB)

    [0.000000]   正在运行 RCU 自检

    [0.000000]   分层 RCU 实现。

    [0.000000]      启用 RCU 锁定检查。

    [0.000000]      叶扇出的生成时间调整为32。

    [0.000000]      RCU 将 CPU 从 NR_CPU=2限制为 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]   IRQ:在0xfa200000 (修订版5.0)处找到具有128个中断的 INTC

    [0.000000]   OMAP 时钟事件源:timer2为24000000 Hz

    [0.000018]   sched_clock:24MHz 时为32位、分辨率为41ns、每89478484971ns 换行一次

    [0.008166]   时钟源:Timer1:屏蔽:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:79635851949 ns

    [0.017770]   OMAP 时钟源:Timer1为24000000 Hz

    [0.02331]   clocksource_probe:未找到匹配的时钟源

    [0.030477]   控制台:彩色虚拟设备80x30

    [0.035209]   警告:您的'console=ttyO0'已被'ttyS0"替代

    [0.042004]   这可确保您仍能看到内核消息。 请

    [0.048547]   更新内核命令行。

    [0.052930]   锁依赖性验证器:版权所有(c) 2006 Red Hat, Inc., Ingo Molnar

    [0.060985]...    MAX_LOCKDEP_SUBCLASSES: 8.

    [0.065292]   。 MAX_LOCK_DEPTH:         48

    [0.069674]...    MAX_LOCKDEP_KEY:       8191

    [0.074247]...    CLASSHASH_SIZE:         4096

    [0.078811]...    MAX_LOCKDEP_ENGINES:    32768

    [0.083474]...    MAX_LOCKDEP_链:     65536

    [0.088124]...    CHAINHASH_SIZE:         32768

    [0.092775]    由锁定相关性信息使用的内存:5167 KB

    [0.098418]    每个任务结构内存占用量:1536字节

    [0.104080]   校准延迟环路... 996.14茂物剪(lpj=4980736)

    [0.145884]   pid_max:默认值:32768最小值:301

    [0.151109]   安全框架已初始化

    [0.155544]   安装高速缓存散列表条目:1024 (顺序:0、4096字节)

    [0.162435]   安装点高速缓存散列表条目:1024 (顺序:0、4096字节)

    [0.172760]   正在初始化 cgroup Subsys IO

    [0.177130]   正在初始化 cgroup Subsys 内存

    [0.181780]   正在初始化 cgroup 子系统设备

    [0.186579]   初始化 cgroup Subsys 冷冻柜

    [0.191299]   正在初始化 cgroup Subsys perf_event

    [0.196301]   CPU:测试写入缓冲区一致性:好的

    [0.202869]   CPU0:线程-1、CPU 0、套接字-1、mpidr 0

    [0.208432]   为0x80008340 - 0x800083b8设置静态标识映射

    [0.219416]   带来了1个 CPU

    [0.222571]   SMP:总共激活1个处理器(996.14 BogoMips)。

    [0.229189]   CPU:所有 CPU 均在 SVC 模式下启动。

    [0.237898]   devtmpfs:已初始化

    [0.279619]   VFP 支持 v0.3:实施者41架构3第30部分版本 c 修订版3

    [0.301362]   omap_hwmod:RTC:无 dt 节点

    [0.305450]   ------ [在此处剪切]-----

    [0.310297]   警告:CPU:0 PID:1 at arch/arm/mach-omap2/omap_hwmod.c:2523 _init+0x1c8/0x410 ()

    [0.319346]   OMAP_hwmod:RTC:没有 MPU 寄存器目标基址

    [0.325804]   链接的模块:

    [0.329040]   CPU:0 PID:1 Comm:swapper/0未被污染4.4.5.02812-g3d718F1-DIRECE# 53

    [0.337172]   硬件名称:通用 AM33XX (平展器件树)

    [0.343545]   [ ](展开回扫)从[ ](show_stack+0x10/0x14)

    [0.351600][    ](show_stack)从[ ](dump_stack+b0/0xe4)

    [0.359122]   [ ](dump_stack)从[ ](warn_slESpath_common+0x7c/bb8)

    [0.367529]   [ ](warn_slowpath_common)、来自[ ](WARN_RASPH_FMt+0x30/0x40)

    [0.376562]   [ ](warn_slowpath_fmt)、来自[ ](_init+0x1c8/0x410)

    [0.384436]   [ ](_init)、来自[ ](omap_hwmod_for_each + 0x34/0x60)

    [0.392309][    ](omap_hwmod_for_each)从[ ](__omap_hwmod_setup_All+0x24/0x40)

    [0.401702]   [ ](__omap_hwmod_setup_all)从[ ](do_one _initcall+0x80/0x1e0)

    [0.410839]   [ ](多个_initcall)、来自[ ](kernel_init_freeed+0x208/0x2d8)

    [0.419878]   [ ](kernel_init_freable)从[ ](kernel_init+0x8/0xec)

    [0.428293]   [ ](kernel_init)、来自[ ](RET_FANK_F叉+0x14/0x24)

    [0.436354]   -[结束跟踪 e0209a6a301524c3 ]---

    [0.476863]   OMAP-hwmod:debugss:_wait_target_disable 失败

    [0.538860]   时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:19112604462750000 ns

    [0.549172]   futex 散列表条目:256 (顺序:2、16384字节)

    [0.558442]   pinctrl 内核:已初始化 pinctrl 子系统

    [0.569276]   NET:注册协议系列16.

    [0.579838]   DMA:为原子相干分配预分配256 K2B 池

    [0.589112]   空闲:使用调速器梯

    [0.593500]   空闲:使用调速器菜单

    [0.610219]   OMAP GPIO 硬件版本0.1

    [0.638043]   硬件断点:不支持调试架构0x4。

    [0.644857]   OMAP4_SRAM_INIT:无法分配处理勘误表 I688所需的 SRAM

    [0.652554]   OMAP4_SRAM_INIT:无法获取处理勘误 I688所需的 SRAM 池

    [0.705637]   EDMA 49000000.EDMA:TI EDMA DMA 引擎驱动程序

    [0.714755]   SCSI 子系统已初始化

    [0.720510]   usbcore:注册的新接口驱动程序 usbfs

    [0.726501]   usbcore:注册的新接口驱动程序集线器

    [0.732207]   usbcore:注册的新设备驱动程序 USB

    [0.738777]   OMAP_i2c 44e0b000。i2c:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/ pinmux@800/pinmux_i2c0_pins 的 pctldev、延迟探针

    [0.752355]   omap_i2c 4802a000.i2c:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/ pinmux@800/pinmux_i2c1_pins 的 pctldev、延迟探针

    [0.765874]   OMAP-i2c 4819c000.i2c:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/ pinmux@800/pinmux_i2c2_pins 的 pctldev、延迟探针

    [0.779558]   pps_core:LinuxPPS API 版本。 1已注册

    [0.784774]   pps_core:软件版本 5.3.6 -版权所有2005-2007 Rodolfo Giometti

    [0.794332]   PTP 时钟支持已注册

    [0.799236]   已初始化高级 Linux 声音架构驱动程序。

    [0.809170]   时钟源:切换到时钟源 Timer1

    [0.96362]   NET:注册协议系列2.

    [0.969181]   TCP 建立哈希表条目:4096 (顺序:2、16384字节)

    [0.976605]   TCP 绑定哈希表条目:4096 (顺序:5、147456字节)

    [0.984626]   TCP:已配置哈希表(建立4096 BIND 4096)

    [0.991517]   UDP 哈希表条目:256 (顺序:2、20480字节)

    [0.997856]   UP-Lite 哈希表条目:256 (顺序:2、20480字节)

    [1.005383]   NET:注册协议系列1.

    [1.011761]   RPC:注册后命名为 UNIX 套接字传输模块。

    [1.017949]   RPC:注册的 UDP 传输模块。

    [1.022958]   RPC:注册的 TCP 传输模块。

    [1.027882]   RPC:注册的 TCP NFSv4.1反向通道传输模块。

    [1.041036]   审核:初始化 netlink 子系统(已禁用)

    [1.046927]   审核:type=2000审核(0.910:1):已初始化

    [1.057056]   VFS:磁盘配额 dquot_6.6.0

    [1.061504]   VFS:Dquot 高速缓存散列表条目:1024 (顺序0、4096字节)

    [1.071551]   NFS:注册 id_resolver 密钥类型

    [1.077207]   注册密钥类型 id_resolver

    [1.081754]   注册了密钥类型 id_legacy

    [1.086186]   jffs2:版本2.2。 (NAND)(摘要) Copyright2001-2006 Red Hat, Inc.

    [1.099304]   已注册 IO 调度程序 NOP

    [1.103451]   已登记 IO 调度程序的截止日期

    [1.107973]   已注册 IO 调度程序 cfq (默认值)

    [1.115520]   pinctrl-single 44e10800.pinmux:142引脚、PA f9e10800大小568

    [1.125539]   串行:8250/16550驱动程序,3个端口,启用 IRQ 共享

    [1.141124]   在 MMIO 0x44e09000 (IRQ = 158、base_baud = 3000000)处的44e09000.serial: ttyS0是8250

    [1.150813]   控制台[ttyS0]已启用
    [1.150813]   控制台[ttyS0]已启用

    [1.157988]   引导控制台[earlycon0]已禁用
    [1.157988]   引导控制台[earlycon0]已禁用

    [1.170169]   48022000.serial: tmio 0x48022000 (IRQ = 159、base_baud = 3000000)处的 ttyS1是8250
    [1.181389]   481a8000.serial: tmio 0x481a8000处的 ttyS2 (IRQ = 160、base_baud = 3000000)是8250
    [1.228636]   返修:模块已加载
    [1.254820]   循环:模块已加载
    [1.260935]   mtdoops:必须提供 MTD 器件(mtddev=name/number)
    [1.329073]   DaVinci_MDIO 4a101000.MDIO:达芬奇 MDIO 修订版1.6
    [1.335219]   DaVinci_MDIO 4a101000.MDIO:检测到的 phy 掩码 FFFFFFFE
    [1.345489]   libphy: 4a101000.mdio:探测
    [1.349680]   DaVinci_MDIO 4a101000.MDIO:PHY[0]:器件4a101000.MDIO:00、驱动程序 Atheros 8031以太网
    [1.360399]   cpsw 4a100000.ethernet:无从器件[1] phy_id、phy-handle 或固定链路属性
    [1.36871]   CPsw 4a100000.以太网:检测到的 MACID = 38:D2:69:4c:A1:19
    [1.375862]   cpsw 4a100000.以太网:CPT:溢出检查周期850
    [1.386486]   EHCI_hcd:USB 2.0 "增强型"主机控制器(EHCI)驱动程序
    [1.393218]   EHI-OMAP:OMAP-EHCI 主机控制器驱动程序
    [1.398880]   ohci_hcd:USB 1.1 'Open'主机控制器(OHCI)驱动程序
    [1.405224]   ohci-OMAP3:OHCI OMAP3驱动程序
    [1.409798]   usbcore:注册的新接口驱动程序 USB 存储
    [1.416003]   usbcore:注册了新接口驱动程序 usbtest
    [1.425374]   47401300.usb-phy 未找到使用虚拟稳压器的电源 VCC
    [1.440642]   47401b00.usb-phy 电源 VCC 未找到、使用虚拟稳压器
    [1.451239]   musb-hdrc musb-hdrc.1.auto: MUSB HDRC 主机驱动程序
    [1.460273]   musb-hdrc musb-hdrc.1.auto:新 USB 总线已注册、分配的总线编号1
    [1.470027]   USB USB1:找到新的 USB 器件、idVendor=1d6b、idProduct=0002
    [1.476857]   USB USB1:新 USB 器件字符串:MFR=3、Product=2、SerialNumber=1
    [1.484193]   USB USB1:产品:MUSB HDRC 主机驱动程序
    [1.489211]   USB USB1:制造商:Linux 4.4.4.52-02812-g3d718F1-脏 musb-hcd
    [1.496467]   USB USB1:Serial Number:musb-hdrc.1.auto
    [1.505506]   集线器1-0:1.0:找到 USB 集线器
    [1.509859]   集线器1-0:1.0:检测到1个端口
    [1.520568]   mousedev:PS/2鼠标设备,适用于所有鼠标
    [1.526209]   i2c /dev/entries 驱动程序
    [1.532278]   omap_hmc 48060000.mmc:获得 CD GPIO
    [1.538835]   usbcore:注册的新接口驱动程序 ushc
    [1.546356]   ledtrig-CPU:已注册以指示 CPU 上的活动
    [1.559843]   DaVinci_EVM 声音:ASOC:编解码器 DAI tlv320aic3x-hifi 未注册
    [1.567136]   DaVinci_EVM 声音:Snd_soc_register_card 失败(-517)
    [1.574443]   正在初始化 XFRM netlink 套接字
    [1.578916]   NET:注册协议系列17.
    [1.583563]   NET:注册协议系列15.
    [1.588446]   注册了密钥类型 DNS_旋 变传感器
    [1.593033]   OMAP_VOLTGE_LARD_INIT:未添加电压驱动器支持
    [1.599475]   SR_DEV_INIT:未为 Smarttreflex0指定电压域。 无法初始化
    [1.607607605]   SR_DEV_INIT:没有为 Smarttreflex1指定电压域。 无法初始化
    [1.617343]   ThumbEE CPU 扩展支持。
    [1.621769]   正在注册 SWP/SWPB 仿真处理程序
    [1.626598]   已初始化 SmartReflex Class3
    [1.643928]   tlv320aic3x-codec 0-001b:无法获取电源'IOVDD':-517
    [1.650869]   tlv320aic3x-codec 0-001b:无法请求耗材:-517
    [1.698633]   tps65217 0-0024:TPS65217 ID 0xe 版本1.2
    [1.705012]   at24 0-0050:32768字节24c256 EEPROM、可写、1字节/写入
    [1.712121]   OMAP_i2c 44e0b000。i2c:总线0 rev0.11为400kHz
    [1.720679]   OMAP_i2c 4802a000.i2c:总线1修订版0.11、频率为400kHz
    [1.728906]   OMAP_i2c 4819c000.i2c:总线2修订版0.11、频率为400kHz
    [1.735744]   omap_hmc 48060000.mmc:获得 CD GPIO
    [1.780695]   DaVinci_EVM 声音:ASOC:编解码器 DAI tlv320aic3x-hifi 未注册
    [1.787984]   DaVinci_EVM 声音:Snd_soc_register_card 失败(-517)
    [1.810950]   DaVinci_EVM 声音:tlv320aic3x-hifi <->4803c000.McASP 映射正常
    [1.833775]   SR_init:无 PMIC 挂钩以初始化 SmartReflex
    [1.839266]   SR_init:SR 的平台驱动程序寄存器失败
    [1.865030]   ALSA 器件列表:
    [1.868044]     #0:AM335x-EVMSK
    [1.875254]   正在等待根设备/dev/mmcblk0p2...
    [80.989284]  random:非阻塞池已初始化

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    参考"等待根设备/dev/mmcblk0p2 "无法引导至 SD 卡根文件系统、我可以使用 U-Boot 命令 ext2ls MMC 0:2或特定文件夹 ext2ls MMC 0:2 /sbin 来执行 SD 卡外部分区的文件列表

    由于某种原因、当内核退出以查找文件系统时、它无法找到它。

    可能我使用了错误的文件系统类型? 它应该是 ext2、ext3、ext4、其他吗?

    谢谢、Brian
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们已将 uenv.txt 重定向至/dev/sda1、将内核指向并引导至仅包含根文件系统的 USB 记忆棒。 u-boot、内核和设备树仍在 SD 卡上。 这似乎可以正常工作、但内核仍然无法看到 SD 卡/dev/.

    我们在设备树或内核配置中或....中遗漏了什么?

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

    SDCD 和 DAT3位于同一线路上意味着什么? 例如、查看 BeagleBone Black 原理图第11页上的 microSD 卡连接器 -该连接器确实有一个标有"CD/DAT3"的引脚、但该引脚应仅用于 DAT3。 应该有另外一个只标记为"CD"的引脚、此引脚与 GPIO 一起使用以进行卡检测。

    供参考-当 AM335x 进入深度睡眠模式时、它将关闭 MMC 外设的时钟以节省额外的功耗。 这将有效地禁用 MMC 的 SDCD。 因此、GPIO 用于检测卡是否存在。

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

    我们使用的是 Alps SCHD3A0100 MicroSD 卡插槽: www.datasheets360.com/.../3045515680420154110

    插槽 SI CD/DAT3上的引脚#2。 我们在之前的 AM335x 板上使用了相同的 SD 卡插槽几年。 我没有为该电路板设计原理图、只将其复制到我们的新电路板上。 我必须承认、我不了解它的工作原理、也找不到任何形式的 SD 卡检测与多路复用 CD/DAT3的说明。 Biser 在此处讨论: e2e.ti.com/.../232955 此处也有讨论: community.nxp.com/.../312338

    无论哪种方式、我都不认为我们使用的是旧板上的 SD 卡检测 SD_CD 线路。 较旧的电路板具有一个零欧姆电阻器、用于将 AM335x MMC_DAT3连接到 SD_CD 线路 GPIO0_6引脚 C15。 我移除了零欧姆电阻器、电路板会引导至具有较旧3.2.0内核和较新4.4.19内核的提示、其中 SD_CD 输入悬空(2.9V)、接地或连接至3.3V。 我们的新电路板上的硬件与未检测到 MMC0 SD 卡的硬件相同。 内核或引脚多路复用器中必须有一个变通方法、允许不使用 SD 卡检测输入、硬编码为存在。 4我们的设计可以、因为我们只从 SD 卡引导。

    此致、Brian
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ahmad、我发现这更好地解释了如何使用多路复用 DAT3/CD 线路:
    hackaday.io/.../9878-micro-fatfs-in-DMA

    此致、Brian
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ahmad、感谢您发表这篇文章。

    但是、我们昨天发现了问题、我们可以从 SD 卡引导到根文件系统、而无需连接 SD_CD 线路。

    事实证明、这是 MMC 设备树中的一个问题:

    此修补程序修复了它:
    mmc1{(&M)
    状态="正常";
    - vqmmc-supply =<&ldo3_reg>;
    VMMC-supply =<&ldo4_reg>;
    总线宽度=<0x4>;
    - pinctrl-names ="default";/*、"sleep";*/
    - pinctrl-0 =<&SD_CARD_PINS_DEFAULT>;
    -/*pinctrl-1 =<&SD_CARD_PINS_SLEEP>;*/
    -/*no-1-8-v;*/
    -/*broken-cd;*/
    - CD-GPIO =<&GPIO0 6 GPIO_ACTIVE_HIGH_>;
    };

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

    您好 Brian、
    器件树肯定很棘手。 我很高兴这一问题已为您解决!

    此致、
    Ahmad