![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux设备驱动
New_bee_xu
The future has arrived.It's recommence now!
展开
-
Linux Thermal Framework分析及实施
Linux Thermal Framework分析及实施关键词:Zone、Cooling、Governor、Step Wise、Fair Share、trip等等。Linux Thermal的目的是控制系统运行过程中采样点温度,避免温度过高造成器件损坏,确保芯片长期稳定工作。整个Thermal框架可以分为四部分:Thermal Driver负责将获取温度设备,注册成structthermal_zone_device,比如Temp Sensor、NTC等。 Thermal Gover..转载 2020-12-30 11:18:47 · 2609 阅读 · 1 评论 -
linux 内核 - ioctl 函数详解
概念ioctl 是设备驱动程序中设备控制接口函数,一个字符设备驱动通常会实现设备打开、关闭、读、写等功能,在一些需要细分的情境下,如果需要扩展新的功能,通常以增设 ioctl() 命令的方式实现。在文件 I/O 中,ioctl 扮演着重要角色,本文将以驱动开发为侧重点,从用户空间到内核空间纵向分析 ioctl 函数。用户空间 ioctl#include <sys/ioctl.h>int ioctl(int fd, int cmd, …) ;参数 描述fd 文件描述符cm.转载 2020-12-19 15:26:29 · 466 阅读 · 1 评论 -
LINUX设备驱动模型之PLATFORM(平台)总线详解
LINUX设备驱动模型之PLATFORM(平台)总线详解/********************************************************/内核版本:2.6.35.7运行平台:三星s5pv210/********************************************************/1、什么是platform(平台)总线?相对于USB、PCI、I2C、SPI等物理总线来说,platform总线是一种虚拟、抽象出来的总线,实际中转载 2020-12-08 17:16:48 · 974 阅读 · 0 评论 -
WiFi模块驱动移植
项目背景 WiFi模块rlt8812au 替换成rlt8812cu,支持rlt8812cu驱动且保持兼容原有模块驱动移植与验证 根据厂家提供的驱动包,修改makefile和Kconfig文件,根据需要修改部分源码,完成驱动移植。移植验证ok之后,rlt8812cu驱动生效。现在考虑兼容问题:1、将两个模块均静态编译进内核。编译时发现报错,提示很多函数重复定义,显然该方法不可行。2、将两个WiFi驱动模块均动态编译。这种方法需要业务将两个模块都加载即可,(不会因...原创 2020-09-03 15:46:04 · 1833 阅读 · 1 评论 -
华为海思系列芯片开发学习中常见缩写详解
1. 系统控制Hi —— HiSilicon 海思半导体公司MPP —— Media Process Platform 媒体处理平台MPI —— MPP Programe Interface MPP程序接口DDR —— Double Data-Rate 双倍速率,DDR SDRAM=双倍速率同步动态随机存储器,人们习惯称为DDR,其中,SDRAM 是Synchronous Dynamic Random Access Memory的缩写,即同步动态随机存取存储器。而DDR SDRAM是Do...转载 2020-08-01 11:43:00 · 1281 阅读 · 2 评论 -
linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成 那么如何将驱动直接编译进内核呢? 在我们实际内核的移植配置过程中经常听说的内核裁剪又是怎么麽回事呢?我们在进行linux内核配置的时候经常会执行make menuconfig这个命令,然后屏幕上会出现以下界面:这个界面是怎么生成的呢?跟我们经常说的内核配置与与编译又有什么关系呢?下面我们借此来讲解一下l...转载 2020-08-01 11:26:03 · 796 阅读 · 0 评论 -
虚拟网卡 TUN/TAP 驱动程序设计原理与编程
TUN/TAP虚拟网络设备为用户空间程序提供了网络数据包的发送和接收能力。他既可以当做点对点设备(TUN),也可以当做以太网设备(TAP)。实际上,不仅Linux支持TUN/TAP虚拟网络设备,其他UNIX也是支持的,他们之间只有少许差别。原理简介TUN/TAP 虚拟网络设备的原理比较简单,他在Linux内核中添加了一个TUN/TAP虚拟网络设备的驱动程序和一个与之相关连的字符设备 /dev/net/tun,字符设备tun作为用户空间和内核空间交换数据的接口。当内核将数据包发送到虚拟网络设备时,数据包被.转载 2020-08-01 10:44:14 · 2394 阅读 · 1 评论 -
COPY_FROM_USER 详解
copy_from_user函数的目的是从用户空间拷贝数据到内核空间,失败返回没有被拷贝的字节数,成功返回0.这么简单的一个函数却含盖了许多关于内核方面的知识,比如内核关于异常出错的处理.从用户空间拷贝数据到内核中时必须很小心,假如用户空间的数据地址是个非法的地址,或是超出用户空间的范围,或是那些地址还没有被映射到,都可能对内核产生很大的影响,如oops,或被造成系统安全的影响.所以copy_from_user函数的功能就不只是从用户空间拷贝数据那样简单了,他还要做一些指针检查连同处理这些...转载 2020-07-31 11:38:03 · 12400 阅读 · 0 评论