linux
文章平均质量分 85
linux开发总结
南京孙大兴
DapuStor
展开
-
Linux设备树的传递以及kernel中对设备树的解析
1、概述当U-Boot将设备树加载到内存指定位置后,ARM内核的SoC以通用寄存器r2来传递dtb在内存中的地址。kernel获取到该地址后对dtb文件做进一步的处理。2、设备树的传递当使用bootm加载kernel镜像时(bootz是对bootm的一种封装以及功能扩展,实质一样)。U-Boot跳转到kernel的入口函数是boot_jump_linux,这个函数的C文件在arch/arm/lib下,说明设备树的传递的方式是与SoC架构相关的。不同的SoC在bring-up时,这个函数格外重要,这是U转载 2022-01-19 11:21:44 · 1021 阅读 · 0 评论 -
linux内核互斥简介
内核互斥技术,从是否睡眠角度分为两类:一、可能睡眠:1、信号量(读写信号量);2、互斥锁(实时互斥锁);申请这些锁的时候,如果锁被其他进程占有,进程将会睡眠,进程切换代价很高,适合临界区执行时间比较长的情况;二、不会睡眠:1、原子变量;2、自旋锁(读写自旋锁:允许多个读者同时进入临界区、顺序锁:读者不会阻塞写者);申请这些锁的时候,如果锁被其他进程占有,进程自旋(忙)等待;三、其他互斥1、禁止内核抢占,防止被当前处理器上的其他进程抢占;2、禁止软中断,防止被当前处理器上的软中断抢占;原创 2021-12-26 16:17:27 · 676 阅读 · 0 评论