自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(37)
  • 收藏
  • 关注

原创 linuxMACHINE_START-MACHINE_END

在友善mini2440提供的linux2.6.32.2内核中,有如下定义:MACHINE_START(MINI2440, "FriendlyARM Mini2440 development board").phys_io = S3C2410_PA_UART,.io

2011-10-10 00:09:24 608

原创 linuxBSPmini2440中断管理

2440处理器的中断组织成两层:主中断 和 次中断,一共可以处理60个中断源。主中断 和 次中断 经过中断构架的抽象之后,编写驱动程序时,我们不用考虑这两层中断,直接使用request_irq 注册 60个中断源的某个,就可以直接使用中断了。        e

2011-10-10 00:07:44 1033

原创 linuxBSPmini2440之时钟

内核时钟初始化函数是s3c24xx_init_clocks(12000000)。改函数的从start_kernel-->setup_arch(&command_line)-->paging_init(mdesc)-->devicemaps_init(mdesc)-->if (

2011-10-10 00:06:04 1037

翻译 linuxBSPmini2440之GPIO

linuxGPIO 的模型实现主要一个gpio-chip:(抽象一个GPIO控制器)struct gpio_chip { const char  *label; struct device  *dev; struct module  *owner; int

2011-10-10 00:04:25 930

原创 linux BSPmini2440之DMA

s3c2440中DMA的一般操作步骤分七步:BSPmini2440之DMA" alt="linux BSPmini2440之DMA">s3c2410_dma_client 的定义为:struct s3c2410_dma_client {        char

2011-10-10 00:02:59 875

原创 arm linux启动

mini2440的IO内存映射是在函数mini2440_map_io()函数中的s3c24xx_init_io(mini2440_iodesc, ARRAY_SIZE(mini2440_iodesc));我们发现mini2440_iodesc是一个空的。static struct

2011-10-10 00:01:54 595

原创 Linux下Socket编程

什么是Socket   Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。    Socket接口设计者最先是将接口

2011-10-10 00:00:02 628

原创 嵌入式linux串口编程

串口的设置主要是设置struct termios结构体#includestruct termios{ unsigned short c_iflag;//输入模式标志 unsigned short c_oflag;//输出模式标志 unsigned shor

2011-10-09 23:58:46 862

转载 linux进程间通信

上图是linux进程间通信发展历程UNIX间的进程间通信(IPC)包括管道,FIFO和信号。System V进程间通信(IPC)包括System V消息队列,System V信号量,System V共享内存区。POSIX进程间通信(IPC)包括Posix消息队列,Po

2011-10-09 23:55:33 459

原创 Linux GCC内嵌汇编基础知识

在Linux代码中很多地方都使用了这种形式的汇编语言,嵌入汇编程序的格式如下:  __asm__ __volatile__ (  asm statements  : outputs  : inputs  : registers-modified  );

2011-10-09 23:54:25 532

翻译 内核总结之进程和进程的调度

进程就是资源的集合体,既包括打开的文件,收到的信号,占用的地址空间这些软资源,也包括对cpu,内存的占用这些硬资源。而线程只是代码的一个执行流,与其他线程共享某些资源。  调度算法的设计目标,让cpu上的指令流更有价值,这就需要,  1,调度必须尽可能快的完成,占用尽可能

2011-10-09 23:52:38 469

转载 Linux的页面回收与反向映射机制

操作系统管理内存中的物理页面,同时也担任着内存分配的职责。应用程序可以通过内存分配函数向操作系统申请物理页面;在使用完这些物理页面之后,应用程序可以通过相应的内存释放函数释放这些物理页面。但是,对于内存中的某些物理页面来说,页面的使用者并不会主动释放它们,如果这些物理页面一直被占

2011-10-09 23:51:38 549

原创 MINI2440i2c驱动学习一

int main(int argc, char** argv){ struct eeprom e; fprintf(stderr, "Open /dev/i2c/0 with 8bit mode\n"); die_if(eeprom_open("/dev/i2c/

2011-10-09 23:49:10 861

原创 MINI2440i2c驱动学习二

在测试函数中有个函数eeprom_open("/dev/i2c/0", 0x50, EEPROM_TYPE_8BIT_ADDR, &e);其中里面的调用如下int eeprom_open(char *dev_fqn, int addr, int type, struct ee

2011-10-09 23:47:56 796

原创 1. I2C 协议

r = ioctl(fd, I2C_FUNCS, &funcs)是查看其功能,它最终调用algo通信方式中的functionality()函数r = ioctl(fd, I2C_SLAVE, addr)这个函数设置要通信的从设备地址,如下:case I2C_SLAVE:

2011-10-09 23:46:55 1831

原创 Linux I2C

1. I2C 协议  1.1  I 2C总线工作原理       I2C总线是由数据线SDA和时钟SCL构成的串行总线,各种被控制器件均并联在这条总线上,每个器件都有一个唯一的地址识别,可以作为总线上的一个发送器件或接收器件(具体由器件的功能决定)1.2  I2C

2011-10-09 23:46:11 549

原创 函数分析

static struct i2c_dev *get_free_i2c_dev(struct i2c_adapter *adap)//传入参数是一个适配器指针,返回一个i2c_dev其adap成员指向传入的适配器指针{    struct i2c_dev *i2c_dev

2011-10-09 23:44:05 756

原创 i2总线驱动分析

static int __init i2c_adap_s3c_init(void){ return platform_driver_register(&s3c24xx_i2c_driver);}subsys_initcall(i2c_adap_s3c_init);

2011-10-09 23:42:48 636

原创 linuxi2c-core.c

linuxi2c-core.c 文件实现了I2C核心的功能i2c/bus/接口。这个.c文件函数非常多,其中的函数都是通过EXPORT_SYMBOL()可以让其他文件调用。以后的学习中慢慢积累研究。

2011-10-09 23:41:47 518

原创 linuxDM900网卡设备驱动

#include #include #include #include #include #include #include #include #include #include #include #include #inclu

2011-10-09 23:40:34 836

原创 DM9000网卡介绍

1、总体介绍  DM9000是一款完全集成的和符合成本效益的,单芯片快速以太网MAC控制器。它有一个一般处理接口,一个10/100M自适应的PHY和4K DWORD值的SRAM 。它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容。  DM9000还提供了介质无

2011-10-09 23:39:37 2743

原创 SD卡驱动之中断函数

static irqreturn_t s3cmci_irq(int irq, void *dev_id){ struct s3cmci_host *host = dev_id; struct mmc_command *cmd;//SDI命令状态寄存器,数据状态寄存

2011-10-09 23:38:35 1210

原创 s3cmci_probe

static int __devinit s3cmci_probe(struct platform_device *pdev){ struct s3cmci_host *host; struct mmc_host *mmc; int ret; int is24

2011-10-09 23:37:42 715

原创 关于mini2440GPIO的描述

S3C2410 GPIO Control   ====================Introduction------------  The s3c2410 kernel provides an interface to configure and  ma

2011-10-09 23:36:51 517

原创 USB设备主机侧驱动

从主机侧的观点去看,在linux驱动中,USB驱动处于最底层的是USB主机控制器硬件,在其上运行的是USB主机控制器驱动,主机控制器之上为usb核心层,再上层为usb设备驱动层。因此在主机侧的层次结构中,要实现的usb驱动包括两类:usb主机控制器驱动和usb设备驱动。前者控制插

2011-10-09 23:35:40 765

原创 USB UDC与gadget驱动

这里的USB设备控制器(UDC)驱动指作为其他usb主机控制器外设的usb硬件设备上底层硬件控制器的驱动,该硬件和驱动负责将一个usb设备依附于一个usb主机控制器上。在usb设备控制器于gadget驱动中,我们主要关心几个核心的数据结构。描述一个usb设备控制器的usb_g

2011-10-09 23:34:42 6004

原创 linuxmini2440I2S驱动

要写I2S驱动,对于硬件也要了解。I2S是一种常用的数字音频接口。总线值处理音频数据,像编码和控制这样的其他信号被转移分开。I2S接口传输或者接受声音数据来自于外部立体声音频编码器。用于传输和接受数据,包括两个32x16FIFO数据结构。总线特征:2通道I2S总线用于DM

2011-10-09 23:33:37 1113

原创 linuxUDA134X ASoc板驱动

static int __init s3c24xx_uda134x_init(void){ return platform_driver_register(&s3c24xx_uda134x_driver);}static struct platform_drive

2011-10-09 23:32:30 780

原创 linux framebuffer1

先看看一些比较重要的结构体: struct fb_info {       int node;        int flags;       struct mutex lock;            struct fb_var_screeninfo var

2011-10-09 23:31:15 542

原创 Driver Attributes and Device Attributes

Driver Attributes~~~~~~~~~~~~~~~~~struct driver_attribute {        struct attribute        attr;        ssize_t (*show)(struct devic

2011-10-09 23:28:33 1490

原创 linux usbmon获取的U盘数据

urb标志                                                ep->id时间戳                                                 ep->tstamp事件类型(S-subm

2011-10-09 23:27:43 1081

原创 linux 鼠标usbmon数据

鼠标按键检测:0:8 0表示状态成功。 8表示主机每隔8ms轮询这个端口002:1  002表示该bus总线分配到的设备地址 1表示这个中断端点号c3960100 70017933 C Ii:1:002:1 0:8 4 = 01000000 按下左键c396010

2011-10-09 23:26:01 808

原创 s3c2440 OHCI驱动的一些函数

q_descr, hcd)) != 0) {            dev_err(hcd->self.controller,                    "request interrupt %d failed\n", irqnum);

2011-10-09 23:25:10 666

原创 USB主机控制器的OHCI寄存器

USB主机控制器的OHCI寄存器可以分为4种:1:控制及状态组2:存储器指针组3:帧控制组4:逻辑根集线器(Root Hub)组控制及状态组:包括HcRevision,HcControl,HcCommandStatus,HcInterruptStatus,

2011-10-09 23:23:48 1167

翻译 USB协议基础及S3C2410 USB控制器

在网上看到的一篇文章。总结的不错一、USB1.1 概述USB 是 Universal Serial Bus 的简称。它是一种可以同时处理计算机与具有 USB 接口的多种外设之间通信的电缆总线。这些连接到计算机上的外设共同分享 USB 的带宽。USB 的分时处理

2011-10-09 23:22:07 783

原创 在主机控制器里,介绍几个重要的结构

在主机控制器里,介绍几个重要的结构:一:ED(endpoint descriptor)总共16字节对齐。先看第一字主要描述了硬件配置信息。[6:0]为设备地址(function address)[10:7]是端点地址(endpoint number)[12

2011-10-09 23:17:55 689

原创 seq_file接口

下面是网上的一个测试程序#include #include #include #include #include MODULE_DESCRIPTION("test proc");MODULE_AUTHOR("root ");MODULE_LICEN

2011-10-08 22:47:57 602

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除