硬件知识《底层驱动》
文章平均质量分 67
wangpengqi
这个作者很懒,什么都没留下…
展开
-
PCI总线
基于Linux的PCI总线驱动程序开发 PCI总线是一种成熟的计算机标准总线,而Linux操作系统则是一种源代码公开的操作系统。Linux构架完全沿袭了UNIX的系统架构,它不但拥有UNIX的全部功能,而且具有UNIX稳定、可靠、安全的优点,尤其是Linux加入GNU并遵循公共版权许可证(GPL)之后,几乎所有的GNU软件都可以移植到Linux,从而完善和提高了Linux系统的使用性转载 2012-08-19 23:50:36 · 1054 阅读 · 0 评论 -
中断触发流程二
中断触发流程二 2012-07-24 10:16 by 至上, 18 阅读, 0 评论, 收藏, 编辑 主要讲下两个结构体及其关系和在系统中所处的位置: 每一个中断线或者叫中断向量都对应一个desc结构体,系统中所有的desc组成一个结构体数组。 struct irq_desc { unsigned int irq;转载 2012-12-28 09:13:47 · 526 阅读 · 0 评论 -
中断触发流程三(中断控制器)
这一篇主要说说中断控制器,及GPIO中断触发与中断号的识别,为什么GPIO引脚的触发最后调用特定的中断例程,这中间是怎么联系起来的。现在知道的是request_irq只是在特定的中断号 链表中注册了一个中断例程,那这个中断号哪儿来的呢?其次,GPIO引脚的专用功能是特定的,当被触发后,就会通过VIC通知CPU去读取对应的中断号信息,所以要想让GPIO引脚上的触发 让cpu去调用特定的中转载 2012-12-28 09:26:12 · 835 阅读 · 0 评论 -
lcd驱动解析(一)
硬件执行流程1 硬件执行流程2 这两幅图的差别在于mix的位置,mix的功能包括alpha blending,color-key,图层处理等。流程1,这些工作是有软件完成的,流程2是由硬件完成的。 这个网上找个图啊,不过lcd驱动基本都是这样的架构。fbmem.c是已经实现的,×××fb.c是需要我们自己实现的,这关系到具体的lcd屏。 首先,lcd驱动的初转载 2012-12-28 09:48:25 · 1462 阅读 · 0 评论 -
设备驱动概述
1 .对设备驱动通俗的解释:驱动硬件设备行动。设备驱动与底层硬件直接打交道,按照硬件设备的具体工作方式读写设备寄存器,完成设备的轮询,中断处理,DMA通信,进行物理内存向虚拟内存的映射,最终使通信设备能够收发数据,使显示设备能够显示文字和画面,使存储设备能够记录文件和数据。 2.关于有操作系统和没有操作系统的区别: 有时候操作系统是不必的,对于一些功能单一,控制并不复杂的系转载 2012-12-28 09:59:11 · 980 阅读 · 2 评论 -
linux input输入子系统分析《一》:初识input输入子系统
linux input输入子系统分析《一》:初识input输入子系统 主要讲述本人在学习Linux内核input子系统的全部过程,如有分析不当,多谢指正。以下方式均可联系,文章欢迎转载,保留联系信息,以便交流。 邮箱:eabi010@gmail.com 主页:www.ielife.cn(爱嵌论坛——嵌入式技术学习交流) 博客:blog.csdn.net/ielife转载 2013-01-05 22:58:47 · 1219 阅读 · 0 评论 -
linux input输入子系统分析《二》:s3c2440的ADC简单驱动实例分析
主要讲述本人在学习Linux内核input子系统的全部过程,如有分析不当,多谢指正。以下交流方式,文章欢迎转载,保留联系信息,以便交流。 邮箱:eabi010@gmail.com 主页:www.ielife.cn(爱嵌论坛——嵌入式技术学习交流) 博客:blog.csdn.net/ielife 1 mini2440的ADC驱动实例 这节与输入子系统无转载 2013-01-05 23:00:03 · 2073 阅读 · 0 评论 -
linux input输入子系统分析《三》:S3C2440的触摸屏驱动实例
主要讲述本人在学习Linux内核input子系统的全部过程,如有分析不当,多谢指正。以下方式均可联系,文章欢迎转载,保留联系信息,以便交流。 邮箱:eabi010@gmail.com 主页:www.ielife.cn(爱嵌论坛——嵌入式技术学习交流) 博客:blog.csdn.net/ielife 1.1 本节阅读前提 本节的说明建立在前两节的基础之上,需要先阅读如转载 2013-01-05 23:00:57 · 2662 阅读 · 0 评论 -
linux input输入子系统分析《四》:input子系统整体流程全面分析
主要讲述本人在学习Linux内核input子系统的全部过程,如有分析不当,多谢指正。以下方式均可联系,文章欢迎转载,保留联系信息,以便交流。 邮箱:eabi010@gmail.com 主页:www.ielife.cn(爱嵌论坛——嵌入式技术学习交流) 博客:blog.csdn.net/ielife 1 input输入子系统整体流程 本节分析input子系转载 2013-01-05 23:01:49 · 6598 阅读 · 0 评论 -
关于设备号的思考
这是最后的运行流程,用户open设备节点,通过主设备号找到驱动程序,根据次设备号找到对应的设备,使用驱动函数中的read(),write()等函数操作设备。 为了搭建这样的运行时环境,需要做如下工作: 1 驱动程序加载(申请主设备号,在/proc/devices下创建设备) 2 根据具体设备创建设备节点 (查询合适的主设备号和可用的次设备号 在/dev下面创建设备节点) 先转载 2012-12-28 09:41:52 · 537 阅读 · 0 评论 -
中断触发流程
在响应一个特定的中断的时候,内核会执行一个函数,该函数叫做中断处理程序(interrupt handler)或中断服务例程(interrupt service routine ,ISP).产生中断的每个设备都有一个相应的中断处理程序,中断处理程序通常不和特定的设备关联,而是和特定的中断关联的,也就是说,如果一个设备可以 产生多种不同的中断,那么该就可以对应多个中断处理程序,相应的,该设备的驱动程序转载 2012-12-28 09:08:07 · 2805 阅读 · 0 评论 -
CAN 总线嵌入式驱动编程
摘要:介绍了uclinux 操作系统的内核结构以及设备驱动编程的基本原理,并对CAN 总线的嵌入式系统进行了硬件设计及软件驱动编程,提出CAN 总线技术应用于嵌入式系统的一种方案。 1 引言 早期应用于八位单片机软件设计的嵌入式系统主要为前后台系统(或超循环系统),程序大约在几千行以内,由两部分组成,即其应用程序是一个无限的循环,循环中调用函数完成相应的操作,属于后台行为;其中断服务程转载 2012-09-18 11:15:41 · 1365 阅读 · 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驱动器会以转载 2012-10-27 20:27:26 · 701 阅读 · 0 评论 -
深入理解ARM体系架构(S3C6410)---认识S3C6410
芯片架构如图 S3C64xx系列的应用处理器芯片是三星主推的16/32 RISC 微处理器,三星目前推出了S3C6400和S3C6410,都是基于ARM11架构的,而且硬件管脚兼容,应该说大致的功能基本相同,比较明显的区别就是S3C6410带有2D/3D硬件加速。 S3C6410说明文档下载地址:http://download.csdn.net/detai转载 2012-12-28 15:28:52 · 1310 阅读 · 0 评论 -
深入理解ARM体系架构(S3C6410)---PWM实例
S3C6410X中有5个定时器,这些定时器产生内部中断。其中,Timer0和Timer1具有PWM功能,而Timer2,3,4没有此功能。 The S3C6410X RISC microprocessorcomprises of five 32-bit timers. These timers are used to generate internal interruptsto the AR转载 2012-12-28 16:14:00 · 775 阅读 · 0 评论 -
lcd驱动解析(二)
init部分主要完成的任务是:屏的初始化,显示的初始化,最后打开lcd,背光,等待图片数据输入,然后输出。(产生fbinfo结构体给fbmem.c使用) 用户操作的流程包括:ioctl控制图片的显示属性(读取初始化时的配置或者使用bsp操作寄存器改变显示设置)和显示图片的数据源。(概括说就是控制和数据两条线) 这一节主要分析init部分,就是属于***fb.c文件的函数。转载 2012-12-28 09:49:26 · 646 阅读 · 0 评论 -
linux 设备驱动初学(一)
系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口.设备驱动程序为应用程序屏蔽了硬件的细节,这样在 应用程序看来,硬件设备只是一个设备文件, 应用程序可以象操作普通文件一样对硬件设备进行操作.比如read(),就像读文件一样操作设备。设备驱动程序是内核的一部分,它完成以下的功能: 1.对设备初始化和释放. 2.把数据从内核传送到硬件和从硬转载 2012-12-28 10:30:20 · 661 阅读 · 0 评论 -
linux设备驱动初学(二)
#include #include #include #include #include #include #include #include #include #include #include MODULE_LICENSE("Dual BSD/GPL"); unsigned int test_major=0; static char *book_name = "dissect转载 2012-12-28 10:32:07 · 782 阅读 · 0 评论 -
s3c6410存储器映射
1.引导镜像区 0x0000_0000~0x07FF_FFFF 2.内部存储区 (1) 内部ROM 0x0800_0000~0x0BFF_FFFF (2) 内部SRAM 0x0C00_0000~0x0FFF_FFFF 3.静态存储区 0x1000_000转载 2012-12-28 15:54:58 · 685 阅读 · 0 评论 -
__asm__ __volatile__ 嵌入式内嵌汇编语法解构
__asm__ __volatile__ 嵌入式内嵌汇编语法解构 带有C/C++表达式的内联汇编格式为: __asm__ __volatile__("Instruction List" :Output: Input : Clobber/Modify); 其中每项的概念及功能用法描述如下: 1、__asm__ __asm__是GCC 关键字转载 2013-01-05 22:39:46 · 2074 阅读 · 0 评论