Linux驱动
xunzhaoxusanduo
这个作者很懒,什么都没留下…
展开
-
syslog系统框架
系统概述syslog系统是linux操作系统的日志收集机制,内核模块和用户进程都可以用syslog机制保存各自的日志信息。syslog系统架构如下:内核模块保存日志信息的过程:内核用printk函数将日志信息保存到_log_buf环形缓冲区中。klogd后台进程通过sys_syslog系统调用从_log_buf环形缓冲区中获取日志信息。k转载 2014-10-22 20:45:10 · 1897 阅读 · 0 评论 -
MACHINE_START
友善mini2440提供的linux2.6.32.2内核中,有如下定义:MACHINE_START(MINI2440, "FriendlyARM Mini2440 development board").phys_io = S3C2410_PA_UART,.io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,.boot_p转载 2014-11-13 16:28:31 · 421 阅读 · 0 评论 -
Linux驱动修炼之道-SPI驱动框架源码分析(上)
SPI驱动架构,以前用过,不过没这个详细,跟各位一起分享:来自:http://blog.csdn.net/woshixingaaa/article/details/6574215SPI协议是一种同步的串行数据连接标准,由摩托罗拉公司命名,可工作于全双工模式。相关通讯设备可工作于m/s模式。主设备发起数据帧,允许多个从设备的存在。每个从设备有独立的片选信号转载 2014-11-13 17:35:33 · 446 阅读 · 0 评论 -
详解Linux2.6内核中基于platform机制的驱动模型
【摘要】本文以Linux 2.6.25 内核为例,分析了基于platform总线的驱动模型。首先介绍了Platform总线的基本概念,接着介绍了platform device和platform driver的定义和加载过程,分析了其与基类device 和driver的派生关系及在此过程中面向对象的设计思想。最后以ARM S3C2440中I2C控制器为例介绍了基于platform总线的驱动开发流程。转载 2014-11-13 17:24:05 · 582 阅读 · 0 评论 -
/sys/class/gpio 文件接口操作IO端口
在嵌入式设备中对GPIO的操作是最基本的操作。一般的做法是写一个单独驱动程序,网上大多数的例子都是这样的。其实linux下面有一个通用的GPIO操作接口,那就是我要介绍的 “/sys/class/gpio” 方式。首先,看看系统中有没有“/sys/class/gpio”这个文件夹。如果没有请在编译内核的时候加入 Device Drivers —> GPIO Support —>转载 2014-11-17 14:53:48 · 614 阅读 · 0 评论 -
Linux 驱动中GPIO接口解析
原文地址:http://blog.chinaunix.net/uid-27717694-id-3701921.html本文提供了一个linux下访问GPIO的约定的概述。这些调用使用gpio_* 命名前缀。没有别的调用会使用这个前缀或是相关的__gpio_*前缀。什么是GPIO?===============GPIO---转载 2014-11-17 14:39:21 · 1545 阅读 · 0 评论 -
Linux SPI框架(上)
Linux的SPI子系统采用主机驱动和外设驱动分离的思想,首先主机SPI控制器是一种平台设备,因此它以platform的方式注册进内核,外设的信息是以boardinfo形式静态定义的,在创建spi_master时,会根据外设的bus_num和主机的bus_num是否相等,来选择是否将该外设挂接在该SPI主控制器下。先看SPI子系统中几个关键的数据结构:struct spi_master用来转载 2014-11-18 11:04:36 · 539 阅读 · 0 评论 -
Linux SPI框架(中)
上节介绍了SPI子系统中的一些重要数据结构和SPI子系统初始化的第一步,也就是注册SPI总线。这节介绍针对于s3c24xx平台的SPI子系统初始化,在看具体的代码之前,先上一张自己画的图,帮助理清初始化的主要步骤 显然,SPI是一种平台特定的资源,所以它是以platform平台设备的方式注册进内核的,因此它的struct platform_device结构是已经静态定义好了转载 2014-11-18 11:11:50 · 488 阅读 · 0 评论