前一篇blog linux内核内存分配(一、基本概念)
主要是分析linux内核内存的分配和物理页分配函数接口。但是在实际的操作中,不一定所有内存申请都需要一个物理页,很多只是需要分配几K大小的内存就可以。所以就需要更小的内存分配函数。刚开始看这个有点不懂,不过懂了就很简单了。哈哈。
摘抄《深入linux设备驱动程序内核机制》的一段话:slab分配器的基本思想是,先利用页面分配...
分类:
系统相关 时间:
2015-08-10 22:13:56
阅读次数:
367
迅为4412开发板Linux驱动教程之内核开发基础...
分类:
系统相关 时间:
2015-08-10 16:12:31
阅读次数:
341
简单的Linux 驱动模块编译,加载过程2010-03-14 14:48:24|分类:Driver|标签:|字号大中小订阅本文记录我的第一个Linux设备驱动程序的编译过程。遇到问题的解决方法。环境:2.4.18-14的内核,Linux内核源码:2.4.18。 Linux内核源码路径:/usr/sr...
分类:
系统相关 时间:
2015-08-08 13:30:30
阅读次数:
152
首先大概的可以看出左边的mem_map数组中存放的是page结构体元素,中间的是实际的物理内存,右边的是虚拟的地址范围;
他们之间的关系大概是这样的,mem_map数组中的元素和物理内存页联系,page指针指向中间的物理内存中的某个物理页,这个关系是为了系统方便管理内存;
而物理内存页和右边的虚拟地址范围映射,这个是为了操作物理内存,一般右边的虚拟地址由cpu使用(软件上使用的也是虚拟地址,不过该地址最终还是CPU使用)。CPU和MMU之间使用的都是虚拟地址,出了MMU后...
分类:
系统相关 时间:
2015-08-06 00:41:47
阅读次数:
208
转自:http://blog.chinaunix.net/uid-20937170-id-3033633.html学习了驱动程序的设计,感觉在学习驱动的同时学习linux内核,也是很不错的过程哦,做了几个实验,该做一些总结,只有不停的作总结才能印象深刻。我的平台是虚拟机,fedora14,内核版本为...
分类:
系统相关 时间:
2015-08-05 18:11:53
阅读次数:
267
首先我们要了解这么一个基本概念:地磁传感器必须和重力传感器一起工作,指南针才可以正常工作。
一. 调试要点:
1. 重力传感器的3轴有方向性,地磁传感器的数据输出也有方向性。我们必须根据硬件layout布板传感器的相对LCD视图的位置配置正确的位置,指南针才能指示正确的方向。
2. Mag3110的驱动在linux底层注册时,其实是注册了两种Input设备,一种...
分类:
其他好文 时间:
2015-08-05 10:36:20
阅读次数:
132
前面为了写pwm驱动,仔细研究了下I/O内存和I/O端口设备的区别,以及访问方式。不过,其实也没必要纠结这个了,因为现在绝大部分设备都使用I/O内存映射的。
I/O独立编址和I/O统一编址
首先有两个概念:I/O独立编址和I/O统一编址;记住这两种编址方式都是由CPU架构决定的。
I/O独立编址:应该只有X86处理器才是I/O独立编址,其他的处理器...
分类:
其他好文 时间:
2015-08-04 22:53:31
阅读次数:
177
4.Linux内核模块
4.1 Linux内核模块简介
如果把所有需要的功能都编译到Linux内核。这回导致两个问题,一是生成的内核会很大,二是如果我们要在现有的内核中新增或删除功能,将不得不重新编译内核。
现在我们需要的是一种机制使得编译出的内核本身并不需要包含所有功能,而在这些功能需要被使用的时候,其对应的代...
分类:
系统相关 时间:
2015-08-04 11:11:44
阅读次数:
318
(一). 定义如下:#define __setup(str, fn) __setup_param(str, fn, fn, 0)#define __setup_param(str, unique_id, fn, early) static char __setup_str_##unique_id[] __initdata __aligned(1) = str; static struct...
分类:
系统相关 时间:
2015-07-31 21:55:34
阅读次数:
142
我们之前介绍过简单的read,write操作,那么会有一个问题:当驱动无法立即响应请求该怎么办?比如一个进程调用read读取数据,当没有数据可读时该怎么办,是立即返回还是等到有数据的时候;另一种情况是进程调用write向设备写数据,如果缓冲区满了或者设备正忙的时候怎么办,是立即返回还是继续等待直到设备可写?这种情况下,一般的缺省做法是使进程睡眠直到请求可以满足为止。本篇就介绍遇到这类问题驱动的处理...
分类:
系统相关 时间:
2015-07-31 16:29:55
阅读次数:
189