驱动
ziyou飞翔
嵌入式linux爱好者+从业者
展开
-
将S3C2416的RS232改为RS485(修改内核驱动)
基本知识:ARM一般会使用电平转换芯片把串口TTL电平转换成相应的232或485电平信号。与232稍有不同的是,一般的485是半双工的,意思就是说同一时刻要么处于接收状态要么处于发送状态。485芯片有许多种,但基本大同小异,一般有2个引脚给用户来控制收发状态。当RE为低电平时,485芯片数据输入有效(低电平接收状态);当DE为高电平时,485芯片数据输出有效(高电平发送状态)。在半原创 2014-08-27 16:31:38 · 2424 阅读 · 1 评论 -
GPIO接口解析
本文提供了一个linux下访问GPIO的约定的概述。这些调用使用gpio_* 命名前缀。没有别的调用会使用这个前缀或是相关的__gpio_*前缀。什么是GPIO?===============GPIO----“通用目的输入/输出端口”----是一个灵活的软件控制的数字信号。许多种类的芯片都会提供,嵌入式linux开发者和硬件定制者会对此比较熟转载 2015-09-02 15:05:39 · 607 阅读 · 0 评论 -
Linux input输入子系统
输入设备(按键、键盘、触摸屏、鼠标)是典型的字符设备,工作机理是底层在按键、触摸等动作发生时产生一个中断(或驱动timer定时查询),然后CPU通过SPI、I2C或外部存储器总线读取键值,坐标等数据。输入核心层提供了底层输入设备驱动程序所需的API,如分配/释放一个输入设备struct input_dev *input_allocate_device(void);void in转载 2015-09-02 13:42:11 · 451 阅读 · 0 评论 -
GPIO及中断API函数
#include // 标准 GPIO_APIint gpio_request(unsigned gpio, const char *label); 获得并占有 GPIO port 的使用权,由参数 gpio 指定具体 port,非空的lables指针有助于诊断。主要是告诉内核这地址被占用了。当其它地方调用同一地址的gpio_request就会报告错误,该地址已被申请。在转载 2015-11-06 11:27:27 · 405 阅读 · 0 评论 -
linux内核接收来自u-boot的自定义参数
需求:公司有多种类型的产品,处理器相同,外围 电路不同(例如AD/DA, PWM,开关量采集,继电器输出等),以前不同的设备单独编译一个内核,一个设备对应一套内核代码,这样极不利于代码纵,现在的方案是想在内核初始化阶段从u-boot命令行中获取一个自定义参数,然后根据这个参数来初始化不同的理件。实现方法:u-boot 命令行参数:bootargs=console=ttyO0,11520原创 2015-10-09 14:51:13 · 1066 阅读 · 0 评论 -
platform_driver_register( )过程追踪
以下代码源于linux3.1.9。platform_driver_register( ) 是内核中非常著名的函数 。platform_driver_register( )负责注册平台驱动程序,如果在内核中找到了使用驱动程序的设备,调用probe( )。刨去参数检查、错误处理,platform_driver_register的主要过程如下:。。。 { 。。。转载 2015-10-13 19:14:02 · 2538 阅读 · 0 评论 -
I2C器件的从设备地址的设置
刚开始接触单片机,很多不懂,今天看到一条语句:#define WriteDeviceAddress 0xa0 //写器件地址#define ReadDviceAddress 0xa1 //读器件地址不明白这个0xa0与0xa1是怎么确定的,然后翻了一些资料以及上网搜索了相关问题。自己总结了关于从器件地址的确定的原理: 举个例子,如芯片转载 2015-12-24 09:02:48 · 5928 阅读 · 0 评论 -
Linux I2C子系统分析之(一) ----- 用GPIO模拟I2C总线
i2c-gpio转载 2016-05-29 11:14:01 · 2981 阅读 · 1 评论 -
linux驱动开发流程
嵌入式Linux驱动开发流程嵌入式系统中,操作系统是通过各种驱动程序来驾驭硬件设备的。设备驱动程序是操作系统内核和硬件设备之间的接口,它为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,可以像操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,完成以下功能:◇ 驱动程序的注册和注销。◇ 设备的打开和释放。◇ 设备的读写操作。◇ 设备的控制操作转载 2017-04-08 14:44:18 · 291 阅读 · 0 评论