千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  关于学院  >  技术干货  >  物联网技术干货  >  正文

在驱动调试过程中遇到过oops没?你是怎么处理的?

来源:千锋教育
作者:syq
关键词: 太原 沈阳
2022-09-28
分享

  oops含义: Oops 这个单词含义为“惊讶”,当内核出错时(比如访问非法地址)打印出来的信息被称为 Oops 信息。

在驱动调试过程中遇到过oops

  oops信息包含内容:

  1、出错信息描述,说明发生哪类错误,例如: “Unable to handle kernel NULL pointer dereference at virtual address 00000000”

  2、有可能会有内核中加载的模块信息 Modules linked in

  3、发生错误时 CPU 的各个寄存器值

  4、当前进程的名字及进程 ID,并不说明一定是该进程的问题

  5、 栈信息

  6、栈回溯信息,可以从中看出函数调用关系

  解决oops: 分析 Oops 信息,明确出错原因,根据栈回溯信息找出函数调用关系,根据 pc 寄存器的值确定出错位置

  例如: PC is at s3c2410fb_probe+0x18/0x560 LR is at platform_drv_probe+0x20/0x24 “PC is at s3c2410fb_probe+0x18/0x560”表示出错指令为 s3c2410fb_probe 函数中偏移为 0x18 的指令。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

相关推荐

  • 在驱动调试过程中遇到过oops没?你是怎么处理的? oops含义: Oops 这个单词含义为“惊讶”,当内核出错时(比如访问非法地址)打印出来的信息被称为 Oops 信息。1、出错信息描述,说明发生哪类错误,例如: “Unable to handle kernel NULL pointer dereference at virtual address 00000000”
  • 描述一下你用过的uboot的启动过程 启动流程如下: 启动方式为内部rom启动,然后加载第一阶段启动代码到内部iRAM中执行,第一阶段代码运行后将uboot镜像搬移到内存上执行,uboot的启动过程中大致完成了如下操作:
  • 找以下中断服务程序中的问题 中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字 __interrupt。
  • 说明物联网的层次结构 感知层由各种传感器以及传感器网关构成,包括二氧化碳浓度传感器、温度传感器、湿度传感器、二维码标签、RFID标签和读写器、摄像头、GPS等感知终端。感知层的作用相当于人的眼耳鼻喉和皮肤等神经末梢,它是物联网识别物体、采集信息的来源,其主要功能是识别物体,采集信息。
  • 介绍一下Lua的变量 默认情况下变量都是全局变量,全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil local显式声明为局部变量。
  • 介绍一下你用过的wifi模块 ESP8266EX 由乐鑫公司开发,提供一套高集成度的WiFi SoC解决方案,其低功耗、紧凑设计和高稳定性可以满足用户的需求,内核使用的是Tensilica L106 32bit处理器。