- 博客(7)
- 收藏
- 关注
原创 建立linux内核源码树
系统:Fedora10 源代码版本linux-3.0.1首先要想编译驱动程序必须要编译源代码,这里面有你想要的库文件,而且这个适合的源代码经常不会是你自己装的系统,所以要想编译那么必须在你需要的这个源代码下,但是并不是只有源代码就可以,因为编译模块必须要有一些依赖文件这些文件是编译源代码时产生的,所以要想成功编译驱动模块,你必须首先编译你的源代码。编译步骤:1)make men
2013-09-08 20:56:14 574
原创 阻塞型字符设备,等待队列,信号量
原来一直弄不清楚阻塞,等待队列什么的。1)现在发现原来阻塞是针对设备的读写操作而言的,当要读的时候没有数据资源或写的时候没有空间资源的时候,就把要读的这个进程阻塞了(使其睡眠),当有资源的时候再唤醒它。使用的函数有wait_event(queue,condition),wait_event_interruptible(queue,condition),两者的区别是前者只有在等待的资源有了时用w
2013-09-08 20:32:24 1025
转载 linux共享中断号
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx上一节介绍的内容是,调用接口request_irq(),使中断号与中断处理函数对应。但是,有时候会有这样的情况,如果开发板上按键的中断已经被另外的驱动程序注册中断了,而我现在又想再注册一次这个中断,这就出现了一个中断号不
2013-09-06 11:04:19 1079
转载 U-Boot关键代码分析
U-Boot关键代码理解 1.u-boot程序的入口地址 要理解程序的入口地址,自然想到的是连接文件,首先看连接文件"/board/smdk2410/u-boot.lds" ENTRY(_start)SECTIONS{ . = 0x00000000; . = ALIGN(4);
2013-08-21 12:04:31 678
原创 汇编中标号的使用
其实标号就代表一个地址,在这个地址上存储着数据,可以是指令或是其他的地址。比如说_start:b reset,就是在_start这个地址上存储着b reset这条指令。而这个地址是由编译器指定的。 下面就是涉及到标号的指令的使用了,尤其是跳转指令,看到底是取标号代表的地址,还是所代表地址处存储的指令或数据。 1)b,bl等跳转指令,是跳转到该标号所代表的的地址处
2013-08-21 12:00:06 3244
转载 U-Boot启动过程完全分析
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能Ø 硬件设备初始化Ø 加载U-Boot第二阶段代码到RAM空间Ø 设置好栈Ø 跳转到第二阶段代码入口 (2)第二阶段的功能Ø 初始化本阶段使用的硬件设备Ø 检测系统内存映射Ø 将内核从Fla
2013-08-21 11:49:00 494
转载 U-Boot编译过程完全分析
U-Boot编译过程完全分析 U-Boot编译过程完全分析 U-Boot编译过程完全分析2.1 U-Boot Makefile分析2.1.1 U-Boot编译命令 对于mini2440开发板,编译U-Boot需要执行如下的命令:$ make mini2440_config$ make all
2013-08-21 11:45:40 528
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人