- 博客(10)
- 资源 (7)
- 收藏
- 关注
原创 电源管理(2) - loongson cpufreq
了解loongson cpufreq1.clock 初始化 170 static int loongson3_clock_init(void) 171 { 172 int i; 173 174 for_each_possible_cpu(i) { 175 sprintf(clk_names[i], "cpu%d_clk", i); 176 cpu_clks[i].name = clk_na.
2020-10-31 16:10:28 519
原创 电源管理 - EC
了解笔记本电源管理EC1.概述 EC的全称是Embedded Controller,嵌入式控制器。它实际上是一个单片机,常用于笔记本电脑中,用于键盘控制,触摸板,电源管理,风扇控制,笔记本电池管理等等的功能,所以虽然对于笔记本用户来说,EC一般是不可见的,但是却发挥着重要的作用。EC芯片通常是一个独立的芯片,并包含独立运行的软件,存放在自己(或者与BIOS共用)的非易失性介质中。 EC在笔记本电脑的整个生涯中都存在,这里的意思是即使笔记本关机,EC也还在工作,除非拔掉电池,EC芯片没有供电,只.
2020-10-31 10:36:06 4197
原创 linux serial framework (2) - serial 8250 driver
uart1.UART 框架图2.8250/16550芯片 该类芯片的驱动文件为8250.c,位于内核源码的/drivers/serial/目录下面。serial8250_init为该驱动的入口函数,nr_uarts和UART_NR在内核配置中定义,跟具体的平台相关,通常定义为4。由于CONFIG_SPARC没有被定义,所以做的第一件事情就是注册一个名为serial_8250_reg的UART驱动。重点分析:serial8250_init()—>uart_register_driv.
2020-10-30 09:51:28 2896
原创 linux serial framework (1) - 概述
了解linux serial framework1.uart 串口设备(serial or uart)是TTY设备的一种,Linux kernel为了方便串口驱动的开发,在TTY framework的基础上,封装了一层串口框架(serial framework)。该框架尽可能的屏蔽了TTY有关的技术细节,驱动工程师在编写串口驱动的时候,只需要把精力放在串口以及串口控制器本身即可。2.软件架构 Linux kernel serial framework位于“drivers/tty/serial.
2020-10-29 16:32:31 551
原创 linux TTY子系统(3) - tty driver
了解linux tty driver1.TTY device kernel从设备模型和字符设备两个角度对它进行了抽象:设备模型的角度 为每个“数据通道”注册了一个stuct device,以便可以在sysfs中体现出来,例如:/sys/class/tty/tty/sys/class/tty/console/sys/class/tty/ttyS0字符设备的角度 为每个“数据通道”注册一个struct cdev,以便在用户空间可以访问,例如:/dev/tty/dev.
2020-10-28 14:53:52 1236
原创 linux TTY子系统(2) -- 软件框架
了解tty 子系统1.TTY的子系统 在Linux kernel中,TTY就是各类终端(Terminal)的简称。为了简化终端的使用,以及终端驱动程序的编写,Linux kernel抽象出了TTY framework:对上,向应用程序提供使用终端的统一接口;对下,提供编写终端驱动程序(如serial driver)的统一框架。TTY framework通过TTY core屏蔽TTY有关的技术细节,对上以字符设备的形式向应用程序提供统一接口。 软件框架所示:1.1.TTY core是TTY .
2020-10-28 13:47:54 1335
原创 Linux TTY子系统(1) - 了解TTY
了解linux tty1.TTY概述 TTY 是 Teletype 或 Teletypewriter 的缩写,原来是指电传打字机,后来这种设备逐渐键盘和显示器取代。不管是电传打字机还是键盘显示器,都是作为计算机的终端设备存在的,所以 TTY 也泛指计算机的终端(terminal)设备。为了支持这些 TTY 设备,Linux 实现了一个叫做 TTY 的子系统。所以 TTY 既指终端,也指 Linux 的 TTY 子系统,当然 TTY 还有更丰富(混乱)的含义。 硬件终端 terminal(TTY.
2020-10-28 13:05:39 914
原创 linux usb子系统(三)- usb mouse driver
了解usbmouse driver1.struct usb_mousestruct usb_mouse { char name[128]; // 名称,一般存储制造商名称 char phys[64]; struct usb_device *usbdev; // usb 设备模型 struct input_dev *dev; // 输入设备 struct urb *irq; // 用于usb 设备通信的urb 模块 signed char *data; //.
2020-10-18 16:05:20 372 1
原创 linux usb 子系统(二)- host driver
了解usb host driver.1.USB Subsystem Framework The following chart shows the framework of the USB subsystem in Linux. Like i2c, the USB subsystem can be divided into three layers: ** Device Driver Layer - USB Core - Controller Driver Layer*
2020-10-18 13:13:37 1328
原创 linux usb 子系统(一)
了解usb 子系统1.USB 概述 USB,Universal Serial Bus(通用串行总线),是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。1.1.usb 接口1.2.USB标准1.3.USB总线结构 USB总线的拓扑结构如下图所示:USB主机控制器(USB Host Controller)通过根集线器(Roo.
2020-10-18 09:25:32 612 1
Practical_Binary_Analysis
2019-02-15
Operating_Systems_From_0_to_1
2019-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人