i.MX8MQ自制底板无PCIe问题详解

原创 2022-08-22 09:39:00 iMX8MQ iMX8
 

飞凌嵌入式OKMX8MQ-C开发板上有两个PCIe接口,对应着两个PCIe差分时钟,两路PCIe分别用作了M.2接口卡槽KEYE(P37)和KEYM(P34)。很多使用FETMX8MQ-C核心板的用户在自制底板时会不做PCIe部分,故而不会焊PCIe的差分时钟,等到使用出厂镜像验证底板时发现会出现无法正常启动的问题。今天,小编将总结常见的2种iMX8MQ自制底板无PCIe导致的问题及其对应解决办法以供大家参考。

1.“使用出厂镜像启动时发现无法正常启动”


问题描述——

客户自制底板去掉PCIe烧录出厂镜像,启动时出现的卡死信息:


产生原因——

PCIe影响了启动,需要在设备树里把跟PCIe有关的功能关闭。


解决办法——

修改内核设备树:

viOK8MQ-linux-kernel/arch/arm64/boot/dts/freescale/ok8mq-evk.dts

将设备树中的PCIe全部从“okay”改为“disabled”,重新编译。编译后会在/OK8MQ-linux-sdk/images/boot下生成ok8mq-evk.dtb。\

完成上述修改后重新编译并用新的镜像进行烧写。

正常启动后打印信息如下(红框中是在上述卡住位置向后继续启动的打印信息):

注意:飞凌目前提供的最小系统方案也是没有设计 PCIe ,故用户如果使用了飞凌的最小系统方案,也需要按照上述方法进行修改。

2.“使用TF卡进行烧写时发现烧写一半卡住”


问题描述——

客户自制底板去掉PCIe,使用TF卡烧写时看到命令行打印信息在下述位置卡住:

注意:并不一定就卡在上述位置,但一定在上述打印信息附近,不会太远。


产生原因——

烧写引导镜像中的PCIe的启动影响了烧写,需要替换烧写工具中的内核阶段引导镜像。

解决办法——

首先按照问题中的方法修改内核设备树并编译。进入“OK8MQ-linux-sdk/tools/update”路径,可看到该路径下有很多dtb文件:

用编译生成的“images/boot”路径下的ok8mq-evk.dtb替换掉当前路径下的ok8mq-evk.dtb。

执行编译命令,生成新的烧写工具:

使用新生成的update.itb替换掉完成制卡后TF卡中的update.itb,正常进行TF卡烧写。

进入OK8MQ-linux-sdk/tools/sdfuse路径,可看到新生成的烧写工具update.itb。

注意:

  • 我们的烧写工具部分源码是不开源的,若您确实需要做相应更改请联系您的对接销售,由我们帮您修改。

  • OTG 烧写不会因没有 PCIe 而受到影响。

上述的两个问题就是用户在自制底板去掉PCIe时可能会遇到的两种问题。


当然, 只设计了一路 PCIe的情况也需要注意:

如果自制底板只做了一路PCIe, 只焊了一个时钟芯片,也是会影响启动的。那么也需要修改设备树,关闭未做出的那一路PCIe;

如果自制底板只做了一路PCIe,而 差分时钟焊的不是与接口对应的,那在命令行用lspci命令查询就会找不到设备。

以上就是OKMX8MQ-C平台目前针对底板去掉PCIe存在的问题提出的解决办法,可供大家在设计i.MX8MQ的底板时参考。

相关产品 >

  • OKMX8MQ-C开发板

    飞凌嵌入式提供基于 NXP/Freescale iMX8、i.MX 8MQ处理器设计ARM核心板FETMX8MQ-C。i.MX8M处理器具有音频、语音和视频处理功能,飞凌iMX8核心板充分发挥NXP iMX8 系列 ARM 处理器性能,对功能做了优化。提供10~15年产品长期供货计划。工作环境温度为-40℃~85℃,满足工业及泛工业场景应用。 了解详情
    OKMX8MQ-C开发板
  • FETMX8MQ-C核心板

    基于 NXP/Freescale iMX8、 iMX8X、i.MX 8MQ处理器的ARM核心板。 四核ARM Cortex-A53 ,主频最高1.3GHz,板载2GB RAM,8GB ROM;工作环境温度为-40℃~85℃,满足工业及泛工业场景应用。i.MX8M处理器具有音频、语音和视频处理功能,提供高水平的音频保真度,适用于无风扇运行,散热系统成本低、电池寿命长。具有高速接口可提供灵活连接等优势,并且提供10~15年产品长期供货计划。
    了解详情
    FETMX8MQ-C核心板

推荐阅读 换一批 换一批