博客
关于我
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_msdelay被正确设置。
    • 如果使用了自定义传感器类型,确认其驱动和服务支持。
  • 驱动更新

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

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

  • 修复驱动或固件

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

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

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

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

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

    你可能感兴趣的文章
    PostgreSQL+PostGIS实现两坐标点之间最短路径查询算法函数(地图工具篇.12)
    查看>>
    Qt开发——简易调色板QPalette
    查看>>
    PostgreSQL-解决连接时遇到的乱码问题
    查看>>
    PostgreSQL15.2最新版本安装_远程连接_Navicat操作_pgAdmin操作_Windows10上安装---PostgreSQL工作笔记001
    查看>>
    PostgreSQL9.1 双机部署配置(主备数据同步)
    查看>>
    Qt开发——简易网络浏览器(一)
    查看>>
    Qt开发——简易成绩登记系统
    查看>>
    Postgresql中PL/pgSQL代码块的语法与使用-声明与赋值、IF语句、CASE语句、循环语句
    查看>>
    Postgresql中PL/pgSQL的游标、自定义函数、存储过程的使用
    查看>>
    Postgresql中的表结构和数据同步/数据传输到Mysql
    查看>>
    Postgresql中自增主键序列的使用以及数据传输时提示:错误:关系“xxx_xx_xx_seq“不存在
    查看>>
    postgreSQL入门命令
    查看>>
    PostgreSQL删除数据库报"ERROR: There is 1 other session using the database."
    查看>>
    Qt开发——爱情公寓人事管理系统
    查看>>
    PostgreSQL和Oracle两种数据库有啥区别?如何选择?
    查看>>
    Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入
    查看>>
    PostgreSQL在何处处理 sql查询之四
    查看>>
    postgresql基本使用
    查看>>
    PostgreSQL学习总结(10)—— PostgreSQL 数据库体系架构
    查看>>
    PostgreSQL学习总结(11)—— PostgreSQL 常用的高可用集群方案
    查看>>