
linux-dead-lock-detect-lockdep
一、死锁概念 死锁是指多个进程(线程)因为长久等待已被其他进程占有的的资源而陷入阻塞的一种状态。当等待的资源一直得不到释放,死锁会一直持续下去。死锁一旦发生,程序本身是解决不了的,只能依靠外部力量使得程序恢复运行,例如重启,开门狗复位等。 Linux 提供了检测死锁的机制,主要分为 D 状态死锁和

MTK平台模块加载顺序控制
一、文件位置 在讲述模块加载顺序控制前,我们需要了解一些基础知识点,也就是模块位置。 启动模式 存储 显示 拨号键盘 电池 PMIC 触摸屏 NFC/WLAN/蓝牙 传感器 相机 恢复 Y Y Y Y Y N N N N 充电 Y Y Y Y Y N N N N</

【深入内核】Linux 内核栈详解:你所需要知道的一切
内核调试经常遇到栈溢出、Oops、watchdog 死锁等问题?内核栈搞不清楚会非常致命。这篇文章将用清晰的结构,带你彻底搞懂 Linux 的 内核栈 —— 什么是内核栈、为什么重要、常见误区、如何避免踩坑。 🧠 一、什么是内核栈? 内核栈(Kernel Stack)是 Linux 为每个线程在

设备树节点是如何转换成platform_device设备的呢?
0. 前言 其实本章想要描述的函数的功能和内存的关系并不大,但是在启动流程中,paging_init后,该函数unflatten_device_tree就会被执行。为了启动流程的完整性,也鉴于此函数也确实有必要花时间去介绍。 作为Linux BSP驱动工程师我们在适配驱动的流程里,可能就是配置DTS
如何下载以及编译ACK?
一、ACK代码下载 mkdir android-kernel && cd android-kernel repo init -u https://android.googlesource.com/kernel/manifest -b BRANCH repo sync 如需查看可与之前的“repo

Linux级联中断控制器注册与中断处理
{% tip success %} 特别提醒:本文章所有涉及的代码均可在{% u linux-5.15 %}处查看源码。 {% endtip %} 一、内核中关于中断控制器的几个概念 在介绍中断控制器的注册前先介绍内核中关于中断控制器几个知识点: 1.1 IRQCHIP_DECLARE 用于实现中断