- 博客(6)
- 资源 (44)
- 收藏
- 关注
转载 浅析linux内核内存管理之bootmem allocator
在系统初始化的时候需要执行一些内存管理,内存分配的任务,这个时候buddy system,slab等并没有被初始化好,此时就引入了一种内存管理器bootmem allocator在系统初始化的时候进行内存管理与分配,当buddy system等初始化好后,在mem_init()中对bootmem allocator进行释放,内存管理与分配由buddy system,slab等进行接管。bootme
2014-04-24 21:30:58 975
原创 linux总线、设备和驱动程序
linux的驱动程序,模型一般在总线、设备、驱动3个模块 1、总线 struct bus_type{ char *name; struct subsystem subsys; struct kset drivers }; 2、设备 struct device { struct device *parent; struct
2014-04-24 21:30:45 894
翻译 MIPI协议介绍
MIPI(Mobile Industry Processor Interface) MIPI联盟是手机工业领导者的集合,成员有Intel,Motorola,Nokia,NXP,Samsung,ST,TI 目的是提供给手机应用处理器提供一个统一的接口 MIPI联盟用于显示的规格: DCS(Display Command Set):DCS是用于命令模式和显示模式的命令设置 DBI
2014-04-24 21:30:28 3015
转载 struct class
在前面我们已经介绍了两种方法来实现在编写设备驱动程序时由系统自动给我们创建设备文件的方法。现在我们接着讲解第三种方法. 一.前言 内核中定义了struct class结构体,一个struct class 结构体类型变量对应一个类,内核同时提供了class_create()函数,可以用它来创建一个类,这个类存放于sysfs下面,一旦创建了这个类,再调用device_create()函数在/d
2014-04-24 21:29:56 870
转载 vmalloc
当buddy系统还有大量的连续物理内存时,我们可以通过__pages_alloc成功分配很大的一块连续物理内存空间,随着系统运行时间加长,buddy系统内很难中找到一块大的连续物理内存空间,因此__pages_alloc可能会失败,即便通过kswapd进行页面的回收和交换,buddy仍然不可避免的碎片化 首先我们要明确的是,连续物理内存的分配并不是必要的。对于大部分DMA操作,我们的确需
2014-04-23 16:46:29 2304
转载 Git使用基础篇
Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理,第二篇重点介绍 Git的使用技巧,最后会在Git Hub上创建一个开源项目开启你的Git实战之旅 1、Git是什么
2014-04-11 17:31:43 668
嵌入式系统开发之道笔记
2015-05-17
alsa-utils-1.0.25_alsa-lib-1.0.25
2015-05-11
pthread API的一些用法
2015-02-15
MJPEG压缩与解压缩
2013-12-13
MassStorageClass协议文档
2013-09-28
QT连续显示多幅图片看起来像动画
2012-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人