9 Ela--学海无涯

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 8k+

Linux LCD驅動架構學習(三)

Linux LCD驅動架構學習(三)帧缓冲设备的用户空间访问通过/dev/fbns,应用程序可进行的针对帧缓冲设备的操作主要有如下几种。 1、读/写 dev/fbn:相当于读/写屏幕缓冲区。例如用 cp /dev/fb0 tmp 命令可将当前屏幕的内容复制到一个文件中,而命令 cp tmp > /dev/fb0 则将图形文件tmp 显示在屏幕上。2、映射操作:对于帧缓冲设备,可通过

2013-08-19 20:15:32

Linux LCD驅動架構學習(二)

Linux LCD驅動架構學習(二)Linux 帧缓冲设备驱动结构 下图所示为 Linux 帧缓冲设备驱动的主要结构,帧缓冲设备提供给用户空间的file_operations 结构体由 fbmem.c 中的 file_operations 提供,而特定帧缓冲设备 fb_info结构体的注册、注销以及其中成员的维护,尤其是 fb_ops 中成员函数的实现则由对应的 xxxfb.c 文件实现,

2013-08-19 20:07:10

Linux LCD驅動架構學習(一)

Linux LCD驅動架構學習(一)LCD 硬件原理 利用液晶制成的显示器称为 LCD,依据驱动方式可分为静态驱动、简单矩阵驱动以及主动矩阵驱动 3 种。其中,简单矩阵型又可再细分扭转向列型(TN)和超扭转式向列型(STN)两种,而主动矩阵型则以薄膜式晶体管型(TFT)为主流。表18.1 列出了 TN、STN 和 TFT 显示器的区别。TN 型液晶显示技术是 LCD 中

2013-08-19 19:38:36

Framebuffer驱动程序框架 skeletonfb.c 分析

Framebuffer驱动程序框架 skeletonfb.c 分析最近想好好研究一下lcd驱动开发过程,lcd驱动开发主要就是framebuffer的编写了,这里只要想做framebuffer驱动的开发可能这里是必经之路,因为这里这个skeletnfb.c是framebuffer驱动程序开发的骨架,他没有具体去实现任何功能,没有针对任何设备,但是,他的作用却十分惊人,他就是使用说明文档一样,教

2013-08-10 10:52:32

Linux网络设备驱动架構學習(三)

Linux网络设备驱动架構學習(三)接下來會從以下幾個方面介紹網絡設備驅動的編寫流程:1、網絡設備的註冊與註銷2、網絡設備的初始化3、網絡設備的打開與釋放4、網絡數據發送流程5、網絡數據接收流程6、網絡連接狀態7、網絡參數設置和統計數據瞭解了這幾部份內容,網絡設備驅動的編寫方法也就基本明白了網絡數據發送流程Li

2013-08-09 22:39:28

Linux网络设备驱动架構學習(二)

Linux网络设备驱动架構學習(二)接下來會從以下幾個方面介紹網絡設備驅動的編寫流程:1、網絡設備的註冊與註銷2、網絡設備的初始化3、網絡設備的打開與釋放4、網絡數據發送流程5、網絡數據接收流程6、網絡連接狀態7、網絡參數設置和統計數據瞭解了這幾部份內容,網絡設備驅動的編寫方法也就基本明白了網絡設備的註冊與註銷网络设备驱动的注册与注销使用成对出现的r

2013-08-09 16:04:14

Linux网络设备驱动架構學習(一)

Linux网络设备驱动架構分析()Linux 网络设备驱动的结构 Linux 网络设备驱动程序的体系结构如下图所示,从上到下可以划分为 4 层,依次为网络协议接口层、网络设备接口层、提供实际功能的设备驱动功能层以及网络设备与媒介层,这 4 层的作用如下所示。 1、 网络协议接口层向网络层协议提供统一的数据包收发接口,不论上层协议为ARP 还是 IP,都通过 dev_queue_xmit

2013-08-09 15:29:08

Linux內核中常用的一些延時方法

Linux內核中常用的一些延時方法這些方法在以下路徑下定義:kernel/include/linux/delay.h#ifndef _LINUX_DELAY_H#define _LINUX_DELAY_H/* * Copyright (C) 1993 Linus Torvalds * * Delay routines, using a pre-computed "loops_p

2013-08-09 10:32:16

Mini2440 DM9000 驱动分析(四)

Mini2440 DM9000 驱动分析(四)net_device_ops中方法的相应说明/* * This structure defines the management hooks for network devices. * The following hooks can be defined; unless noted otherwise, they are * opt

2013-08-07 18:28:17

INIT_WORK和INIT_DELAYED_WORK详解

INIT_WORK和INIT_DELAYED_WORK详解朋友,你相信,一只蝴蝶在北京拍拍翅膀,将使得纽约几个月后出现比狂风还厉害的龙卷风吗?看过那部经典的影片蝴蝶效应的朋友们一定会说,这不就是蝴蝶效应吗.没错.蝴蝶效应其实是混沌学理论中的一个概念.它是指对初始条件敏感性的一种依赖现象.蝴蝶效应的原因在于蝴蝶翅膀的运动,导致其身边的空气系统发生变化,并引起微弱气流的产生,而微弱气流的产生又

2013-08-06 20:20:26

Mini2440 DM9000 驱动分析(三)

Mini2440 DM9000 驱动分析(三)现在开始逐步分析dm9000驱动的probe方法具体过程见代码中添加的注释/* * Search DM9000 board, allocate space and register it */static int __devinitdm9000_probe(struct platform_device *pdev){ struc

2013-08-06 20:18:22

Mini2440 DM9000 驱动分析(二)

Mini2440 DM9000 驱动分析(二)在真正的开始分析dm9000 driver的probe之前,首先来看看dm9000 驱动中几个十分重要的结构1、dm9000_driverstatic struct platform_driver dm9000_driver = { .driver = { .name = "dm9000", .owner = THIS_M

2013-08-06 19:07:00

Mini2440 DM9000 驱动分析(一)

Mini2440 DM9000 驱动分析(一)硬件特性Mini2440开发板上DM9000的电气连接和Mach-mini2440.c文件的关系:PW_RST 连接到复位按键,复位按键按下,低电平触发重新初始化,初始化完成后5us后可以使用(The DM9000 is ready after 5us when this pin deasserted )CMD 连接到s3c24

2013-08-03 16:44:00

Linux网卡驱动程序编写

Linux网卡驱动程序编写工作需要写了我们公司一块网卡的Linux驱动程序。经历一个从无到有的过程,深感技术交流的重要。Linux作为挑战微软垄断的强有力武器,日益受到大家的喜爱。真希望她能在中国迅速成长。把程序文档贴出来,希望和大家探讨Linux技术和应用,促进Linux在中国的普及。Linux操作系统网络驱动程序编写 一.Linux系统设备驱动程序概述 1.1 Linu

2013-08-03 14:40:21

mini2440 dm9000 网卡驱动详解 (三)

mini2440 dm9000 网卡驱动详解 (三)*dm9000_get_drvinfo()     该函数去的设备的基本信息(设备名,版本,总线名)传给ethtool_drvinfo结构体变量。代码清单如下:  [cpp] view plaincopystatic void dm9000_get_d

2013-07-31 19:28:00

mini2440 dm9000 网卡驱动详解 (二)

mini2440 dm9000 网卡驱动详解 (二)3. platform_driver的remove, suspend和resume的实现       remove函数的功能是把设备从内核中移除,释放内存区域。该函数在卸载模块时被调用。代码清单如下: [cpp] view plaincopystatic int __

2013-07-31 19:26:42

mini2440 dm9000 网卡驱动详解 (一)

mini2440 dm9000 网卡驱动详解 (一)虽然Linux驱动程序应该是和具体的硬件平台分离的,但是为了更好的理解DM9000的驱动程序,这里还是结合一下Mini2440开发板,这样也可以更好的体会如何实现驱动和平台分离。 本文分成以下几个部分:一、Mini2440开发板上DM9000的电气连接和Mach-mini2440.c文件的关系。

2013-07-31 19:16:19

android binder机制之--(创建binder服务)

android binder机制之--(创建binder服务)Binder机制编程        前面的几篇文章详细介绍了android中binder机制的方方面面,相信你对binder机制已经有了较深刻的理解。俗话说得好“学以致用”,下面我们就通过在android系统中创建一个我们自己的binder服务,来加深对binder机制的理解。(1)添加新建的服务名称      

2013-07-31 15:23:18

android binder机制之——(我是binder实例)

android binder机制之——(我是binder实例)Binder应用实例        前一篇文章我们从进程的C/C++层面讲解了binder机制的服务代理对象BpBinder的获取,和Binder底层处理方法。整个服务代理的获取过程也是binder机制的的核心内容,它涉及到了客户请求,请求的传递和处理,服务代理的生成和转换(封装)过程。当客户端获取到对应服务的代理后,就

2013-07-31 15:22:26

android binder机制之--(我是Server Porxy)

android binder机制之--(我是Server Porxy)服务代理对象        上一篇android binder机制之--(我是Service Manager)我们学习了Service Manager(服务管家)在Android Binder中的作用——服务(Service)注册,服务(Service)查询和获取等功能。        我们知道Service

2013-07-31 15:20:37

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!