嵌入式Linux中文站

内核与驱动编译方法

阅读(170)

驱动编译有两种方法: 1. 编译到内核中 2. 编译为独立模块 建立方法: 1)在linux源码树的驱动目录增加自己的驱动目录,比如:现在新增一个网络设备驱动 mkdirlinux_tree/drivers/net/poker_driver -p cdlinux_tree/drivers/net/poker_driver 2) 编写驱动源码 vipoker_drv_part1.c vipoker_drv_part2.c vipoker_drv_part3.c 3) 编写源码目录Kconfig vi Kco

linux驱动之入口

阅读(188)

以module_init(Demo_init);为例 定义文件: include\linux\init.h #define module_init(x) __initcall(x); #define __initcall(fn) device_initcall(fn) #define device_initcall(fn) __define_initcall(6,fn,6) #define __define_initcall(level,fn,id) \ static initcall_t __initc

linux之可安装模块机制

阅读(132)

一、背景: 1.系统可见设备、应用可访问设备,需要具备设备文件节点,设备驱动 2.所有设备驱动程序静态链接到内核会导致内核过大, 不易运行 二、特点: 1.可安装模块(module)是编译不链接 2.运行后,动态加载到内核中 3.加载操作由内核或者特权用户使用sbin执行 4.机制支持选择CONFIG_MODULES 二、源码分析: init/main.c asmlinkage void __init start_kernel (void) { ... rest_init (); ... } static

linux驱动之中断处理过程C程序部分

阅读(190)

当发生中断之后,linux系统在汇编阶段经过一系列跳转,最终跳转到asm_do_IRQ()函数,开始C程序阶段的处理。在汇编阶段,程序已经计算出发生中断的中断号irq,这个关键参数最终传递给asm_do_IRQ()。linux驱动中断处理C程序部分,主要涉及linux中断系统数据结构的初始化和C程序的具体执行跳转。 一、中断处理数据结构 linux内核将所有的中断统一编号,使用一个irq_desc[NR_IRQS]的结构体数组来描述这些中断:每个数组项对应着一个中断源(可能是一个中断,也可能是一组中断),

嵌入式Linux下Camera编程--V4L2

阅读(113)

USB video class (又称为USB video device class or UVC)就是USB device class视频产品在不需要安装任何的驱动程序下即插即用,包括摄像头、数字摄影机、模拟视频转换器、电视卡及静态视频相机。最新的UVC版本为UVC 1.5 ,由USB-IF(USB Implementers Forum)定义包括基本协议及负载格式 [ 1 ] [ 2 ].这个链接是Linux中对UVC支持的相关描述。http: // www.ideasonboard.org/uvc/

Linux 设备文件的创建和mdev

阅读(142)

一、设备类相关知识 设备类是虚拟的,并没有直接相应的物理实物。仅仅是为了更好地管理同一类设备导出到用户空间而产生的文件夹和文件。整个过程涉及到 sysfs 文件系统,该文件系统是为了展示 linux 设备驱动模型而构建的文件系统,是基于 ramfs , linux 根文件夹中的 /sysfs 即挂载了 sysfs 文件系统。 Struct kobject 数据结构是 sysfs 的基

Linux SD/MMC/SDIO驱动分析

阅读(191)

一、SD/MMC/SDIO概念区分 SD(SecureDigital)与MMC(MultimediaCard) SD是一种flash memory card的标准,也就是一般常见的SD记忆卡,而MMC则是较早的一种记忆卡标准,目前已经被SD标准所取代。在维基百科上有相当详细的SD/MMC规格说明:[http://zh.wikipedia.org/wiki

Linux usb子系统(一):子系统架构

阅读(208)

一、 USB协议基础知识 前序:USB概念概述 USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB) USB2.0版本速度480Mbps(高速USB)。 USB 分为主从两大体系,一般而言, PC 中的 USB 系统就是作主,而一般的 USB 鼠标, U 盘则是典型的 USB 从系统。 USB主控制器这一块,我们至少要开发出 USB 的主控制器与从控制器,鼠标是低速设备,所需的是最简单的一类从控制器。主控制器则复杂得多,因为太过于复杂了,所以就形成了一些标准。在