博客
关于我
21全志r58m平台的framework在使用过程中会莫名的崩溃掉
阅读量:233 次
发布时间:2019-02-28

本文共 1185 字,大约阅读时间需要 3 分钟。

在使用21全志r58m平台的framework时,用户报告了莫名的崩溃问题。通过分析系统日志,发现崩溃发生在Binder_4进程中,信号类型为SIGFPE,代码为-6,且涉及sensors.exdroid.so和libsensorservice.so。这表明问题与传感器配置或驱动有关。

分析过程:

  • 崩溃原因:

    • 崩溃信号为SIGFPE,通常与浮点数运算或除法错误有关。
    • 进程为Binder_4,与系统服务相关,可能是传感器驱动或服务配置问题。
  • 传感器相关:

    • 崩溃路径涉及AccelSensor::setDelay,说明在设置传感器延迟时出现错误。
    • 日志显示传感器初始化失败,如AccelSensor::Delay()无法设置pollrate_ms,提示传感器配置问题。
  • 硬件检查:

    • 检查传感器硬件是否正常,确保传感器能够生成信号。
    • 使用测试工具验证传感器是否能正常工作,例如读取加速度数据。
  • 驱动和固件:

    • 检查传感器驱动和固件是否存在问题,是否有更新或修复的可用版本。
    • 查看HAL层和SensorService的配置,确认传感器参数是否正确设置。
  • BoardConfig.mk:

    • 核查BoardConfig.mk中的传感器配置,确保使用了正确的传感器类型和参数。
    • 检查是否有必要的传感器参数定义,如SW_BOARD_USES_SENSORS_TYPE是否正确配置。
  • 排查步骤:

  • 传感器测试:

    • 使用iostat或类似工具监控传感器的读写状态。
    • 尝试触发崩溃操作,观察传感器是否能正常响应。
  • 日志分析:

    • 查看是否有其他传感器相关的错误日志,确认是否有多个传感器出现问题。
    • 注意setDelay失败的具体原因,如权限问题或超时等。
  • 参数配置:

    • 检查传感器参数配置文件,确保所有必要的参数如pollrate_ms和delay被正确设置。
    • 如果使用了自定义传感器类型,确认其驱动和服务支持。
  • 驱动更新:

    • 查看最新的驱动版本,确认是否有已知的修复。
    • 如果有更新,进行回滚或升级,并观察问题是否解决。
  • 系统状态:

    • 确认系统在崩溃前后是否有异常日志或错误状态。
    • 检查是否有其他进程同时抛出类似错误,确认是否为环境问题。
  • 解决方案:

  • 修复驱动或固件:

    • 如果驱动或固件有更新,及时安装最新版本,确保兼容性和稳定性。
  • 优化传感器配置:

    • 根据文档或社区建议,调整传感器参数,如延迟设置是否过低或过高。
    • 确保所有传感器类型都被正确配置,避免遗漏或配置错误。
  • 检查硬件连接:

    • 确保传感器与主板连接正确,且接口类型(I2C/SPI)无误。
    • 检查电源供应,确保传感器获得稳定的电源。
  • 核对BoardConfig.mk:

    • 确保传感器类型和参数配置正确,尤其是在自定义传感器时。
    • 如果需要,添加额外的传感器参数或调试信息,帮助定位问题。
  • 通过以上步骤,能够系统地排查并解决传感器崩溃问题,确保系统稳定运行。

    转载地址:http://ugdp.baihongyu.com/

    你可能感兴趣的文章
    python3简单使用requests 用户代理,cookie池
    查看>>
    Python3组播通信编程实现教程(发送者+接收者)
    查看>>
    Python3编写网络爬虫10-数据存储方式三-CSV文件存储
    查看>>
    python3读取redis返回数据带有'b'的问题
    查看>>
    Python3连接MySQL
    查看>>
    Python关于isinstance函数的解析 | 附Demo(全)
    查看>>
    Python3:setup.py:完成所有任务的PIP安装(Build_ext+Install)
    查看>>
    python4.0 gil_Python 并发编程系列--1、浅谈GIL历史及对多线程的影响
    查看>>
    python60行绘图程序_天底下最简单的QT画图板,就一个类,60行代码
    查看>>
    Python: AES加密与解密
    查看>>
    Python: Range() 最大尺寸;动态的还是静态的?
    查看>>
    Python: Windows下用 multiprocessing 的深坑
    查看>>
    python:Could not find platform independent libraries <prefix>解决方法
    查看>>
    Python:datetime tzinfo 时区名称文档
    查看>>
    Python:deepcopy(list) vs new_list = old_list[:]
    查看>>
    Python:Google API - 从消息中获取 mimeTypes
    查看>>
    Python:Google API - 从消息中获取 mimeTypes
    查看>>
    Python:subprocess.call,stdout to file,stderr to file,在屏幕上实时显示stderr
    查看>>
    Python:TypeError:无法连接“str“和“int“对象
    查看>>
    Python:XPath 在 ElementTree 中不可用
    查看>>