linux 内核模块
文章平均质量分 81
zhoujk0520
这个作者很懒,什么都没留下…
展开
-
linux-2.6内核模块引用计数的实现
一、模块使用计数的背景知识模块是一种可以在内核运行过程中动态加载、卸载的内核功能组件。2.6内核中模块的命名方式为*.ko。模块在被使用时,是不允许被卸载的。编程时需要用“使用计数”来描述模块是否在被使用。二、2.4内核使用计数的实现方法2.4内核中,模块自身通过 M转载 2011-10-02 22:09:30 · 372 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(九)---触摸屏驱动移植
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 20:57:14 · 3063 阅读 · 1 评论 -
Linux-2.6.32.2内核在mini2440上的移植(十三)---移植UDA1341音频驱动
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:02:11 · 813 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(十六)---基于中断的按键驱动移植
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:04:39 · 1741 阅读 · 0 评论 -
.Linux-2.6.32.2内核在mini2440上的移植(十七)---移植PWM控制蜂鸣器驱动
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:05:26 · 1631 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(七)---LCD驱动移植
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:08:11 · 2157 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(六)---添加LCD背光驱动
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:09:36 · 1603 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(1)
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gn?i-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,u-b转载 2011-11-30 21:13:26 · 2141 阅读 · 0 评论 -
怎样写 Linux LCD 驱动程序
怎样写 Linux LCD 驱动程序作者: 刘鹏日期: 2008-12-27本文分析了frame buffer 设备驱动的主要数据结构,在此基础上介绍了LCD驱动程序的开发。基本原理通过 framebuffer ,应用程序用 mmap 把显存映射到应用程序虚拟地址空间,将要显示的数据写入这个内存空间就可以在屏幕上显示出来;驱动程序分配转载 2011-12-31 15:27:29 · 552 阅读 · 0 评论 -
Linux下patch的制作和应用
http://blog.chinaunix.net/u/21948/index.html因为在u-boot移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了。制作补丁可以解决这个问题。学习资料的收集比较简单,方法一类似于这种初级问题网上资料非常丰富,google或者baidu搜索一下,然后选择有价值的资料,方法二是阅读man在线文档。完成收集工作,当然最终要在自己的Linux转载 2011-12-31 15:36:54 · 384 阅读 · 0 评论 -
container_of()宏
在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer to the转载 2012-02-21 18:41:36 · 399 阅读 · 0 评论 -
spinlock与linux内核调度的关系
关于自旋锁用法介绍的文章,已经有很多,但有些细节的地方点的还不够透。我这里就把我个人认为大家容易有疑问的地方拿出来讨论一下。一、自旋锁(spinlock)简介自旋锁在同一时刻只能被最多一个内核任务持有,所以一个时刻只有一个线程允许存在于临界区中。这点可以应用在多处理机器、或运行在单处理器上的抢占式内核中需要的锁定服务。二、信号量简介 这里也介绍下信号量的概念,因为它的用转载 2012-02-21 18:51:14 · 460 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(三)---DM9000网卡驱动移植
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:14:18 · 1567 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(3)
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:11:12 · 1717 阅读 · 0 评论 -
Linux内核调试 - 一般人儿我都不告诉他(一)
悄悄地进入Linux内核调试(一) 本文基址:http://blog.csdn.net/cugxueyu/archive/2007/12/21/1957740.aspx※ 调试工作艰苦,是内核级开发区别于用户级开发的一个显著特点。※ 驾驭内核调试的能力,很大程转载 2011-10-02 22:10:47 · 494 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(十)---配置USB外设
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 20:58:38 · 1143 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(十八)---将UART2更成普通串口驱动
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:06:26 · 1356 阅读 · 0 评论 -
.Linux-2.6.32.2内核在mini2440上的移植(五)---激活RTC驱动
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:10:24 · 501 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(2)
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:12:01 · 2130 阅读 · 0 评论 -
.Linux-2.6.32.2内核在mini2440上的移植(二)---yaffs2文件系统移植
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:15:10 · 875 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(八)---添加ADC驱动
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 20:48:29 · 1630 阅读 · 0 评论 -
.Linux-2.6.32.2内核在mini2440上的移植(十一)---移植SD卡驱动
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 20:59:49 · 1266 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(十二)---移植I2C EEPROM驱动
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:01:11 · 1468 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(十四)---移植看门狗驱动
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:02:57 · 1241 阅读 · 0 评论 -
Linux-2.6.32.2内核在mini2440上的移植(十五)---移植LED驱动
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1,主机环境:VMare下CentOS 5.5 ,1G内存。2,集成开发环境:Elipse IDE3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。4,开发板:mini2440,2M nor flash,128M nand flash。5,转载 2011-11-30 21:03:54 · 881 阅读 · 0 评论 -
信号量与自旋锁 |Linux,信号量,自旋锁,睡眠锁,spinlock,semaphore 【转帖】
为了避免并发,防止竞争。内核提供了一组同步方法来提供对共享数据的保护。 我们的重点不是介绍这些方法的详细用法,而是强调为什么使用这些方法和它们之间的差别。Linux 使用的同步机制可以说从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随 Linux从单处理器到对称多处理器的过度;伴随着从非抢占内核到抢占内核的过度。锁机制越来越有转载 2012-02-21 18:55:15 · 578 阅读 · 0 评论