Linux内核usb子系统

了解USB子系统框架是编写和调试usb设备驱动的必要程序,了解USB子系统框架的前提基础知识是linux内核设备驱动模型。

USB设备结构

在usb规范中,一个usb设备通过一些层级结构的描述符来描述。在linux内核中,通过usb_device结构来表示一个usb设备,通常一个usb设备有一个设备描述符,一个或多个配置描述符,以及一个或多个接口描述符。设备描述符用来描述设备的信息,包含厂家ID,产品ID等:

阅读全文

Linux内核initcall过程

本文主要分析linux内核如何顺序调用init_call初始化函数,所使用的内核版本为linux5.0.5。

一.内核按级别调用初始化函数过程

linux内核initcall调用的入口函数为do_initcalls(),该函数位于init/main.c中。

阅读全文

ARM-Linux设备树

一.设备树是什么

1.设备树的概念

​ 设备树是由DTSpec规范定义的一个描述系统硬件的数据结构。加载程序加载一个设备树到客户端程序的内存中并且传递指向该设备树的指针给客户端程序。客户端程序通过设备树指针获取系统硬件参数。

阅读全文

Docker使用小记

Docker官网

什么是docker

Docker是一个应用容器引擎,开发者可以将应用程序以及其依赖放到一个容器中,该容器可以移植到任何linux操作系统上。

阅读全文