![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux 内核
lcqlw123
这个作者很懒,什么都没留下…
展开
-
linux 内核进程间通信semaphore和mutex
两者最大区别:信号量可以允许多个线程进入临界区,而互斥体只允许一个线程进入临界区。本贴将描述信号量与互斥体之间的细微区别以及在实际的代码设计中如何使用它们。 信号量include/linux/semaphore.h: struct semaphore { spinlock_t lock; unsigned int转载 2016-11-04 15:33:41 · 470 阅读 · 0 评论 -
linux 设备驱动之平台总线
platform总线是一种虚拟的总线,相应的设备则为platform_device,而驱动则为platform_driver。Linux 2.6的设备驱动模型中,把I2C、RTC、LCD等都归纳为platform_device。 总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。 Linux2.6转载 2016-11-04 16:09:07 · 397 阅读 · 0 评论 -
汇编打印寄存器值
有时在调试时,需要讲寄存器值打印出来,但是在汇编中,不能直接调用打印函数。只能利用汇编直接往串口输出。特记录如下: mov r9, r2 ldr r8, =0x02020040 //串口地址 mov r7, #'\n' str r7, [r8] // 0-3 and r9, r9, #15 ...原创 2019-04-17 12:37:29 · 3618 阅读 · 0 评论 -
kernel3.10 内存预留和ioremap分析
3.10内核调试: /sys/kernel/debug/memblock/memory 查看内核分布 /sys/kernel/debug/memblock/reserver 查看内核预留内存o ------------------------------------------------------------ =====>>arch/arm/mm/ioremap.c 在...原创 2019-04-23 17:01:23 · 458 阅读 · 0 评论