arm-linux的板子正常跑了一会儿后突然出现这种错误,请大牛指点是何原因?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arm-linux的板子正常跑了一会儿后突然出现这种错误,请大牛指点是何原因?相关的知识,希望对你有一定的参考价值。

Unable to handle kernel NULL pointer dereference at virtual address 00000230
pgd = c7be8000
[00000230] *pgd=57bec831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT
last sysfs file: /sys/devices/virtual/vc/vcsa3/dev
Modules linked in: mini6410_gpiokey_module mini6410_myremote mini6410_outputio mini6410_ds18b20 mini6410_mykeys mini6410_mygpio fa_cpu_pfn(P)
CPU: 0 Tainted: P (2.6.38-FriendlyARM #55)
PC is at wakeup_preempt_entity+0x8/0x7c
LR is at pick_next_task_fair+0x60/0xd8
pc : [<c01da3f4>] lr : [<c01db6fc>] psr: 20000093
sp : c7beff60 ip : 00000000 fp : c7beff84
r10: c788b114 r9 : 00000000 r8 : 00000000
r7 : c6dd22a0 r6 : 00000420 r5 : c071d608 r4 : c6dd22a0
r3 : c01db69c r2 : c6dd22a0 r1 : c6dd22a0 r0 : 00000200
Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
Control: 00c5387d Table: 57be8008 DAC: 00000015
Process grep (pid: 2813, stack limit = 0xc7bee268)
Stack: (0xc7beff60 to 0xc7bf0000)
ff60: c6dd22a0 c071d608 c7beff84 c01db6fc c04fd720 c071d5c0 c788afa0 c7bee000
ff80: c7beffac c04f9914 400c5f5c 400d1000 400d1940 00000048 00000021 c01ce788
ffa0: c7bee000 00000000 bee47a44 c01ce640 fffffffe 00000004 ffff4f5c 400d0da8
ffc0: 400d1000 400d1940 00000048 00000021 400d192c 00000000 fffffe00 bee47a44
ffe0: 400c5f5c bee47958 400ae900 400c1b9c 60000010 400c5f5c 00000000 00000000
[<c01da3f4>] (wakeup_preempt_entity+0x8/0x7c) from [<c04f9914>] (schedule+0x1cc/0x370)
[<c04f9914>] (schedule+0x1cc/0x370) from [<c01ce640>] (ret_slow_syscall+0x0/0x10)
Code: e3e00102 e8bd8878 e92d4830 e1a02001 (e1c043d0)

参考技术A 原因人家不是告诉你了了 内核不能操作空指针 你的程序中是不是有在使用指针之前没有赋值 使用指针前最好先赋值为NULL 你这个写的是内核驱动程序吧?追问

板子上倒是有自己写的驱动,但是好几块板子,上面程序什么的都一模一样,让他们自己跑,不做操作,结果有的有问题,有的没问题,不知道是为什么

追答

只有当linux跑到这段程序才有问题 linux的内核调度是很复杂的 没有出问题说明linux还没有调度到此任务 或者是给你分配的虚拟地址根本不在操作系统之中 是在操作系统之外的区域就不会出现这个情况了 这里有几个变量pte和ppte的地址都是在0x00000000,这是内核启动中断向量开始的地址 你当然不能访问 看一下自己的驱动代码是不是有操作空指针的地方

追问

好的,谢谢,我检查一下

好的,谢谢,我检查一下

怀孕后头晕眼花正常吗

  由于妊娠使孕妇全身出现不同程度的生理变化,机体如不能适应,就会出现多种多样的症状,头晕眼花就是其中之一。如果发生在早孕期,多无不良后果,可能是由于下列因素造成:

  1.孕妇的植物神经系统失调,调节血管的运动神经不稳定,可在体位突然发生改变时,因一过性脑缺血出现头晕等。

  2.由于妊娠反应引起的进食少,常伴有低血糖,因而容易头晕和眼花。特别是在突然站起、长时间站立、洗澡堂洗澡或在拥挤的人流中更易发生。一旦发生应立即蹲下,或躺下休息一会儿。若经常出现这种现象,就有患贫血、低血压或高血压、营养不良或心脏病的可能性,应及时就医检查。

  妊娠后,为适应胎儿的生长需要,孕妇血容量增加,血液相对就稀释了,形成生理性贫血,此时应定期检查血常规,如贫血严重则需要口服抗贫血药予以纠正。

  头晕眼花发生在妊娠中期多是由于胎盘的动、静脉间形成短路,周围血管扩张阻力下降,使孕妇的舒张压较妊娠前降低,以及孕期整个盆腔范围的血管显著增加,高度扩张,使血液较多地集中在有子宫的下腹部,加上增大的子宫又压迫下腔静脉的回流,使回心血量减少,致使心排出量下降,引起低血压及暂时性脑缺血。

  头晕眼花如果发生在妊娠晚期,特别是伴有水肿、高血压等症时,绝不能等闲视之,它常是某些严重并发症如子痫的先兆,应尽快就诊,否则后果极为严重。在排除上述原因后则需到内科就诊,进行详细体检,明确具体原因以便积极治疗。

成都治疗不孕不育

 

成都治疗不孕不育医院


以上是关于arm-linux的板子正常跑了一会儿后突然出现这种错误,请大牛指点是何原因?的主要内容,如果未能解决你的问题,请参考以下文章

为啥有时网络会突然断开

mysql突然无法启动的问题

DPDK mbuf引用计数出错的分析

Oracle 启动后一会儿就挂掉故障处理—ORA-600 17182----惜分飞

codeblocks突然不能调试了,运行框一闪而过,不能输入,且会卡顿一会。这种情况出现过好多次,

Ping32实现终端运维工作有效进行