logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux 中断 —— GIC (高层中断处理)

目录1. 跳转入口2. 内核空间中断处理3. 高层中断处理3.1 基本中断流程3.2 唤醒中断内核线程3.3 中断上下文在前面,系统初始化阶段 GIC (对应的表达为 irq_domain) 初始化完毕,在驱动层,将对应的中断初始化完毕,为每个需要中断的驱动分配好了 irq_desc,以及相关的结构初始化完毕,下面来看看中断处理的流程。中断处理流程,首先需要分析 A...

Linux 内存管理窥探(10):内存初始化(创建页表映射 create_mapping)

在内存的初始化阶段,在初始化页表后,调用相关的函数来创建映射:start_kernel() --> setup_arch() --> paging_init() --> map_lowmem() --> create_mapping()也就是说,在系统初始化的时候呢,已经根据系统的内存情况,建立好了所有低端内存的映射表,后续伙伴系统分配的内存便可以直接使用啦!!...

Linux 中断 —— GIC 初始化

GIC-V2在 Linux 层的初始化分析1、GIC 的 device node和GIC irq chip driver的匹配过程(1)irq chip driver中的声明在drivers\irqchip\irqchip.h文件中定义了 IRQCHIP_DECLARE :#define IRQCHIP_DECLARE(name, compat, fn) OF_DECL...

Linux内核调度 —— 多核系统的负载均衡(转)

转自 https://blog.csdn.net/russell_tao/article/details/7102297 感谢原作者无私的分享。 多核CPU现在很常见,那么问题来了,一个程序在运行时,只在一个CPU核上运行?还是交替在多个CPU核上运行呢?LINUX内核是如何在多核间调度进程的呢?又是内核又是CPU核,两个核有点绕,下面称CPU处理器来代替CPU核。实际上,如果你没有对...

Linux UART 驱动 Part-2 (tty 层流程)

目录1、Operations1.1、file operation1.2、tty operations1.3、tty_ldisc_ops1.4、uart_ops2、Open 流程3、Write 流程3.1、tty_write3.2、n_tty_write3.3、uart_write3.4、start_tx4、Read 流程4.1、tty_read...

Linux 内存管理窥探(4):zone 数据结构

本文来自,https://blog.csdn.net/gatieme/article/details/52384529,感谢作者的无私分享。 前面章节的了解,zone 结构是物理内存管理中 node 管理的物理内存区域,也就是 struct zone 结构体,这里来分析这个结构体:内存节点又被划分为内存管理区域, 一个管理区域通过 struct zone 描述, 用以表示内存的某个范围...

Linux 内核同步(七):RCU机制

简介RCU 的全称是(Read-Copy-Update),意在读写-复制-更新,在 Linux 提供的所有内核互斥的设施当中属于一种免锁机制。在之前讨论过的读写自旋锁(rwlock)、顺序锁(seqlock)一样,RCU 的适用模型也是读写共存的系统。读写自旋锁:读者和写者互斥,读者和读者共存,写者和写者互斥。(偏向读者)顺序锁:写者和写者互斥,写者直接打断读者(偏向写者)上述两种都...

LVGL (3) 盒子模型

LVGL 遵循 CSS 的 border-box 模型。 对象的“盒子”由以下部分构成:边界(bounding):元素的宽度/高度围起来的区域(整个盒子)。边框(border):边框有大小和颜色等属性(相当于盒子的厚度和它的颜色)。填充(padding):对象两侧与其子对象之间的空间(盒子的填充物)。内容(content):如果边界框按边框宽度和填充的大小缩小,则显示其大小的内容区域(盒子实际装东

#css3#css#html5
LVGL (4) 对齐

参考对齐LVGL 可以指定对象的对齐方式,以及参考的对齐,比如:参照父对象对齐;lv_obj_set_align(obj, LV_ALIGN_...);参照父对象对齐后,在设置坐标位置;lv_obj_align(obj, LV_ALIGN_..., x, y);参照另一个对象(无父子关系)对齐后,设置坐标位置;lv_obj_align_to(obj_to_align, obj_referece,

LVGL (11) 更新 Layout 依据

LVGL 是以 obj 为基础衍生出来的一套绘制;每个 obj 都包含了 2 个字段:layout_inv / scr_layout_inv;typedef struct _lv_obj_t {......uint16_t layout_inv : 1;// 改 obj 的 layout 是否需要更新uint16_t scr_layout_inv : 1;// screen 的 layout 是否

#c++#c语言#开发语言
    共 33 条
  • 1
  • 2
  • 3
  • 4
  • 请选择