Linux kernel 之 uart 驱动解析】的更多相关文章

uart 是一种非常之常见的总线,比如DEBUG信息输出,小数据量数据传输,485,以及蓝牙的控制,GPS,很多都是通过uart 进行数据传输并进行控制. 在Linux kernel 内部,uart 通常是作为 一个 tty 设备对其进行控制,也是就是一个字符设备文件,可对其进行读写操作. kernel version 4.4.12 首先先看一下基本的 结构体 和 API 操作. // include/linux/serial_core.h // uart 驱动结构体 struct uart_d…
[Linux开发]如何查看Linux kernel的内置模块驱动列表和进程ID 标签:[Linux开发] 命令: cat /lib/modules/$(uname -r)/modules.builtin 列举出的列表如下: kernel/kernel/configs.ko kernel/fs/binfmt_misc.ko kernel/fs/binfmt_script.ko kernel/fs/mbcache.ko kernel/fs/cramfs/cramfs.ko kernel/fs/ext…
转自:https://blog.csdn.net/skyflying2012/article/details/41142801 版权声明:本文为博主kerneler辛苦原创,未经允许不得转载. https://blog.csdn.net/skyflying2012/article/details/41142801 利用工作之便,今天研究了kernel下cmdline参数解析过程,记录在此,与大家共享,转载请注明出处,谢谢. Kernel 版本号:3.4.55 Kernel启动时会解析cmdlin…
__setup这条宏在Linux Kernel中使用最多的地方就是定义处理Kernel的启动参数的函数及数据结构,宏定义如下: #define __setup(str, fn) \ __setup_param(str, fn, fn, ) #define __setup_param(str, unique_id, fn, early) \ ) = str; \ static struct obs_kernel_param __setup_##unique_id \ __used __sectio…
1      硬件特性 1.1 概述 I2C总线是由Philips公司开发的两线式串行总线,这两根线为时钟线(SCL)和双向数据线(SDA).由于I2C总线仅需要两根线,因此在电路板上占用的空间更少,带来的问题是带宽较窄.I2C在标准模式下传输速率最高100Kb/s,在快速模式下最高可达400kb/s.属于半双工. 在嵌入式系统中,I2C应用非常广泛,大多数微控制器中集成了I2C总线,一般用于和RTC,EEPROM,智能电池电路,传感器,LCD以及其他类似设备之间的通信. 1.2 I2C总线传输…
USB 转 uart (cp210x.c) 驱动解析 * usb_serial_driver 结构体解析 include/linux/usb/serial.h /** 描述一个usb 串口设备驱动 * usb_serial_driver - describes a usb serial driver * 将一串描述这个驱动的字符串保存在其中,这个指针在syslog中打印当设备被插入或被拔出 * @description: pointer to a string that describes th…
作者 : 韩曙亮 转载请出名出处 : http://blog.csdn.net/shulianghan/article/details/38636827 一. Linux 内核简介 1. 内核功能简介 (1) 操作系统 和 内核 简介 操作系统 : -- 功能 : 完成基本功能 和 系统管理; -- 组成 : 内核(kernel), 设备驱动程序(driver), 启动引导程序(bootloader), 命令行(shell), 用户界面(UI), 文件系统(filesystem), 管理工具;…
转自:http://www.wowotech.net/linux_kenrel/request_threaded_irq.html 一.前言 本文主要的议题是作为一个普通的驱动工程师,在撰写自己负责的驱动的时候,如何向Linux Kernel中的中断子系统注册中断处理函数?为了理解注册中断的接口,必须了解一些中断线程化(threaded interrupt handler)的基础知识,这些在第二章描述.第三章主要描述了驱动申请 interrupt line接口API request_thread…
利用工作之便,今天研究了kernel下cmdline參数解析过程.记录在此.与大家共享.转载请注明出处.谢谢. Kernel 版本:3.4.55 Kernel启动时会解析cmdline,然后依据这些參数如console root来进行配置执行. Cmdline是由bootloader传给kernel.如uboot.将须要传给kernel的參数做成一个tags链表放在ram中,将首地址传给kernel,kernel解析tags来获取cmdline等信息. Uboot传參给kernel以及kerne…
1. 介绍 8250是IBM PC及兼容机使用的一种串口芯片; 16550是一种带先进先出(FIFO)功能的8250系列串口芯片; 16550A则是16550的升级版本, 修复了FIFO相关BUG, 也是目前比较常见的串口芯片. 本文介绍的是Xilinx UART 驱动分析, 因为没有找到其datasheet, 硬件操作部分分析16550的实现. Xilinx UART驱动主要由drivers/tty/serial/xilinx_uartps.c来实现其相关配置和基本信息可参考<Zynq UAR…