- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 块设备驱动2--sd卡驱动1(linux-3.2.36的sdchi.h分析)
我的经历:看了某些大神的说明,我胆怯地进入了drivers/mmc/host/,看过我之前的文章知道我用的是s3c2440。看驱动时,我首先会找s3c字样,于是我注意到sdhci-s3c.c和s3cmci.c。看了一下Kconfigconfig MMC_S3C tristate "Samsung S3C SD/MMC Card Interface support"
2013-10-31 13:11:46 5098 1
原创 块设备驱动1--自编ramdisk(在linux-3.2.36上的新接口)
这是块设备驱动的第一期,我们就从ldd3的sbull开始吧,但是ldd3用的linux版本太老了,你直接用它的例子在linux-3.2.x上是很麻烦的。我主要做的就是在高版本上的移植。里面有个NOQUEUE宏,可以选择不用一个请求队列 。自己对着ldd3中的讲解看看吧/*********************************** Copyright(C), 2013
2013-10-26 15:00:21 1422
原创 自娱自乐10之Linux DMA使用2(DMA使用实例,用timer作DMA请求源实现流水灯)
我想大家听过流水灯的实现,有很多方法,有一种是用定时器实现的。通常是利用定时器中断,今天我要用timer作为DMA请求源,当timer时间到启动DMA传输,这样把一个一个数送的gpio口。实现流水灯下面是代码,我的流水灯只流一次,平台是s3c2440/*********************************** Copyright(C), 2013 LDP FileN
2013-10-18 12:55:56 3865
原创 自娱自乐9之Linux DMA使用1(三星平台DMA分析)
和以前一样,我不说dma基础知识,你可以看看ldd3这次我说的是三星平台的dma,不是三星的某款芯片的dma使用。这主要得益于三星公司统一了接口。比如我后有的例子是在s3c2440上做的但是我是参考s3c64xx的spi驱动。当然内核还是linux-3.2.36,我们看dma-ops.h/* arch/arm/plat-samsung/include/plat/dma-ops.
2013-10-18 12:44:34 3904
原创 自娱自乐8之Linux UDC驱动4(自编udc驱动,基本功能完成)
直接上代码,可以和我之前写的模板比较比较/*********************************** Copyright(C), 2013 LDP FileName: s3c2440_udc.h Author: wwxxxxll Date: Description: History: Author Date
2013-10-11 16:34:24 2468
原创 linux-3.2.36内核启动4-setup_arch中的内存初始化3(arm平台 bootmem_init源码分析)
void__init bootmem_init(void){ unsigned long min, max_low, max_high; max_low = max_high = 0; find_limits(&min, &max_low,&max_high);static void __init find_limits(u
2013-10-11 15:24:13 2364
原创 linux-3.2.36内核启动3-setup_arch中的内存初始化2(arm平台 分析建立页表)
再介绍pageing_init之前,我们了解几个定义pte_t 页表项pmd_t 页中间目录项pud_t 页上级目录pgd_t 页全局目录项我的arm平台#define PMD_SHIFT 21#define PGDIR_SHIFT 21 下面这个函数paging_init每个平台实现不一样,我的根本就没
2013-10-01 22:08:10 2785
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人