![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux 驱动开发
文章平均质量分 79
xiao229404041
这个作者很懒,什么都没留下…
展开
-
linux 字符设备驱动 c_dev分析
内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev { struct kobject kobj; // 每个 cdev 都是一个 kobject struct module *owner; // 指向实现驱动的模块 const st原创 2011-11-18 10:31:49 · 1065 阅读 · 0 评论 -
Linux 内核——定时器
计时器是所有操作系统的一个必要组成部分,您将发现多个计时器机制。我们将首先简要介绍一些 Linux 计时器模式,然后深入研究它们的运行方式。(Linux)时间的起源在 Linux 内核中,时间由一个名为 jiffies 的全局变量衡量,该变量标识系统启动以来经过的滴答数。在最低的级别上,计算滴答数的方式取决于正在运行的特定硬件平台;但是,滴答计数通常在一次中断期间仍然继续进行。滴答速率(j转载 2011-11-18 16:29:29 · 1045 阅读 · 0 评论 -
ubuntu 内核的升级与编译
1, 因为我们之后要进行make menuconfig,所以需要在ubuntu中安装一个ncurses,执行命令:sudo apt-get install libncurses*2, 将内核文件放到主目录(/home/yourname)下,其实放在哪儿没关系,只不过习惯放在home目录下,然后解压:sudo tar -jxvf linux-2.6.38.2.tar.bz2(注意也有原创 2011-11-24 15:41:01 · 3395 阅读 · 0 评论 -
Linux设备驱动之semaphore机制
Linux设备驱动之semaphore机制在Linux系统中,信号号是一种重要的加锁机制,特别在互斥型资源中,semaphore更能很好的工作。1: semaphore结构体定义在Linux2.6.35内核中,semaphore的实现机制与以前的版本一点不同,在其中去除了DECLARE_MUTEX_LOCKED这个初始化互斥宏定义,但是,又添加了一个特别重要的函数,down_killa转载 2011-12-01 17:28:02 · 10128 阅读 · 0 评论 -
u-boot 分析
本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:1、u-boot工程的总体结构2、u-boot的流程、主要的数据结构、内存分配。3、u-boot的重要细节,主要分析流程中各函数的功能。4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。 这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下转载 2011-12-06 17:04:16 · 788 阅读 · 0 评论 -
ARM MOV和 LDR指令关系
ARM MOV和 LDR指令关系 ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。比如想把数据从内存中某处读取到寄存器中,只能使用ldr比如:ldr r0, 0x12345678就是把0x12345678这个地址中的值存放到r0中。而mov不能干这个活,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中,转载 2012-01-04 15:03:20 · 818 阅读 · 0 评论