![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
artemiseven
Android 音频系统
展开
-
Uboot
1, 解压uboottar xjf u-boot-1.1.6.tar.bz22, 打补丁, -p1 表示乎略掉patch中的第一个目录,因为当前已经进到该目录了.patch -p1 < u-boot-1.1.6_jz2440.patch在patch中–表示原始文件,++表示修改后文件.3, 配置make 100ask24x0_config4, 编译make如...原创 2019-03-05 10:50:38 · 127 阅读 · 0 评论 -
RK3399 I2C 外设接入
I2C 探测参考rk3399 自带了i2c的探测功能. 需要我们将其打开. 当i2c外设接入后可以先用i2c_detect来探测设备是否成功被识别.打开I2C_detect修改configrk3399/source/kernel/arch/arm64/configs添加:修改kconfig文件rk3399/source/kernel/drivers/i2c/busses/Kco...原创 2019-06-14 18:35:39 · 2418 阅读 · 0 评论 -
Android Usb源码分析
android上usb设备接入,拔出, 读写操作过程分析a. usb设备插入,如何组成usbdevice. 存放在UsbManager.devicesList.usb设备插入后host端如何获取该设备信息呢?分析:当usb设备接入时, 会有硬件产生中断. 收到中断后host端会由总线驱动程序根据usb协议, 对端口0地址发送一个请求包给usb设备.设备收到请求后会将自己的设备描述符信...原创 2019-04-16 18:23:23 · 2111 阅读 · 0 评论 -
linux wreshark usb 抓包
过滤制定设备数据将usb设备插入主机,可以看到在当前bus上有很多设备的数据,我们需要将指定usb设备过滤出来。每一个usb设备插入时,host端都会先发一个获取设备描述的指令。usb设备收到该指令后会返回一个自身信息的包给到host。我们可以根据收到返回数据信息中找到指定设备,然后根据编号设置过滤条件。usb.src == “1.16.0” || usb.dst==“1.16.0...原创 2019-04-03 16:46:45 · 463 阅读 · 0 评论 -
静态库和动态库
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。在创建函数库前,我们先来准备举例用的源程序,并将函数库的源程...原创 2019-03-06 10:56:58 · 125 阅读 · 0 评论 -
.config、Kconfig、Makefile
参考-menuconfig过程参考-区别关系描述Kconfig —> (每个源码目录下)提供选项.config —> (源码顶层目录下)保存选择结果Makefile —> (每个源码目录下)根据.config中的内容来告知编译系统如何编译在Linux内核源码的各层目录下。都存在一个Kconfig文件和一个Makefile文件,.config文件存在顶层目录...原创 2019-03-06 10:56:32 · 279 阅读 · 0 评论 -
ALSA音频驱动概述
文章出处官网介绍概述ALSA(Advanced Linux Sound Architecture)是linux上主流的音频结构,在没有出现ALSA架构之前,一直使用的是OSS(Open Sound System)音频架构。关于OSS的退出以及ALSA的出现,可以看 Linux音频驱动-OSS和ALSA声音系统简介及其比较。关于OSS和ALSA音频架构之间的区别图如下:主要的区别就是在O...原创 2019-02-27 09:37:53 · 402 阅读 · 0 评论 -
Linux常用操作
查找问题中字符串出现次数cat file|grep -i 字符串 |wc -llubuntu 回复默认任务栏google 搜索 : lubuntu lxpanel default参考cp /usr/share/lxpanel/profile/Lubuntu/panels/panel ~/.config/lxpanel/Lubuntu/panelslxpanelctl restart...原创 2019-02-27 09:36:39 · 787 阅读 · 0 评论 -
Input sub system
drivers/input/input.c: input_init > err = register_chrdev(INPUT_MAJOR, "input", &input_fops); static const struct file_operations input_fops = { .owner = THIS_MODULE, .open = input_open_fi...原创 2019-03-06 10:55:52 · 155 阅读 · 0 评论 -
USB Driver
USB Driver基于linux的usb驱动及libusb的常用接口usb的硬件设计usb协议Linux usb驱动libusb的使用基于linux的usb驱动及libusb的常用接口基于linux的usb驱动分析和host端基于libusb的接口实现usb的读写.usb的硬件设计USB的硬件设计简单介绍usb协议USB的概念和协议等.问1. 既然还没有&amp;amp;amp;amp;quot;驱动程序&amp;amp;amp;amp;quot;,为何能知道原创 2019-03-06 10:51:15 · 1757 阅读 · 0 评论 -
终极内存技术指南
作为电脑中必不可少的三大件之一(其余的两个是主板与CPU),内存是决定系统性能的关键设备之一,它就像一个临时的仓库,负责数据的中转、暂存……不过,虽然内存对系统性能的至关重要,但长期以来,DIYer并不重视内存,只是将它看作是一种买主板和CPU时顺带买的“附件”,那时最多也就注意一下 内存的速度。这种现象截止于1998年440BX主板上市后,PC66/100的内存标准开始进入普通DIYer的视野...转载 2019-03-05 10:56:19 · 167 阅读 · 0 评论 -
Android Serial Tools
如果在android应用层想要使用serial, 有两种方式:app调用jni接口, 访问对应的设备节点. (java->jni->Serial)app访问系统服务, 通过服务调用jni接口访问串口设备.(java->service->jni->hal->serial驱动)下面我们就针对两种方式进行实现:JNI方式访问系统服务方式1, 系统修改...原创 2019-07-01 19:27:30 · 865 阅读 · 0 评论