- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 linux内核一些问题
中断处理程序会将通用寄存器,sp, lr, pc, pstate保存到内核的栈中union {struct {u64 sp;u64 pc;u64 pstate;以下是 printk 支持的具体日志等级,按照严重性从高到低排列:KERN_EMERG (0) - 紧急:系统不可用。这是最高优先级的消息,通常意味着系统即将崩溃或者已经处于非常严重的状态。KERN_ALERT (1) - 警报:必须立即采取行动。
2024-12-09 15:44:55
642
原创 linux 多核cpu乱序及负载平衡问题
在乱序执行中,内存操作可能以与程序代码不一致的顺序进行。例如,假设有两条指令,一条是将数据写入内存,另一条是读取同一位置的数据。在顺序执行模型中,读取操作总是发生在写入操作之后。然而,在乱序执行中,如果 CPU 认为读取操作不依赖于写入操作的结果,它可能会选择提前执行读取操作。这会导致读取到不正确的数据,从而违反内存一致性。为了保证内存操作的正确性,现代 CPU 引入了一种机制,叫做“内存屏障”或者“内存栅栏”(Memory Barrier)。
2024-12-03 15:46:29
983
原创 linux spi架构
串行外设接口(Serial Peripheral Interface)是一种同步外设接口,用于嵌入式系统中的微控制器和外设之间的通信。SPI的时钟极性和相位的配置通常称为spi模式时钟极性通常写为CKP或CPOL,CKP可以配置为1或0,用于设置时钟的默认状态(IDLE)设置为高或低。CKP = 0:时钟空闲IDLE为低电平 0;CKP = 1:时钟空闲IDLE为高电平1。时钟相位通常写为CKE或CPHA。CKE = 0:在时钟信号SCK的第一个跳变沿采样;
2024-09-10 16:35:39
714
原创 linux i2c架构
i2c控制器通过适配器来描述,即一个i2c控制器对应一个i2c适配器,一个i2c控制器也对应着一条i2c总线。1.分配私有结构体struct rk3x_i2c2.填充struct i2c_adapter,调用i2c_add_adapter注册adpater设备。对于非smbus功能控制器,控制器收发功能通过master_xfer控制。............1.adapter->nr未赋值则分配后注册,若已赋值则按已赋值id进行注册。
2024-08-23 14:59:42
1230
原创 linux v4l2架构
代码结构分解1.buffer管理:media/common/videobuf2/2.v4l2设备管理:media/v4l2-core/
2024-06-13 20:40:27
1473
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人