- 博客(36)
- 收藏
- 关注
原创 Linux设备模型之device resource management
Linux设备模型之device resource management
2022-07-24 18:19:49
1226
原创 Linux PCI总线驱动-1
https://blog.youkuaiyun.com/u010783226/article/details/114001852
2022-06-21 21:27:50
2432
原创 Linux内核活动之中断API
Linux内核活动之中断API1. `__tasklet_hi_schedule( )`2. `__tasklet_schedule( )`3. `disable_irq( )`4. `disable_irq_nosync()`5. `disable_irq_wake()`6. `irq_set_irq_wake()`7. `enable_irq()`8. `enable_irq_wake()`9. `free_irq()`10. `irq_set_chip()`11. `irq_set_chip_data
2022-05-30 21:45:15
743
原创 Linux内核活动之中断1
Linux内核活动之中断11. 中断介绍1.1 中断类型1.2 中断共享1.3 硬件IRQ1.4 处理中断1.4.1 进入和退出任务1.4.2 中断处理程序1.5 数据结构1.5.1 内核的IRQ处理子系统1.5.2 IRQ描述符1.5.2.1 IRQ控制器抽象系统调用不是在用户态和系统状态之间切换的唯一途径。所有支持Linux的平台都采用了中断(interrupt)的概念,以便(因种种原因)引入周期性的中断。需要区分两种类型的中断。硬件中断(hardware interrupt):由系统自身和与之
2022-05-30 19:38:02
1771
原创 XHCI注册过程和设备接入识别
XHCI注册过程xhci_pci_initxhci_init_driverpci_register_driverxhci_pci_probe()函数usb_hcd_pci_probe()函数usb_create_hcd`usb_create_hcd`函数`__usb_create_hcd`函数`usb_add_hcd`函数`hcd_buffer_create()``usb_register_bus()``usb_alloc_dev()`usb_enable_endpoint`register_root_hu
2022-05-25 00:04:21
4895
原创 USB子系统初始化
USB子系统初始化重点结构体介绍1. struct pci_driver xhci_pci_driver2. struct pci_device_id pci_ids[]3. struct hc_driver xhci_hc_driver4. struct attribute_group *usb_device_groups[]5. struct attribute_group dev_attr_grp6. struct attribute *dev_attrs[]7. attribute_group de
2022-05-21 20:22:13
2417
原创 Linux设备驱动和设备匹配过程
Linux设备驱动和设备匹配过程1. 设备平台结构体2. 匹配过程2.1 驱动总线注册`platform_driver_register`2.2 驱动的总线中的类型指向 `platform_bus_type`2.3 驱动的总线类型中用于匹配的`platform_match`2.4 注册设备:`driver_register`2.2.1 usb总线上添加hub驱动:`bus_add_driver() `2.2.1.1 驱动绑定`driver_attach()`2.2.1.1.1 `driver_attach`
2022-05-19 20:06:25
7137
原创 USB基础知识2
USB基础知识2Linux设备驱动程序USB 的 Urbs1. Linux USB驱动层次1.1 主机侧与设备侧USB驱动1.2 设备、配置、接口、端点USB描述符USB设备描述符`usb_device_descriptor`USB配置描述符结构体`usb_config_descriptor`USB接口描述符结构体`usb_interface_descriptor`USB端点描述符结构体`usb_endpoint_descriptor`USB字符串描述符`usb_string_descriptor`2. U
2022-05-14 19:08:38
2379
原创 USB基础知识3
USB基础知识3一、USB 专业术语中英对照表二、USB的标准请求2.1 USB标准请求的数据结构2.1.1 bmRequestType字段(1字节)2.1.1.1 bmRequestType字段的USB标准请求(USB基本请求)2.1.1.2 bmRequestType字段的类特定请求(HID,UVC,UAC,BOT)2.1.1.3 bmRequestType字段的厂商自定义请求(自定义,不常见)2.1.2 bRequest字段(1)2.1.3 设备请求2.1.4 接口请求2.1.5 端点请求2.1.6
2022-05-13 20:56:30
1265
原创 USB基础知识1
USBUSB 总线是一种轮询式总线。协议规定所有的数据传输都必须由主机发起,由主机控制器初始化所有的数据传输,各种设备紧紧围绕在主机周围。USB 通信最基本的形式是通过 USB 设备中一个叫 Endpoint(端点)的东西,而主机和端点之间的数据传输是通过 Pipe(管道)。端点就是通信的发送点或者接收点,要发送数据,只需把数据发送到正确的端点就可以了。而管道,实际上只是为了让我们能够找到端点,就相当于我们日常说的邮编地址。...
2022-05-10 20:11:32
4670
原创 龙芯Mips平台vmlinux文件分析
龙芯Mips平台vmlinux文件分析一、文件格式1. 文件类型2. 使用场景二、结构内容描述1. ELF header(ELF 头)2. 字符串表表项 Entry3. 读取字符串表 Section 的内容4. 读取代码段的内容参考链接一、文件格式首先,vmlinux 属于 ELF(Executable and Linkable Format) ⽂件,要想了解如何启动 vmlinux,⾸先需要知道 ELF 的格式。text段代码段,通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在
2022-04-07 23:32:13
1941
原创 Linux系统启动过程
Linux系统启动过程关于BIOS1. BIOS 是什么2. BIOS 存储的信息3. BIOS 需要在内存中加载中断向量表和中断服务程序一、启动BIOS ,准备实模式下的中断向量表和中断服务程序1. POST ⾃检2. 初始化设备3. BIOS-runtime 服务按照boot 启动顺序搜索设备,寻找MBR二、引导操作系统内核并为保护模式做准备1. 分区表2. 引导操作系统的过程3. 加载主引导加载程序-基本装载程序4. 加载次引导记载程序–⾼级装载程序bootload 如GRUB1. 情况A:卷引导记录
2022-04-05 21:45:05
7447
原创 龙芯3A4000处理器简介
龙芯3A4000处理器简介1.龙芯 3号功能特征龙芯 3A40002. 龙芯 3号处理器核(一)通用寄存器(二) CP0 寄存器(三)指令集3. 龙芯电脑基本结构参考链接A.1 内存屏障(一)优化屏障(二)内存屏障侵删1.龙芯 3号功能特征本书的重点是计算机类应用,因此主要关注龙芯 3号。目前已经得到大规模应用的龙芯 3号处理器包括四核 3A1000 、八核 3B1500 、四核3A2000 、四核 3A3000 和四核 3A4000 共5款。龙芯 3号的整体架构基于两级互联实现,以四核处理器为例,其结
2022-03-31 20:43:52
13624
原创 C语言-单向链表学习node
说明: 在此非常感谢笔记中涉及到的UP主上传的视频,因为此笔记是通过学习UP主的视频后根据视频记录的笔记。建议:建议学习观看笔记中的视频时候一定要自己去通过键盘做笔记或者将代码在本地重现,不要试图通过大脑理解或者笔记本记录下来,因为很多时候通过键盘的输入可以加深对程序的理解和记忆,另一方面电子笔记利于随时随地的温习。两个小时完全学会链表,学不会来找我,亲自教你~数据结构专场内存4区:代码区:函数代码–存放在代码区 函数名就是这个函数的地址。全局区:全局的变量 字符串常量 初始化:int a
2021-01-08 16:08:51
658
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人