打印
[i.MX]

imx6dl/imx6q多核启用

[复制链接]
4440|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Hi,@FSL_TICS_Rita
我根据imx6 sabresd移植的imx6dl imx6q,android4.2.2系统都能跑起来,但是我觉得这好像是单核的。

imx6dl 的cat信息如下。imx6q的//proc/cpu目录下有个cpu0目录,imx6dl目录下没有cpu0目录。
是哪里需要启用多核?不然以单核运行?
谢谢大神指教!
root@android:/ # cat /proc/cpuinfo                                             
Processor       : ARMv7 Processor rev 10 (v7l)
BogoMIPS        : 790.52
Features        : swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x2
CPU part        : 0xc09
CPU revision    : 10

Hardware        : Freescale i.MX 6Quad/DualLite/Solo QSEVEN Board
Revision        : 61012
Serial          : 140ea1d4df646307

相关帖子

沙发
xishanggongzi|  楼主 | 2015-3-20 11:09 | 只看该作者
是因为内核中没有启用smp,现已启用。
Kernel Features-->
    Symmetric Multi-Processing

使用特权

评论回复
板凳
xishanggongzi|  楼主 | 2015-3-20 11:29 | 只看该作者
虽然启用了多核。但是我在贵司i.MX_6Dual6Quad_SABRE-AI_Linux_Release_Notes.pdf
第七页Kernel Boot Parameters中看到:
To force i.MX 6Q SABRE-AI board to run at CPU 800MHz and disable smp to remove overhead, add boot parameters
"nosmp arm_freq=800" by default. Disabling CONFIG_SMP configuration can remove further overhead for single core.
这段话强制cpu 在800MHz运行时要禁用smp?为什么?启用smp,cpu运行速度会很低?
谢谢!

使用特权

评论回复
地板
xishanggongzi|  楼主 | 2015-3-20 12:21 | 只看该作者
还有个问题,
内核启用smp后,uboot参数中设置nosmp,系统可以正常启动,此时应该只启用了1个cpu
但是uboot去掉nosmp,Dual Lite会启用2个cpu,但内核启动会挂掉。
附件是log。

log.rar

8.66 KB

使用特权

评论回复
5
xishanggongzi|  楼主 | 2015-3-20 13:19 | 只看该作者
以下错误:从log看是smp的问题
DVFS driver module loaded
rtc-s35390a 0-0030: setting system clock to 2015-03-20 05:17:43 UTC (1426828663)
Freeing init memory: 236K
init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP
Modules linked in:
CPU: 0    Not tainted  (3.0.35 #6)
PC is at 0xc0922480
LR is at twd_set_mode+0x74/0x88
pc : [<c0922480>]    lr : [<c005040c>]    psr: 60000093
sp : c0893ee0  ip : 00000000  fp : 00000000
r10: 00000005  r9 : 412fc09a  r8 : c08baf20
r7 : 20000093  r6 : c283a040  r5 : 00000001  r4 : c00b45ec
r3 : c283a040  r2 : 00000002  r1 : c283a040  r0 : 00000000
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c53c7d  Table: 202ac04a  DAC: 00000015

使用特权

评论回复
6
xishanggongzi|  楼主 | 2015-3-20 15:16 | 只看该作者
xishanggongzi 发表于 2015-3-20 13:19
以下错误:从log看是smp的问题
DVFS driver module loaded
rtc-s35390a 0-0030: setting system clock to 2 ...

关于启用SMP后,出现的内核错误。
imx6DL、imx6Q都有该问题,且每次的log中pc指针指向的出错的地方都不同。
后来确认只要把内核配置选项Use local timer interrupts关掉就不会有任何问题。
不能使用Use local timer interrupts?求解!
看到一篇你们https://community.freescale.com/thread/315428
虽然问题不一样但也涉及到 local timer interrupts。不会是bug吧?

Kernel Features-->
    Symmetric Multi-Processing
    Use local timer interrupts

使用特权

评论回复
7
xishanggongzi|  楼主 | 2015-3-20 17:45 | 只看该作者
关于以上启用SMP后使用Use local timer interrupts,内核错误。
只要选上Support for hot-pluggable CPUs (EXPERIMENTAL) 就不会报错了。

QQ截图20150320174451.jpg (513.35 KB )

QQ截图20150320174451.jpg

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

123

帖子

4

粉丝