自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(123)
  • 收藏
  • 关注

转载 Linux的uevent事件机制

转自:https://blog.csdn.net/qq_30624591/article/details/92439991uevent事件机制Linux设计了一种uevent的机制。当有新的设备加入的时候,将设备的信息发送消息到用户态。而用户态有一个udev的进程监听这个信息。当收到信息后做一定的解析,根据解析到的结果和用户程序的配置做一些处理,也包括加载驱动程序。内核部分,Ueven...

2019-09-04 11:28:30 1678

转载 Linux kernel -- Uevent发送(热插拔)事件到用户空间

转自:https://blog.csdn.net/u012066426/article/details/51917369Uevent是一种在内核空间和用户空间之间通信的机制,主要用于热插拔事件(hotplug)。uevent事件根据include/linux/kobject.h中的定义,kobject对应的动作可分为以下几种:enum kobject_action { K...

2019-09-04 11:26:07 1384

转载 Linux--内核Uevent事件机制 与 Input子系统【转】

转自:https://www.cnblogs.com/sky-heaven/p/6394267.html阅读目录Uevent在kernel中的位置 Uevent的内部逻辑解析转自:http://blog.csdn.net/lxl584685501/article/details/46379453[-]一Uevent机制 Uevent在kernel中的位置 U...

2019-09-04 10:44:45 571

转载 linux中pthread_join()与pthread_detach()详解

转自:https://blog.csdn.net/weibo1230123/article/details/814102411.linux线程执行和windows不同,pthread有两种状态joinable状态和unjoinable状态,如果线程是joinable状态,当线程函数自己返回退出时或pthread_exit时都不会释放线程所占用堆栈和线程描述符(总计8K多)。只有当你调用了p...

2019-09-03 10:01:21 181

转载 Linux中link,unlink,close,fclose详解

每一个文件,都可以通过一个struct stat的结构体来获得文件信息,其中一个成员st_nlink代表文件的链接数。 当通过shell的touch命令或者在程序中open一个带有O_CREAT的不存在的文件时,文件的链接数为1。 通常open一个已存在的文件不会影响文件的链接数。open的作用只是使调用进程与文件之间建立一种访问关系,即open之后返回fd,调用进程可...

2019-08-30 17:33:35 269

转载 命名管道(有名管道)的使用-例程序

转自https://blog.csdn.net/cxyzyywoaini/article/details/87464220命名管道的读取端 Fifo_read.c#include<sys/types.h>#include<sys/stat.h>#include<errno.h>#include<fcntl.h>#incl...

2019-08-30 14:46:14 716

转载 linux 内核态调试函数BUG_ON()[转]

转自https://www.cnblogs.com/woshare/p/5770905.html一些内核调用可以用来方便标记bug,提供断言并输出信息。最常用的两个是BUG()和BUG_ON()。 当被调用的时候,它们会引发oops,导致栈的回溯和错误信息的打印。为什么这些声明会导致 oops跟硬件的体系结构 是相关的。大部分体系结构把BUG()和BUG_ON()定义...

2019-08-28 15:50:11 535

转载 Linux 内存映射函数 mmap()函数详解

转自https://blog.csdn.net/yangle4695/article/details/52139585mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。mmap在用户空间映射调用系统中作用很大。头文件 <sys/mman.h>函数原型void* mmap(void* star...

2019-07-20 15:03:12 177

转载 RS232电平和TTL电平

转自https://mp.csdn.net/postedit结论:TTL电平和RS232电平,无论是在电压范围还是在极性上(RS232是负逻辑)都有很大的不同。显然,这两种电平是不能直接相连的。为了把单片机的TTL电平转换成RS232电平,通常我们需要一个专用的转换芯片,比如SP3232。RS232是工业上常用的串口标准,无论是PLC的RS232串口模块,还是工控机的串口(COM),输出...

2019-07-17 11:25:54 710

转载 linux内核Kmalloc - GFP_ATOMIC - GFP_KERNEL - GFP_USER

转自http://blog.csdn.net/daydring/article/details/36670007#include <linux/slab.h> void *kmalloc(size_t size, int flags);给 kmalloc 的第一个参数是要分配的块的大小. 第 2 个参数, 分配标志, 非常有趣, 因为它以几个方式控制 kmalloc 的行为...

2019-07-17 09:42:38 1066

转载 Android7.0 Watchdog机制

转自https://blog.csdn.net/fu_kevin0606/article/details/64479489 对手机系统而言,因为肩负着接听电话和接收短信的“重任”,所以被寄予7x24小 时正常工作的希望。但是作为一个在嵌入式设备上运行的操作系统,Android运行中必须面对各种软硬件干扰,从最简单的代码出现死锁或者被阻塞,到内存越界导致的内存破坏,或者由于硬件问题...

2019-07-16 15:24:58 309

转载 Linux Watchdog 机制

转自https://blog.csdn.net/whatday/article/details/88016972Watchdog 是 Linux 系统一个很重要的机制,其目的是监测系统运行的情况,一旦出现锁死,死机的情况,能及时重启机器(取决于设置策略),并收集crash dump.watchdog,顾名思义,看门狗。这就说明,有一个被watch的对象,和一个watch它的程序。...

2019-07-16 15:17:34 1324

转载 深入 kernel panic 流程

转自 https://blog.csdn.net/forever_2015/article/details/53235716一、前言我们在项目开发过程中,很多时候会出现由于某种原因经常会导致手机系统死机重启的情况(重启分Android重启跟kernel重启,而我们这里只讨论kernel重启也就是kernel panic的情况),死机重启基本算是影响最严重的系统问题了,有稳定复现...

2019-07-09 14:04:06 1539

转载 Linux的管道

转自 https://blog.csdn.net/qq_38410730/article/details/81569852管道是Linux由Unix那里继承过来的进程间的通信机制,它是Unix早期的一个重要通信机制。其思想是,在内存中创建一个共享文件,从而使通信双方利用这个共享文件来传递信息。由于这种方式具有单向传递数据的特点,所以这个作为传递消息的共享文件就叫做“管道”。在管道的具体实现...

2019-07-09 13:50:20 118

转载 C++ 常用设计模式

转自https://www.cnblogs.com/chengjundu/p/8473564.html1、工厂模式在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式作为一种创建模式,一般在创建复杂对象时,考虑使用;在创建简单对象时,建议直接new完成一个实例对象的创建。1.1、简单工厂模式主要特点是需要在工厂类...

2019-07-03 09:54:35 578

转载 1. jack-server报错

一、服务器上的jack编译报错,修改ok,已验证Communication error with Jack server (60), try 'jack-diagnose' or see Jack server logFailed to authenticate Jack server certificate. Try 'jack-diagnose'Failed to authentica...

2019-07-01 19:29:59 673

原创 linux rtc与时钟

最近遇到一个问题:机器深度休眠后唤醒,发现唤醒后系统时间与pc实际时间相比变慢,休眠时间越长,系统时间与实际时间偏差越大。一、问题分析 linux时间有2种,rtc时钟与系统时钟。Rtc时钟是不断电的,一般由纽扣(锂)电池供电,关机后也处于供电状态。在开机时,会取rtc时间赋值给系统时间,之后系统时间独立运作。休眠时,会把系统时间与rtc时间的差值给保存起来,然...

2019-06-14 16:36:28 4681 2

转载 Linux命令详解-hwclock

hwclock命令可以用来显示/设置硬件时钟命令。在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中 的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。1.命令格式:hwclock[参数]... [+格式]...

2019-06-14 13:55:00 2671

转载 android GPS

转自https://blog.csdn.net/liwei405499/article/details/42642553关于android定位方式android 定位一般有四种方法,这四种方式分别是GPS定位、WIFI定位、基站定位、AGPS定位。1、 Android GPS需要GPS硬件支持直接和卫星交互来获取当前经纬度,这种方式需要手机支持GPS模块现在大部分的智能机应...

2019-04-09 10:06:00 4169

转载 Android系统设置默认值修改

转自https://blog.csdn.net/u014304560/article/details/80608742?utm_source=blogxgwz31,是否有默认值在寻找一个开关的默认值时,首先要明白一点,该开关是否存在默认值,以及该开关状态是否有状态保存(一般状态存储在settings的db中)。 判断条件: 在reboot(重启)之后开关状态仍旧保存或者是在rese...

2019-03-17 11:49:10 2370 1

原创 定时器timer回调函数mutex锁所导致的问题

最近一个项目,做机器重启测试时,连续测试一段时间后会概率出现进入开机界面死机问题。抓到一个死机log,确定是自己写的一个驱动部份引起。大概是在定时器timer回调处理函数里面。代码如下:static struct timer_list set_sp_work_timer;static int set_sp_gpio_val;static void timer_func(unsig...

2019-02-26 10:28:48 2334

转载 linux句柄泄露问题查看

转自 https://blog.csdn.net/daofengliu/article/details/38171953  背景:我们在开发linux在线服务器的时候经常会遇会句柄泄露的问题。因为在linux系统设计里面遵循一切都是文件的原则,即磁盘文件、目录、网络套接字、磁盘、管道等,所有这些都是文件,在我们进行打开的时候会返回一个fd,即是文件句柄。如果频繁的打开文件,或者打开网络套...

2019-02-26 10:18:58 1620

转载 Linux asoc codec驱动调试小结

转自 https://blog.csdn.net/songche123/article/details/84144014  本篇记录下自己在调试codec驱动时的经验及注意事项,这里主要是放音playback调试需要什么:标准的linux codec驱动,如何编写驱动以后有时间再写一篇吧原理图,需要查看对应的引脚,I2S的clck和data脚以及是否有reset pin脚和pd...

2019-02-24 11:30:52 477

转载 Android dumpsys命令详细使用

转自 https://www.cnblogs.com/JianXu/p/5376642.html 一、dumpsys命令介绍1.命令说明Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息命令格式: adb shell dumpsys [system serbices]2.系统服务查询如果直接运行adb shell dumpsys,将会获得所有的系统服...

2019-02-21 10:26:05 713

转载 dumpsys alarm 格式解读

转自     https://blog.csdn.net/ljchlx/article/details/51736109      在安卓adb root进如命令行后(没有root或者root群组的权限执行不了该命令),会吐出一串东西,大家可自行测试。一直不明白,这些格式是什么意思,今天搜索一下,stackvoerflow中找到了一个比较牛的答案,原文地址:      http:/...

2019-02-21 10:23:52 446

转载 PDM麦克风

转自https://blog.csdn.net/wzz4420381/article/details/51477725 简介PDM代表脉冲密度调制。然而,更好的简称是“1比特过采样音频”,因为它只不过是一个高采样率、单比特的数字系统。如果要找一个优点的话,那就是采样率是音频CD的好几倍,且用一个适当的方式将字长从16bit减小到1bit,这将作为一个PDM系统的基础。 大多数现代的数...

2019-02-19 16:48:40 11134

转载 TDM格式和PDM数据连接

转自 https://blog.csdn.net/baiyibin0530/article/details/79549749       有些IC支持使用一个公共时钟的多路I2S数据输入或输出,但这样的方法显然会增加数据传输所需要的管脚数量。当同一个数据线上传输两个以上通道的数据时,就要使用TDM格式。TDM数据流可以承载多达16通道的数据,并有一个类似于I2S的数据/时钟结构。  每...

2019-02-19 14:20:22 1239

转载 linux内核如何打开pr_debug调试信息

转自:https://linux.cn/thread-13309-1-1.html #define DEBUG 1或者在当前代码的makefile中添加EXTRA_CFLAGS += -DDEBUG

2018-12-15 10:43:04 1524

转载 Android 耳机插拔流程源码跟踪浅析

转自 https://www.jianshu.com/p/d82a8dabb3e7 Android 开发过程中,使用耳机控制拍照,控制音乐播放,控制打电话等,线控再到蓝牙控... 耳机也在不断升级,耳机插拔的程序这一块也在不断完善。因此,在定制开发过程中,阅读这部分流程代码是必修的功课了,至少首先的要搞清楚程序走的线路流程。下面结合我在实际工作过程中遇到的bug,需求定制等做个简单的总结。...

2018-12-13 08:51:49 905

转载 设备树中中断节点的创建

转载 :  http://blog.csdn.net/zqixiao_09/article/details/50916212 题目: Exynos4412 中断驱动开发(三)—— 设备树中中断节点的创建提到中断就必须了解到GIC,下面先了解一下GIC一、GIC概念        GIC(Generic Interrupt Controller)是ARM公司提供的一个通用的中断控...

2018-12-12 17:18:34 1542 2

转载 音频处理入门笔记

转自 https://blog.csdn.net/imyfriend/article/details/9330043 ES: Echo Suppresion EES: Enhanced Echo SuppresionAEC: Acoustic Echo Cancellation 声学回声消除。在一般的VOIP软件或视频会议系统中,假设我们只有A和B两个人在通话,首先,A的声音传给B...

2018-12-12 15:57:35 393

转载 耳机jack构造及在应用时可能出现的问题

转自 https://www.cnblogs.com/Peter-Chen/p/3999212.html   目前市场上耳机分为4环耳机(图1所示,iphone型)和3环耳机(图2所示)。4环耳机称为headset,3环耳机称为headphone,两者之间的区别就是4环耳机比3环耳机多个micphone。而Jack其实就是PC、PAD &amp; Phone等设备上的耳机插口。    ...

2018-12-12 15:33:36 1584

转载 android优化启动时间

转自:https://source.android.com/devices/tech/perf/boot-times 本文档提供了有关改进特定 Android 设备的启动时间的合作伙伴指南。启动时间是系统性能的重要组成部分,因为用户必须等待启动完成后才能使用设备。对于较常进行冷启动的汽车等设备而言,较短的启动时间至关重要(没有人喜欢在等待几十秒后才能输入导航目的地)。Android 8...

2018-12-11 18:57:29 1335

转载 workqueue --最清晰的讲解

转自 https://www.cnblogs.com/zxc2man/p/6604290.html 带你入门:1.INIT_WORK(struct work_struct *work, void (*function)(void *), void *data) 上面一句只是定义了work和work对应的操作。  要是在实际使用的时候还是需要你去在适当的条件下激活这个work。只有激活了...

2018-12-07 14:13:54 679 1

转载 GPIO接口解析

转自 https://blog.csdn.net/qq_29350001/article/details/50543013?utm_source=blogxgwz7 本文提供了一个linux下访问GPIO的约定的概述。这些调用使用gpio_* 命名前缀。没有别的调用会使用这个前缀或是相关的__gpio_*前缀。 什么是GPIO?===============GPIO--...

2018-12-07 14:10:21 4215

转载 linux驱动中如何获知当前时间

内核代码能一直获取一个当前时间的表示, 通过查看 jifies 的值. 常常地, 这个值只代表从最后一次启动以来的时间, 这个事实对驱动来说无关, 因为它的生命周期受限于系统的 uptime. 如所示, 驱动可以使用 jiffies 的当前值来计算事件之间的时间间隔(例如, 在输入驱动中从单击中区分双击或者计算超时). 简单地讲, 查看 jiffies 几乎一直是足够的, 当你需要测量时间间隔. ...

2018-12-07 14:04:31 1756

转载 Linux电源管理(6)_Generic PM之Suspend功能

转自 http://www.wowotech.net/linux_kenrel/suspend_and_resume.html 1. 前言Linux内核提供了三种Suspend: Freeze、Standby和STR(Suspend to RAM),在用户空间向”/sys/power/state”文件分别写入”freeze”、”standby”和”mem”,即可触发它们。内核中,S...

2018-11-30 09:58:10 1779

转载 Linux内核:关于中断你需要知道的

转自 http://blog.csdn.net/duqi_2009/article/details/38009717 1、中断处理程序与其他内核函数真正的区别在于,中断处理程序是被内核调用来相应中断的,而它们运行于中断上下文(原子上下文)中,在该上下文中执行的代码不可阻塞。中断就是由硬件打断操作系统。2、异常与中断不同,它在产生时必须考虑与处理器时钟同步。异常被称为同步中断,例如:除0...

2018-11-30 09:51:04 276

转载 android/linux调试经验

转自 https://blog.csdn.net/kevinx_xu/article/details/8480585 积攒了一些关于调试Android和Linux下面的suspend 和 resume的经验, 在这里和大家分享一下。希望可以有些帮助, (下面没有写Android专用的, 就是Linux通用的)。1. no_console_suspend在kernel启动参数里面...

2018-11-30 09:21:05 368

转载 adb启动程序命令:adb shell am start

转自 https://blog.csdn.net/u011006622/article/details/78480520 在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am.启动的方法为adb shell      # am start -n {包(package)名}/{包名}.{活动(activity)名称}第一种情况: 从源代码...

2018-11-24 14:20:02 3629

空空如也

空空如也

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

TA关注的人

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