内核
文章平均质量分 80
kernel学习笔记
Fireworks_light
业精于勤,荒于嬉; 行成于思,毁于随。
展开
-
音频smmu问题之smmu学习
简单来说, SMMU(System Memory Management Unit)是ARM为外设访问系统RAM提供了一种类似于MMU的虚拟内存访问机制, 外设可以通过DMA直接访问RAM, 而无需CPU的干预. 如此, 外设可以通过一个虚拟的地址即可访问物理地址(可以不连续), 做到了不同外设之间IO地址空间的彼此独立与隔离. 因此, SMMU也通常被称为IOMMU(Input/Output MMU).原创 2024-02-24 16:39:11 · 1438 阅读 · 2 评论 -
Scudo内存分配器介绍
一、背景早期Android中使用jemalloc作为默认的Native内存分配器,但是从R开始,Scudo替代jemalloc成为了non-svelte configuration模式下默认的内存分配器(svelte模式下默认的内存分配器依然是jemalloc)。随着64位机器和大RAM的普及,虚拟内存和物理内存的瓶颈都在不断放宽,因此给了系统更多的选择,可以在性能合理的范围内兼顾其他特性。在所有安全性问题中,内存漏洞发生的入侵占到了半数以上,因此如果能在Allocator中抵御入侵,那将极大地降低安全转载 2022-04-18 22:24:49 · 4686 阅读 · 0 评论 -
linux内核之旅(2)-vim配置安装
学习内核之前,我们必须得有个好工具,这里给大家推荐vim+ctag+cscope获取vim安装包:扫二维码关注马哥嵌入式Linux驱动,回复vim,获得下载连接下面学习下安装教程:安装vim cscope ctagssudo apt-get install vimsudo apt-get install cscopesudo apt-get install ctags安装截图如下:配置1、解压 vim.tar.gztar -zxvf vim.tar.gz2、将.vimrc原创 2021-10-16 12:29:50 · 305 阅读 · 0 评论 -
Linux 内核之旅(1)-下载地址
Linux 内核下载地址官方:https://mirrors.edge.kernel.org/pub/linux/kernel/国内:https://mirror.bjtu.edu.cn/kernel/linux/kernel/编译好的镜像文件:https://kernel.ubuntu.com/~kernel-ppa/mainline/原创 2021-10-16 11:37:26 · 523 阅读 · 0 评论 -
regmap子系统-之-readmap_read读7bit寄存器问题定位
regmap子系统regmap子系统框架介绍regmap子系统的作用regmap子系统框架regmap子系统数据结构与源代码i2c接口的codec驱动为例,说明regmap使用regmap子系统框架介绍regmap子系统的作用随着linux内核的设备驱动越来越多,内核中有很多设备使用iic和spi等总线进行控制,尤其在hwmon子系统、regulator子系统中,大部分的设备基本上就是i2c、spi设备。在之前,如针对i2c设备我们通过接口i2c_transfer、i2c_master_send等接口原创 2021-09-23 16:15:02 · 3772 阅读 · 2 评论 -
DTS入门知识
一、dts产生原因… 2二、dts基本知识… 22.1 dts加载过程… 22.2 dts描述信息… 32.3 dts组成结构示例… 32.4 dts语法… 42.4.1 compatible … 62.4.2 name@unit-address… 62.4.3 reg address-cells size-cells… 62.4.5 interrupt… 9三、dts与驱动… 10四、具体案例… 114.1 gpio… 124.2 interrupt… 124.3 pinctl转载 2021-08-22 19:14:56 · 4622 阅读 · 0 评论 -
Linux设备驱动模型-Ktype
https://cloud.tencent.com/developer/article/1603899前言在之前创建的object的时候,使用的是kobject_create_and_add函数。而此函数中创建的object使用的是默认的ktype(dynamic_kobj_ktype), 如果想指定ktype的话就需要使用kobject_init_and_add函数来创建object。那...转载 2020-04-01 22:41:54 · 455 阅读 · 0 评论 -
Linux设备驱动模型-Device
https://cloud.tencent.com/developer/article/1603916前言Linux将所有的设备统一抽象为struct device结构, 同时将所有的驱动统一抽象为struct device_driver结构。这样设计之后就方便驱动开发工程师编写驱动,只需要将具体的设备包含struct device结构,具体的驱动包含struct device_drive...转载 2020-04-01 22:40:48 · 299 阅读 · 0 评论