- 博客(15)
- 资源 (19)
- 收藏
- 关注
转载 mini2440 LCD驱动
mini2440集成了lcd控制器的接口,板子上接的lcd硬件是统宝240*320,TFT型lcd。lcd驱动对应的文件为s3c2410fb.c。要读懂这个驱动必须了解linux platform子系统的知识。因为这个驱动是以platform驱动的形式注册到内核。而且还需要frambuffer驱动的知识,因为这个驱动还是frambuffer接口的。lcd驱动在模块初始化的时候,调用platform
2012-12-29 13:45:11 900
转载 Linux输入子系统(Input Subsystem)
Linux 的输入子系统不仅支持鼠标、键盘等常规输入设备,而且还支持蜂鸣器、触摸屏等设备。本章将对 Linux 输入子系统进行详细的分析。一 前言 输入子系统又叫 input 子系统。其构建非常灵活,只需要调用一些简单的函数,就可以将一个输入设备的功能呈现给应用程序。
2012-12-23 00:29:08 2454
转载 Linux 原子操作
一、原子操作(atomic) 所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。 原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,它们都使用汇编语言实现,因为C语言
2012-12-22 23:56:41 599
转载 信号量/互斥的理解
信号量实现的机制信号量是一种睡眠锁。它是实现同步操作,防止竟态的方式之一。任何进程在对共享数据进行读写操作之前必须获得用来保护共享数据的信号量,否则不能供访问权限,信号量会把这个访问进程放进一个等待队列中(这个等待队列是在信号量初始化过程中被初始化的),然后让其进入睡眠状态。这是处理器重新调度,去执行其他进程的操作。保护共享数据的信号量被释放,被这个信号量放进等待队列的进程会被激活,获得该
2012-12-22 23:31:01 943
转载 .config 和 kconfig以及 makefile的关系
当我们编写完一个驱动后,我们要把它以模块形式编译或者直接编译进内核时,需要修改相关文件,其中最重要的便是kconfig ,makefile。主要是分析一下三者之间的关系,然后就其语法简要的谈一下。 当我们在内核源码目录下执行make (或者make menuconfig等命令)命令时,实际上是根据makefile 来进行编译的。我在mini2440开
2012-12-21 13:34:21 3113
原创 mini2440 led驱动代码(原创)基于iomap<测试初始化没有问题,其它功能待开发>
#include#include#include#include#include#include#include#define DEVICE_NAME "LED"static void __iomem *led_base_addr;#define GPBCON (*(volatile unsigned long*)(led_base_addr+0x00)
2012-12-21 13:01:56 1042
转载 linux驱动头文件位置的说明
驱动程序: #include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include 是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件。#include 在linux-2.
2012-12-21 10:29:18 1098
转载 TFT LCD液晶显示器的驱动原理
前两次跟大家介绍有关液晶显示器操作的基本原理,那是针对液晶本身的特性,与TFTLCD本身结构上的操作原理来做介绍.这次我们针对TFTLCD的整体系统面来做介绍,也就是对其驱动原理来做介绍,而其驱动原理仍然因为一些架构上差异的关系,而有所不同.首先我们来介绍由于Cs(storagecapacitor)储存电容架构不同,所形成不同驱动系统架构的原理. Cs(storagecapacitor)储
2012-12-20 23:18:32 13283
转载 clk_get函数实现,Linux内核时钟框架
(1) 对应外设时钟的开启struct clk=clk_get(NULL,"adc");clk.enable();之后adc对应的时钟位就能时能。struct clk *clk_get(struct device *dev, const char *id){ .......... list_for_each_entry(p, &cloc
2012-12-20 23:14:13 2153
转载 mini2440驱动分析之adc
1 . ADC_DEV 结构typedef struct { wait_queue_head_t wait; int channel; int prescale; }ADC_DEV; wait 等待队列,进程读取设备,如果没有转换数据,就会睡眠在此队列上channel 转换通道,s3c2440有八通道的ad,但是只有四个通道
2012-12-19 23:04:05 587
转载 mini2440触摸屏驱动详解
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* For ts.dev.id.version */#d
2012-12-19 23:03:27 546
转载 非常详细的讲解mini2440驱动
/*mini2440_buttons_my.c*//*后面加了_my*//*按键驱动程序*//*mini2440所用到的按键资源*//**************************************************//* 按键 对应的IO寄存器 对应的中断引脚*//* K1 GPG0
2012-12-18 14:46:46 486
原创 Android控件开发之GridView
类概述一个在平面上可显示多个条目的可滚动的视图组件,该组件中的条目通过一个ListAdapter和该组件进行关联。GridView是一项显示二维的viewgroup,可滚动的网格。一般用来显示多张图片。以下模拟九宫图的实现,当鼠标点击图片时会进行相应的跳转链接。 效果图 [html] view plaincopy
2012-12-12 22:17:05 486
转载 VMware 宿主机没插网线无法与虚拟机通讯如何解决?
方法 、当主机无网卡或有网卡没联网(没插网线)的情况下,可以这样设置:1、将虚拟机的网卡连接方式设置为NAT方式;2、查看主机中 VMNET8 (也在网络连接内)的状态,找到它的 IP 地址,比如 192.168.166.1 ;3、将虚拟机中的 IP 地址设置为与上面 IP 同一个网段,如 192.168.166.100 ,并且要在网关和DNS 里面填上刚才找到的那个 IP 地址(
2012-12-12 21:49:58 1816
转载 用Android-X86和VirtualBox打造高性能Android开发环境
不知道有多少Android开发着对Android虚拟机的那悲剧的性能有意见,反正我的看法是:那速度实在是太坑爹了!为什么Android虚拟机比iOS和WP7的虚拟机要慢很多呢?原因如下:1. Android 模拟器模拟的是 ARM 的体系结构(arm-eabi),而 iOS 和 WP7 的模拟器的目标体系结构都是 x86 的,另外 iOS 的模拟器中运行的 App 也是编译为 x86 的。
2012-12-01 15:56:35 565
最简bootloader只能加载系统内核
2013-03-28
jlink烧写bootloader工程文件
2012-10-17
学51单片机绝对不能少的40个汇编样列程序
2011-12-08
学51单片机绝对不能少的40个c语言样列程序
2011-12-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人