EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在飞凌嵌入式OKMX8MQ-C开发板上有两个PCIe接口,对应着两个PCIe差分时钟,两路PCIe分别用作了M.2接口卡槽KEYE(P37)和KEYM(P34)。
- } u: ]# }, I; C1 t3 Y
很多使用FETMX8MQ-C核心板的用户在自制底板时会不做PCIe部分,故而不会焊PCIe的差分时钟,等到使用出厂镜像验证底板时发现会出现无法正常启动的问题。 + n M" F$ d6 I2 k5 ^3 T! {
今天,小编将总结常见的2种自制底板无PCIe导致的问题及其对应解决办法以供大家参考。
4 H' C5 Y2 J0 k C: r' l
3 D: \* v/ o) ]0 _1.“使用出厂镜像启动时发现无法正常启动”
% ?# S1 g6 D# X3 G, X& ^' a* R l
. D3 Y0 y7 g8 a0 I% d6 v7 [9 t问题描述—— 客户自制底板去掉PCIe烧录出厂镜像,启动时出现的卡死信息: 0 r2 L' R5 P; s3 }) J
* N$ V# k4 o; n! ^
产生原因—— PCIe影响了启动,需要在设备树里把跟PCIe有关的功能关闭。 ( b, ^8 k% n+ O0 n
解决办法—— 修改内核设备树: viOK8MQ-linux-kernel/arch/ARM64/boot/dts/freescale/ok8mq-evk.dts , z; m" P6 Y% z5 Z# ?+ m" D2 Y
: o% R @% o% B3 Z& A将设备树中的PCIe全部从“okay”改为“disabled”,重新编译。编译后会在 d7 b& a6 j9 p
/OK8MQ-linux-sdk/images/boot下生成ok8mq-evk.dtb。
% O" o6 K7 q/ |8 }1 m7 z1 S6 }# p
完成上述修改后重新编译并用新的镜像进行烧写。正常启动后打印信息如下(红框中是在上述卡住位置向后继续启动的打印信息): ![]()
- e. }, O5 F [1 p" [- Y: H2 w; G1 {& h! P2 L
1 z' l4 }8 r* G R9 Q {
注意:飞凌目前提供的最小系统方案也是没有设计PCIe的,故用户如果使用了飞凌的最小系统方案,也需要按照上述方法进行修改。
8 E, l1 S% f3 y, \; n7 j / ~7 G* x' L" y! I# B1 z0 P
2.“使用TF卡进行烧写时发现烧写一半卡住”. @) ^% z6 K$ ^4 I, L6 q" l
问题描述—— 客户自制底板去掉PCIe,使用TF卡烧写时看到命令行打印信息在下述位置卡住: 1 P% g- ]* m1 ^$ t j1 N* W( \
+ k7 d1 n( J/ Y; [1 o
注意:并不一定就卡在上述位置,但一定在上述打印信息附近,不会太远。 产生原因—— 烧写引导镜像中的PCIe的启动影响了烧写,需要替换烧写工具中的内核阶段引导镜像。
7 Y6 G3 V( B0 q8 x: n
解决办法—— 首先按照问题中的方法修改内核设备树并编译。进入“
8 ~ Y3 H% [6 b3 q8 e- lOK8MQ-linux-sdk/tools/update”路径,可看到该路径下有很多dtb文件: ![]()
0 A; R* V a# o7 Y: v6 g# c" K: p' h! E
用编译生成的“images/boot”路径下的ok8mq-evk.dtb替换掉当前路径下的ok8mq-evk.dtb。 执行编译命令,生成新的烧写工具: 6 p" V9 E3 S* q7 A* J( r
$ Y4 M' u$ `: L9 Z+ r. W
! M9 b; G' \6 b, c5 t7 x
使用新生成的update.itb替换掉完成制卡后TF卡中的update.itb,正常进行TF卡烧写。
/ \9 q- v6 ~- c, @( D( \
进入OK8MQ-linux-sdk/tools/sdfuse路径,可看到新生成的烧写工具update.itb。 注意: - (1)我们的烧写工具部分源码是不开源的,若您确实需要做相应更改请联系您的对接销售,由我们帮您修改。
- (2)OTG烧写不会因没有PCIe而受到影响。
5 c8 _ U2 {% F; Z0 J% T3 S
4 T1 H5 J5 S: o: H) ^/ A5 u上述的两个问题就是用户在自制底板去掉PCIe时可能会遇到的两种问题。当然,只设计了一路PCIe的情况也需要注意: 如果自制底板只做了一路PCIe,只焊了一个时钟芯片,也是会影响启动的。那么也需要修改设备树,关闭未做出的那一路PCIe; 如果自制底板只做了一路PCIe,而差分时钟焊的不是与接口对应的,那在命令行用lspci命令查询就会找不到设备。 & \6 z7 `- f6 p: u# T* G! u
以上就是OKMX8MQ-C平台目前针对底板去掉PCIe存在的问题提出的解决办法,可供大家在设计i.MX8MQ的底板时参考。
! T5 g% F0 B: X+ e E8 ^ |