自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux设备驱动模型_bus

1. 概述总线(bus)是linux设备模型中抽象出来的一个概念,用于统一管理所有设备和驱动。在linux内核中,每个设备都会被挂载到相应的bus总线上,这个bus可以是对应真实的系统总线,如I2C总线,SPI总线等,也可以是虚拟总线,如platform bus。在bus上,挂载有另外两个概念,设备(device)和驱动(device_driver)。device即真实的物理设备,提供各种硬件资源和信息。device_driver提供用于读写访问device所需要的各种驱动方法。device和de

2021-08-24 17:28:54 310

原创 bus_for_each_dev

概述/** * bus_for_each_dev - device iterator. * @bus: bus type. * @start: device to start iterating from. * @data: data for the callback. * @fn: function to be called for each device. * * Iterate over @bus's list of devices, and call @fn for each,.

2021-08-23 21:44:38 931

原创 container_of

1. 概述/***container_of-castamemberofastructureouttothecontainingstructure*@ptr:thepointertothemember.*@type:thetypeofthecontainerstructthisisembeddedin.*@member:thenameofthememberwithinthestruct.**/...

2021-08-22 11:06:39 137

原创 Ethernet 之 物理连接模式

10/100/1000: 数字100用单位MHz (Megahertz)表示网线设计的频率。即100 MHz。MHz的值越大,网线所支持的速度就越快。如果你尝试将这种类型的网线用于更高的频率(和速度)中,那么它将不工作或者变得极为不可靠。100 MHz以每秒100Mbit的速度传输,这在理论上指的就是12 Mbps。然而,在实际中,可能还无法获得超过4 Mbps。 BASE: BASE是英文baseband的缩写,指的就是基带。表示没有使用频分复用或者其它频率转换技术,每一个信号在一个单一频率上完全控..

2021-07-21 22:29:40 294

原创 Linux设备驱动模型(2)_Kobject

1. 基本概念Linux设备模型的核心是围绕Driver-Bus-Device(Class)设计的一整套框架,将大量的不同功能的硬件设备,以树状结构的形式进行抽象归纳,从而让内核统一进行管理。由于硬件设备以及相应驱动程序的繁杂庞大,Linux内核利用面向对象的思想从中抽象出一些共同的功能,从而构建了一个顶级的结构体,也就是kobject结构体。kobject提供的功能:1) 通过parent指针,可以将所有的kobject以层次结构的形式组合起来;2) 使用kref(引用计数 referen

2021-03-29 23:11:34 369

原创 Linux之ioctl

目录1. ioctl概念2. 具体实现3. 示例4. 参考1. ioctl概念ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。大部分驱动除了读写设备的能里,还需要通过设备驱动对硬件进行各种控制操作。例如,设备上锁,改变波特率,调整转速等等。所有这些命令都是通过ioctl来支持的。用户空间原型:int ioctl(int fd, unsigned long cmd, ...);fd: 文件描述符,用户程序使用open函数打开时代表文件的控制符cmd: 用

2021-03-28 18:14:30 709

原创 Linux设备驱动模型(1)_基础知识

目录1. 背景2. Linux设备模型基本概念2.1 Bus,Class,Device,Driver概念2.2 设备模型的核心思想3. 参考1. 背景Linux作为一个宏内核,并且支持世界上几乎所有的各式各样的硬件平台,导致Linux内核中作为设备驱动部分代码冗余且杂乱无章,为了降低设备多样性给Linux内核所带来的臃肿不堪,更主要的是解决电源管理, 热插拔等问题, Linux提出了驱动设备模型(Driver Model)的概念。2. Linux设备模型基本概念2..

2021-03-28 11:52:42 149

原创 设备树(Device Tree)基本概念

1. 概念DT(Device Tree), 是一种描述硬件的数据结构,起源于OpenFirmware(OF)。DTS(Device Tree Source), 设备树源文件,描述板级硬件资源,由驱动工程师编写。DTC(Device Tree Compiler), 设备树编译器,编译DTS成DTBDTB(Device Tree Blob), 设备树的二进制文件,通过boot program传入内核2. 生命周期3. DTC编译dtc编译器可以把dts文件编译成为dtb,也可..

2021-03-27 17:41:06 2429

原创 Linux初始化init系统之Sysvinit

背景知识介绍Linux操作系统的启动过程首先从BIOS(Basic Input/Output System)开始启动,进而从磁盘加载MBR(Master Boot Record), 接下来进入bootloader,载入内核(Kernel), 完成内核的初始化。内核初始化的最后一步,需要产生第一个进程,负责产生其他的用户进程,这个特殊的进程就是pid为1的init进程。init进程负责组织和运行许多独立的或相关的初始化工作,因此也被称为init系统。init系统可以定义,管理和控制init进程的各种行

2020-08-11 17:07:32 3120

常用电源设计技巧(含电路图)

常用电源设计技巧,一些在单片机以及嵌入式领域常用的电源设计,很有帮助!

2018-03-22

semtech sx1301相关资料,datasheet

semtech的lora开发芯片资料,sx1301datasheet,sx1301应用于网关/集中器开发

2017-11-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除