文章分类 - 嵌入式linux设备驱动
摘要:[root@localhost linux-3.5]# vim arch/arm/mach-exynos/mach-tiny4412.c1844 &s3c_device_i2c2, //追 /linuxtags/arch/arm/plat-samsung/devs.c 648 #ifdef CONF
阅读全文
摘要:一、基本开发环境和触摸芯片接口 1、基本开发环境 PC机:Centos6.7 64bit GCC工具链条:arm-none-linux-gnueabi 开发板:友善之臂Tiny4412 板载系统:Android5.0.2 板载系统内核:Linux-3.5 2、触摸芯片接口: 该触摸屏属于电容式五点触
阅读全文
摘要:5.10.1.正确理解块设备驱动的概念//开发时内核存在多部分驱动代码,人为可写少部分5.10.1.1、块设备和字符设备的差异(1)块(512bytes)和字符(1byte)是两种不同的访问设备的策略(2)同一个设备可以同时支持块和字符两种访问策略(3)设备本身的物理特性决定了哪一种访问策略更适合(
阅读全文
摘要:5.7.1.framebuffer介绍//驱动是造车,应用是开车。开发板内部已有驱动。5.7.1.1、什么是framebuffer(1)裸机中如何操作LCD//图291 (2)OS下操作LCD的难点//与裸机时类似,区别是有OS时干活的成有两段(两大部分)代码: 内核部分--做初始化寄存器、内存,建
阅读全文
摘要:5.3.10.静态映射表建立过程分析5.3.10.1、建立映射表的三个关键部分(1)映射表具体物理地址和虚拟地址的值相关的宏定义(2)映射表建立函数。该函数负责由(1)中的映射表来建立linux内核的页表映射关系。在kernel/arch/arm/mach-s5pv210/mach-smdkc110
阅读全文
摘要:DS18B20时序分析:DS18B20的一线工作协议流程是:初始化->ROM操作指令->存储器操作指令->数据传输,其工作时序包括:初始化时序、写时序、读时序。 1.初始化时序: 主机:首先发出一个480~960us的低电平脉冲,然后释放总线变为高电平。并在随后的480us时间内对总线进行检测:若有
阅读全文
摘要:1、 Linux设备中字符设备与块设备有什么主要的区别?请分别列举一些实际的设备说出它们是属于哪一类设备。 字符设备:字符设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少实现open,close,read和write系统调用。字符终端、串口
阅读全文
摘要:5.11.1.网络设备驱动概述5.11.1.1、什么是网络设备(1)网络设备//软件概念 eg:ifconfig查看的eth0,eth1(2)物理网卡: 真正的硬件网卡设备//eg:台式机的可插拔的360免费wifi5.11.1.2、网络设备接口(1)/dev下没有设备文件,也不通过/sys下的属性
阅读全文
摘要:5.2.13.驱动中如何操控硬件5.2.13.1、还是那个硬件(1)硬件物理原理不变(2)硬件操作接口(寄存器)不变(3)硬件操作代码不变5.2.13.2、哪里不同了?(1)寄存器地址不同。原来是直接用物理地址,现在需要用该物理地址在内核虚拟地址空间相对应的虚拟地址。寄存器的物理地址是CPU设计时决
阅读全文
摘要:http://www.runoob.com/linux/linux-intro.html http://blog.jobbole.com/tag/linux/ http://blog.51cto.com/zt/613 ARM驱动之Linux驱动程序设计入门/52CTO
阅读全文
摘要:5.9.1.触摸屏驱动概览5.9.1.1、常用的2种触摸屏:(1)电阻触摸屏。 驱动一般分2种: a.一种是SoC内置触摸屏控制器;//成本低,可扩展性差,精度需要跟随内部AD. b.一种是外置的专门触摸屏控制芯片,通过I2C接口和SoC通信。//灵活,多加芯片故成本高。 图161 (2)电容触摸屏
阅读全文
摘要:5.8.1.什么是input子系统5.8.1.1、何为输入设备//站在内核角度,输入设备是给操作系统做输入信号的一类设备,鼠标、键盘、触摸屏、手柄、体感终端等5.8.1.2、linux中输入设备的编程模型(1)命令行界面的输入类设备应用接口(2)GUI界面带来的麻烦、不同的输入类设备也会带来麻烦 /
阅读全文
摘要:5.6.1.板载蜂鸣器驱动测试5.6.1.1、驱动部分(1)九鼎移植内核已经提供了蜂鸣器驱动源码(2)make menuconfig(3)bug排查。修改Makefile中的宏名,最终可以在系统中看到 /dev/buzzer//寻找BSP源码中是否有蜂鸣器驱动程序:(1)source insight
阅读全文
摘要:5.4.1.何谓驱动框架5.4.1.1、驱动是谁写的(1)驱动开发工程师(2)内核维护者//cope_to_user 等被写5.4.1.2、驱动编程协作要求(1)接口标准化(2)尽量降低驱动开发者难度5.4.1.3、到底什么是驱动框架(1)驱动框架:内核中驱动部分维护者针对每个种类的驱动设计一套成熟
阅读全文
摘要:5.5.1.linux设备驱动模型简介5.5.1.1、什么是设备驱动模型(1)类class、总线bus、设备device、驱动driver//上述四个可用内核抽象出来的4个结构体表示,可具体实例化它//热插拔(插上后驱动自动安装,拔掉后驱动自动卸载)(2)kobject和对象生命周期//kobjec
阅读全文
摘要:5.3.1.注册字符设备驱动新接口15.3.1.1、新接口与老接口(1)老接口:register_chrdev //无次设备号;完成字符设备的注册,内部绑定file_operations(包含各种方法),获取主设备号。(2)新接口:register_chrdev_region(静态分配)/alloc
阅读全文
摘要:5.2.1.开启驱动开发之路5.2.1.1、驱动开发的准备工作(1)正常运行linux系统的开发板。要求开发板中的linux的zImage必须是自己编译的,不能是别人编译的。(2)内核源码树,其实就是一个经过了配置编译之后的内核源码。(3)nfs挂载的rootfs,主机ubuntu中必须搭建一个nf
阅读全文
摘要:http://edu.51cto.com/topic/777.html 这里的驱动即linux内核驱动:广义上就是这一段代码操作了硬件去动,所以这一段代码就叫硬件的驱动程序。(本质上是电力提供了动力,而驱动程序提供了操作逻辑方法) //裸机驱动程序 通过往相应寄存器上写数据(高低电平)来操作硬件使其
阅读全文
摘要:466 /** 467 * platform_driver_register - register a driver for platform-level devices 468 * @drv: platform driver structure 469 */ 470 int platform_dr
阅读全文
摘要:平台总线的简介 平台总线是一种虚拟的总线,相应的设备则为platform_device,而驱动则为platform_driver。总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。 我们可以把一个驱动程
阅读全文
浙公网安备 33010602011771号