- 博客(6)
- 收藏
- 关注
转载 转载: Cache的相关知识
1. cache背景知识为什么的CPU内部需要cache单元? 主要的原因是CPU的速度和内存的速度之间严重不匹配,Cpu处理速度极快,而访问内存慢,cache在这个背景下就诞生了。设计人员通过在CPU和内存之间建立一个缓冲区,提高访问的速度。 建立cache的好处在于:假设CPU和内存之间没有cache,那么CPU每次访问内存,都要从访问速度较慢的内存中读取,这无疑是很浪费cpu的性能的;但是如果在CPU和内存之间设立一个高速的cache,虽然第一次读,都要从内存中读取,但是第一次读完成之后
2023-04-24 10:55:09
1000
原创 Linux内核限制对应PID/VID usb audio 驱动的加载
在项目中遇到多个usb audio驱动加载的情况,但是只需要使用其中的我想要的那个usb audio设备,一开始想在安卓上做选择,但是因为都是同类型usb audio设备,安卓上没看到有对同类型usb audio设备做出区分,后面便在内核上看看。usb audio的加载在sound/usb/card.c文件下实现的,里面实现了声卡的创建,加载、释放等一系列内容,其中可以关注usb_audio_probe函数,这里便可以达到限制usb audio设备加载的目的。static int usb_audio_p
2020-08-08 15:38:36
1053
原创 Linux UAC2 功能的设备描述符
可能内核有所更新,描述符有些细节会不一样,但总体不会有太多区别,放在这里方便查询UAC2 descriptorDevice Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDevice
2020-06-24 14:47:26
2066
原创 GPIO 驱动程序编写(摘自正点原子)
该程序参照正点原子的led灯驱动例程编写的rockchip的gpio控制1 修改设备树文件1.添加 pinctrl 节点这里是使用 gpio0 PB0 这个GPIO 口,在相应 dtsi 的 pinctrl 子节点下创建一个名为 “ micctrl ”的子节点,节点内容如下所示:micctrl { mic_ctrl: mic-ctrl { rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_none>; };};这里将
2020-05-13 18:16:07
1767
1
原创 pinctrl和gpio子系统学习(摘自正点原子)
1 pinctrl 子系统1.1 pinctrl 子系统简介Linux驱动讲究驱动分离与分层,pinctrl 和 gpio子系统就是驱动分离与分层思想下的产物,驱动分离与分层其实就是按照面向对象编程的设计思想而设计的设备驱动框架。大多数的 soc 的 pin 都是支持复用的,某一个pin 引脚既可以作为普通的gpio,也可以作为某个功能引脚,我们需要配置 pin 的电器特性, 比如上/下拉、速度、驱动能力等。传统的配置 pin 的方式就是直接操作相应的寄存器,但是这种配置方式比较繁琐,而且容易出问题(
2020-05-13 15:16:36
3832
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人