RK3399平台开发系列讲解(内存篇)18.14内存被覆盖导致启动死机问题

Posted 内核笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK3399平台开发系列讲解(内存篇)18.14内存被覆盖导致启动死机问题相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

平台 内核版本 安卓版本
RK3399 Linux4.4 android7.1

一、问题出现

随着应用程序不断增加、应用程序功能不断完善,高概率出现设备在启动过程中死机的情况。查看死机时的串口日志,从日志来看,内存被覆盖。
在这里插入图片描述

二、问题定位

应用发现注释掉使用共享内存的代码,不会出现死机。
发现自己驱动中共享内存是用kmalloc分配的,隐隐感觉到这与死机时的日志存在某种联系。把kmalloc改用__get_free_pages来分配,

以上是关于RK3399平台开发系列讲解(内存篇)18.14内存被覆盖导致启动死机问题的主要内容,如果未能解决你的问题,请参考以下文章

RK3399平台开发系列讲解(内存篇)深刻理解虚拟内存

RK3399平台开发系列讲解(内存篇)常见内存性能问题梳理

RK3399平台开发系列讲解(内存篇)Linux缓存系统

RK3399平台开发系列讲解(内存篇)15.29物理内存管理

RK3399平台开发系列讲解(内存篇)访问虚拟内存的物理内存过程

RK3399平台开发系列讲解(内存篇)访问虚拟内存的物理内存过程