随笔分类 -  Linux / Base基础

摘要:Linux很多地方会使用 local_irq_disable/local_irq_save函数,那么不同CPU架构,有不同的实现方式,arm64又是怎么实现的呢? 下面是spin_lock_irqsave的代码调用层次关系: -> spin_lock_irqsave /* include/linux 阅读全文
posted @ 2024-03-05 19:12 zephyr~ 阅读(228) 评论(0) 推荐(0)
摘要:# 内存类型和属性 | ARM Memory types and attributes ```mermaid flowchart LR 1(Arm Memory Type) --> 2(Normal Memory) 1 --> 3(Device Memory) 2 --> 4(Shareable) 阅读全文
posted @ 2023-07-01 16:04 zephyr~ 阅读(3670) 评论(0) 推荐(1)
摘要:# module_platform_drivers使用方式 module_platform_driver 是一个宏,用于简化在 Linux 内核模块编程中注册平台设备驱动的过程。 具体使用方法如下: 1. 包含相关头文件: 在代码文件的顶部,包含所需的头文件,如: ``` #include #inc 阅读全文
posted @ 2023-06-01 21:27 zephyr~ 阅读(1939) 评论(0) 推荐(0)
摘要:前置知识 临界区:通常指某个代码片段,在该代码片段会访问共享资源,比如共享数据、共享硬件资源(打印机、IO)。串行使用共享资源,才能保证正确的输出结果,因此一个进程要等待另一个进程使用完后才能使用。 进程上下文和中断上下文:进程上下文包括:CPU所有寄存器中的值、进程的状态以及堆栈上的内容,当内核需 阅读全文
posted @ 2020-09-01 20:24 zephyr~ 阅读(1454) 评论(0) 推荐(0)