找回密码
 注册
关于网站域名变更的通知
查看: 211|回复: 1
打印 上一主题 下一主题

飞凌技术贴:i.MX8MQ自制底板无PCIe问题详解

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-19 17:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
在飞凌嵌入式OKMX8MQ-C开发板上有两个PCIe接口,对应着两个PCIe差分时钟,两路PCIe分别用作了M.2接口卡槽KEYE(P37)和KEYM(P34)。

# p* w" M% t- O9 u/ e' Q
很多使用FETMX8MQ-C核心板的用户在自制底板时会不做PCIe部分,故而不会焊PCIe的差分时钟,等到使用出厂镜像验证底板时发现会出现无法正常启动的问题。

3 d% g5 P3 S3 {. i
今天,小编将总结常见的2种自制底板无PCIe导致的问题及其对应解决办法以供大家参考。
( X# m) H4 f/ e/ Y; J( [' [
) {; b# R* f$ H: x! D# g
1.“使用出厂镜像启动时发现无法正常启动”
1 \- L5 n6 |7 m, t, q

  E5 ]& [% H% e& V* d0 E
问题描述——
客户自制底板去掉PCIe烧录出厂镜像,启动时出现的卡死信息:
4 R- O, ^; F' i' u; B9 ]# B

4 q$ J) x1 f, e+ ]0 I* Y2 H
产生原因——
PCIe影响了启动,需要在设备树里把跟PCIe有关的功能关闭。
3 C& {: V/ H5 F* o6 [5 r
解决办法——
修改内核设备树:
viOK8MQ-linux-kernel/arch/ARM64/boot/dts/freescale/ok8mq-evk.dts
  f6 |, b* D# m& v5 Q
. d. Y3 A, `, \2 e( D
将设备树中的PCIe全部从“okay”改为“disabled”,重新编译。编译后会在
2 T0 V  u, a7 `% U0 y/OK8MQ-linux-sdk/images/boot下生成ok8mq-evk.dtb。

6 G: |7 d9 w- ^  T8 W
完成上述修改后重新编译并用新的镜像进行烧写。正常启动后打印信息如下(红框中是在上述卡住位置向后继续启动的打印信息):

6 v0 r. c+ g- f+ ~- a, B, o7 O7 R

# e% ^: ~: F6 e" ?6 |2 c" @. X

) s% b& ^& x* P6 G, U2 J
注意:飞凌目前提供的最小系统方案也是没有设计PCIe的,故用户如果使用了飞凌的最小系统方案,也需要按照上述方法进行修改。

, _( b2 a1 O* u0 ]9 _

8 _1 [2 }- H  ^% t& A0 |6 J2.“使用TF卡进行烧写时发现烧写一半卡住”
6 C# G) ]( o# G/ N
问题描述——
客户自制底板去掉PCIe,使用TF卡烧写时看到命令行打印信息在下述位置卡住:
* q' i! }! Y  e
8 @. O3 X! N# t3 _$ v
注意:并不一定就卡在上述位置,但一定在上述打印信息附近,不会太远。
产生原因——
烧写引导镜像中的PCIe的启动影响了烧写,需要替换烧写工具中的内核阶段引导镜像。

' D( `* q- L* f: b9 G3 v5 d; @% |, ?
解决办法——
首先按照问题中的方法修改内核设备树并编译。进入“
# F6 z" j/ X& BOK8MQ-linux-sdk/tools/update”路径,可看到该路径下有很多dtb文件:

6 B; E( t4 Y7 e1 J

" E" L7 p  R8 O& D# q1 B1 c
用编译生成的“images/boot”路径下的ok8mq-evk.dtb替换掉当前路径下的ok8mq-evk.dtb。
执行编译命令,生成新的烧写工具:

9 l9 M& X$ R) ?: z* m5 u* a+ Y

' l+ R) G6 s2 r' {* V

7 U3 S+ C& |' `1 s7 ]; x. s8 m- P
使用新生成的update.itb替换掉完成制卡后TF卡中的update.itb,正常进行TF卡烧写。
% k5 R% Q7 ]: j1 x) v, @+ F  a
进入OK8MQ-linux-sdk/tools/sdfuse路径,可看到新生成的烧写工具update.itb。
注意:
  • (1)我们的烧写工具部分源码是不开源的,若您确实需要做相应更改请联系您的对接销售,由我们帮您修改。
  • (2)OTG烧写不会因没有PCIe而受到影响。9 G/ e7 v( Z3 N3 k4 h' S

9 k$ m2 I: o, t& [
上述的两个问题就是用户在自制底板去掉PCIe时可能会遇到的两种问题。当然,只设计了一路PCIe的情况也需要注意:
如果自制底板只做了一路PCIe,只焊了一个时钟芯片,也是会影响启动的。那么也需要修改设备树,关闭未做出的那一路PCIe;
如果自制底板只做了一路PCIe,而差分时钟焊的不是与接口对应的,那在命令行用lspci命令查询就会找不到设备。
: F( V; a  H+ `1 _
以上就是OKMX8MQ-C平台目前针对底板去掉PCIe存在的问题提出的解决办法,可供大家在设计i.MX8MQ的底板时参考。
  C+ r  J0 L: N" z, e
  • TA的每日心情
    开心
    2022-1-29 15:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2022-8-19 17:24 | 只看该作者
    懂了,启动时要把PCIe有关的功能关闭
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-23 16:32 , Processed in 0.171875 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表