多想拥你在我的怀里 却无法超越那距离 美好回忆渐渐地远去 盼望今生出现奇迹 无尽的想念 荒了容颜 无助的爱恋 从未改变 这是今天的旋律,,,,今生今世,遥不可及~ 1 终端设备 终端是一种字符型设备,通常使用tty简称各种类型的设备 1.1 串行端口终端(/dev/ttySn) 串行端口终端 (Serial Port Terminal )是使用计算机串行端口连接的终端设备.计算机把每个串行端口都看作是一个字符设备.在命令行上把标准输出重定向到端口对应的设备文件名上就可以通过端口发送数据. 1.2…
在Linux中,UART串口驱动完全遵循tty驱动的框架结构,但是进行了底层操作的再次封装,所以先介绍tty终端设备驱动. 一.终端设备 1.串行端口终端(/dev/ttySACn) 2.伪终端(/dev/pty/) 3.控制台终端(/dev/ttyn,/dev/console) 二.驱动结构 1.tty分层结构如下图所示: 包含tty核心.tty线路规程.tty驱动,其中tty规程的工作是以特殊的方式格式化从一个用户或者硬件接收到的数据,常采用一个协议转换的形式,如PPP.Bluetooth.…
对于S5PV210 UART驱动来说,主要关心的就是drivers/serial下的samsung.c和s5pv210.c连个文件. 由drivers/serial/Kconfig: config SERIAL_SAMSUNG depends on ARM && PLAT_SAMSUNG config SERIAL_S5PV210 depends on SERIAL_SAMSUNG && (CPU_S5PV210 || CPU_S5P6442) && SER…
ARM-Linux S5PV210 UART驱动(3)----串口核心层.关键结构体.接口关系 尽管一个特定的UART设备驱动完全可以按照tty驱动的设计方法来设计,即定义tty_driver并实现tty_operations其中的成员函数,但是Linux已经在文件serial_core.c中实现了UART设备的通用tty驱动层,称为串口核心层,这样,UART驱动的主要任务变成了实现serial_core.c中定义的一组uart_xxx接口而非tty_xxx接口. uart设备是继tty_dri…
一.背景: arm linux的内核版本是3.13.0 二.准备工作 添加alsa驱动到内核中,也就是在编译内核的时候加入以下选项: 接下来就重新编译内核即可 三.交叉编译alsa-lib和alsa-utils (alsa-utils是一系列的音频设备控制工具,而alsa-lib是alsa-utils依赖的库,所以先将alsa-lib编译好) 3.1交叉编译alsa-lib 3.2交叉编译alsa-utils 四.将三编译好的库及工具都拷贝至arm开发板(笔者通常直接将编译好的都压缩好之后再复制…
ARM Linux驱动篇 学习温度传感器ds18b20的驱动编写过程 原文地址:http://www.cnblogs.com/NickQ/p/9026545.html 一.开发板与ds18b20的入门 ds18B20是常用的数字温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点.但楼主在使用过程中发现,ds18b20测量的温度还是需要进行一定的软件校准的.后面我们会谈论到. 除了上面提到的,ds18b20还有很多可圈可点的有点.下面说楼主所关注到的几个. 单总线协议,称为总线,必然可…
  1.   SoC Linux底层驱动的组成和现状 为了让Linux在一个全新的ARM SoC上运行,需要提供大量的底层支撑,如定时器节拍.中断控制器.SMP启动.CPU hotplug以及底层的GPIO.clock.pinctrl和DMA硬件的封装等.定时器节拍.中断控制器.SMP启动和CPU hotplug这几部分相对来说没有像早期GPIO.clock.pinctrl和DMA的实现那么杂乱,基本上有个固定的套路. 定时器节拍为Linux基于时间片的调度机制以及内核和用户空间的定时器提供支撑…
本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 宋宝华 来源: 微信公众号linux阅码场(id: linuxdev) 公元1951年5月15日的国会听证上,美国陆军五星上将麦克阿瑟建议把朝鲜战争扩大至中国,布莱德利随后发言:"如果我们把战争扩大到中国,那么我们会被卷入到一场错误的时间,错误的地点同错误的对手打的一场错误的战争中." 写代码,适用于同样的原则,那就是把正确的代码放到正确的位置而不是相反.同样的一个代码,可以出现在多个可能的位置,…
Linux下smi/mdio总线驱动 韩大卫@吉林师范大学 MII(媒体独立接口), 是IEEE802.3定义的以太网行业标准接口, smi是mii中的标准管理接口, 有两跟管脚, mdio 和mdc ,用来现实双向的数据输入/输出和时钟同步.mdio主要作用用来配置/读取phy的寄存器, 实现监控作用. Smi总线也就是mdio总线. 以mips 架构的caium octeon 处理器为例介绍mdio总线的驱动. 内核代码 drivers/net/phy/mdio-octeon.c stati…
[1.分层思想] 1.1 rtc-dev.c   //设备接口层,功能:给用户提供接口 subsys_initcall(rtc_init);   , RTC_DEV_MAX, "rtc"); 1.2 rtc-s3c.c  //功能:操作硬件 module_init(s3c_rtc_init);) [为了能够读取到rtc的时间] [一/添加驱动(driver/rtc)] 1.修改driver/rtc/目录下的Kconfig    vi linux-2.6.35.5/driver/rtc/…