mini2440Linux驱动开发
文章平均质量分 75
ajige
这个作者很懒,什么都没留下…
展开
-
mini2440上dm9000驱动分析(三)
下面在重点分析几个dm9000收发包以及中断函数。/* * Hardware start transmission. * Send a packet to media from the upper layer. */static intdm9000_start_xmit(struct sk_buff *skb, struct net_device *dev){原创 2013-06-04 21:31:22 · 1389 阅读 · 0 评论 -
s3c2440上MMC/SD卡驱动的分析(一)
一、开发环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2二、MMC/SD介绍及SDI主机控制器 首先我们来理清几个概念:MMC:(Multi Media Card)由西门子公司和首推CF的SanDisk于1997年推出的多媒体转载 2013-09-17 19:07:30 · 1543 阅读 · 0 评论 -
S3C2440上LCD驱动(FrameBuffer)开发(二)
文章是转载的,记录一下自己的几个问题:1. 驱动中实现了一个 中断函数,中断是在哪些情况下产生的?2. framebuffer是用DMA方式实现的,DMA的内容 目前依然不理解。本来是想借学习fb,学习一下DMA的。3. LCD palette的作用:因为本来有许多种颜色,比256中要更多。但我们挑选了256中放置在palette中,这样我们的屏幕上显示的就是有限的256中颜色中的一种转载 2013-09-15 10:59:29 · 1737 阅读 · 0 评论 -
ARM9 2410移植之ARM中断原理, 中断嵌套的误区,中断号的怎么来的
几天前一个学生问我ARM中断嵌套的问题,我才发现原在我心中理所当然的事对学生来说理解实属不易。 ARM有七种模式,我们这里只讨论SVC、IRQ和FIQ模式。 我们可以假设ARM核心有两根中断引脚(实际上是看不见的),一根叫 irq pin, 一根叫fiq pin. 在ARM的cpsr中,有一个I位和一个F位,分别用来禁止IRQ和FIQ的。 先不说中断转载 2014-02-09 10:15:11 · 1029 阅读 · 0 评论 -
发一个LCD的测试程序
#include #include #include #include #include #include int main(){ int fp = 0; struct fb_var_screeninfo vinfo; struct fb_fix_screeninfo finfo; int screensize = 0; char *原创 2013-09-16 10:04:37 · 2402 阅读 · 0 评论 -
S3C2440上LCD驱动(FrameBuffer)开发(一)
一、开发环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2二、背景知识1. LCD工作的硬件需求: 要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF转载 2013-09-15 10:44:32 · 1319 阅读 · 0 评论 -
mini2440 ADC 驱动的开发、移植与分析
最近在学习mini2440驱动开发。这是我的第一篇相关博文。以前没有写博客的习惯,但是经常会看别人的博客,就像在最近学习驱动开发的过程中,参考了挺多人的博客。希望写博客,会给我们学技术带来很多帮助吧。 学驱动,我也是从最简单的LED以及BUTTON开始的,自己买了友善之臂2440的板子,开始学习之后,非常后悔驱动的这些东西之前没有早学,要是在学校把这些驱动系统的学一遍就好了。工作之后,可用来原创 2014-02-09 16:59:54 · 1057 阅读 · 0 评论 -
Linux驱动 device 的probe函数是怎么被调用的
今天正好有空,研究了一下platformdevice的probe函数时如何被调用的。我觉得这个过程应该可以推广到一般设备的探测函数的调用。以mini2440中的watchdog为例。首先是驱动部分:static struct platform_driver s3c2410wdt_driver = { .probe = s3c2410wdt_probe, .remove = __原创 2013-09-04 19:30:52 · 8329 阅读 · 0 评论 -
input 子系统的分析与学习(一)
依然不明白struct device 中的parent是什么意思?最近在写一个光感传感器设备的驱动。不知为何上层的接口是通过input设备实现的。其实我们自己也可以讲某一个输入设备 如传感器等写为一个字符设备,但是那样的话,我们需要自己实现open\read\write等方法,需要自己实现阻塞。但是通过实现成一个input设备,我们可以把注意力集中到input设备要汇报的事件上面,其他的工原创 2013-06-22 22:08:17 · 1319 阅读 · 0 评论 -
input 子系统的分析与学习(三)-----input子系统中的结构体
继续写input子系统。在input子系统中,也有client\handle\handler\device等概念。在内核的设计中这种设计有很多。之前在i2c的实现中,就有client\device等概念。有一篇博客写得很好,这里转载一下。http://blog.chinaunix.net/uid-20672257-id-3149668.html 内核的输入子系统是对分散的,多种不同转载 2013-06-23 10:01:39 · 1545 阅读 · 0 评论 -
mini2440 uboot的使用经历
记录一下自己在mini2440上面 使用uboot的曲折的经历。首先是使用了买板子时自带的代码: u-boot-1.1.6。但是编译时,总是提示有错误。也不知道这个版本是不是tekk的那个版本,自己修改了一些地方,但是感觉uboot的编译体系与一般的开源软件不相同,编译时,总是提示 有函数的实现找不到,即undefined reference to _,,,,网上说需要在makefile中添加原创 2013-06-15 23:55:34 · 3161 阅读 · 0 评论 -
mini2440 I2C驱动的分析与学习(三)
最后说一下i2c和smbus的关系。首先在一个链接中详细的介绍了smbus协议。http://www.mjmwired.net/kernel/Documentation/i2c/smbus-protocol。我理解的大意就是,i2c是smbus的一个子集,也就是说凡是支持i2c的设备应该都是支持smbus协议的。在smbus协议中,定义了几种主机与外设交互的方法。支持i2c协议的设备可原创 2013-06-14 14:35:59 · 1329 阅读 · 0 评论 -
mini2440 I2C驱动的分析与学习(一)
花了近一个星期的时间学习I2C的驱动,将心得描述如下。I2C是一个典型的较简单的子系统,比较适合学习,因为I2C协议要比PCI等等简单得多。在mini2440上用I2C连了一块EEPROM的芯片。因此,在mini2440上面说I2C的驱动,主要是说怎么样通过I2C在这块EERPOM上面读写数据。有点像是这个EEPROM的驱动。先分析几个相关的结构体。其实有时觉得C语言就是以结构体为中心的,原创 2013-06-14 14:06:10 · 2329 阅读 · 0 评论 -
mini2440上dm9000驱动分析(二)
二、下面说一下 mini2440_dm9k_resource 中的几个地址是怎么计算得来的。地址的计算在驱动移植中也是一个重要的部分。地址的计算在网上的博客中很少有介绍的,自己看了很久才琢磨明白。DM9000 MINI2440 功能描述SD0 DATA0 数据信号 | |SD15 DATA15 数据信号CMD ADDR2 识别为地址还是数据原创 2013-06-04 20:16:26 · 1449 阅读 · 0 评论 -
mini2440上dm9000驱动分析(一)
先提个问题:看到有的网卡是连在ISA总线或者是PCI总线上的,那在mini2440上dm9000和CPU是直接相连的,这个算是什么总线? 没弄明白这个问题 首先是平台设备的register和unregister. static int __initdm9000_init(void){#if defined(CONFIG_ARCH_S3C2410) unsigned i原创 2013-06-04 19:58:30 · 1301 阅读 · 0 评论 -
S3C2440上MMC/SD卡驱动分析(二)
下面的文章主要是转载的,先记录下自己的经验。MMC/SD驱动有两种模式:FIFO和DMA。在代码中两种方式都予以了实现,在make menuconfig时候,可以选择是使用fifo方式还是DMA方式。其中FIFO方式就是 向FIFO寄存器写入和读取。FIFO模式刚开始不太明白,FIFO就是起到缓存的作用,可以提高响应速度。具体在代码的操作中,写入时就是将要发送的数据用while循环依次写入转载 2013-09-17 19:19:52 · 1551 阅读 · 0 评论