- 博客(22)
- 资源 (1)
- 收藏
- 关注

原创 debug: 反汇编debug流程(kernel、smaps、addr2line)
问题背景:查一个概率性出现的问题,与运行环境有关且无法coredump和attach,最后请教大神解决了。解决过程颇有演绎推理的感觉,遂记录于此。详细可见 https://blog.youkuaiyun.com/l316194152/article/details/108563637简要描述:一、修改系统内核,在出错处截获信号进入循环。二、复现问题,获取指针地址A和进程号B。三、根据B进程的smaps内存映射表,由A所在地址区间得到出错的库,记录库的起始地址C。四、A-C=D,再对库进行反汇编,得到偏移量D
2020-09-13 17:00:48
906
1
原创 RTOS系统 音频player对比分析
公司乐鑫MTK炬芯全志平台ESP32LinkIt/mt2523ATS3503_WIFIXR871许可证MIT License需要MTK许可Apache License 2必须保留版权信息工程地址https://github.com/espressif/esp-adf淘宝淘宝淘宝player主文件(个人理解)https://github.com/espressif/esp-adf/tree/3305749c93763b7a83d030e7f...
2021-09-11 17:59:02
1956
原创 Linux 音频player对比
条件:linux下,主要由C语言编写,且开源的音乐播放器。名称RhythmboxDeaDBeefPragha简介Ubuntu的默认播放器类unix系统下的终极播放器适用于GNU / Linux的轻量级音乐播放器项目大小Ubuntu的默认播放器类unix系统下的终极播放器适用于GNU / Linux的轻量级音乐播放器简介Ubuntu的默认播放器类unix系统下的终极播放器适用于GNU / Linux的轻量级音乐播放器简介Ubuntu的默认播放器
2021-09-11 17:44:23
1260
翻译 ONVIF-Core event [10][Notification example]
9.10 Notification example以下示例是通知的完整通信模式。 它使用实时Pull-Point通知界面来接收通知。9.10.1 GetEventPropertiesRequest<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelopexmlns:SOAP-ENV=“http://www.w3.org/2003/05/soap-envelope”xmlns:wsa=“http://www.w3.org/20
2021-05-22 15:57:00
701
翻译 ONVIF-Core event [9][SOAP Fault Messages]
9.9 SOAP Fault Messages如果设备在处理来自客户端或订阅管理器的[WS-BaseNotification]消息时遇到故障,则该设备应生成SOAP 1.2故障消息。所有SOAP 1.2故障消息均应根据[WS-BaseNotification]和[WS Topics]规范生成,只有一个例外; 所有故障均应将以下URI用于WS寻址[操作]消息寻址属性:http://www.w3.org/2005/08/addressing/soap/fault此外,该错误应作为SOAP接收器(rece
2021-05-22 15:55:39
365
翻译 ONVIF-Core event [8][Capabilities]
9.8 Capabilities功能反映了服务的可选功能。该信息是静态的,在设备运行期间不会更改。可以使用以下功能:WSSubscriptionPolicySupport:根据第9.3.2节指示设备是否支持WS订阅策略WSPullPointSupport:根据第9.3.2节指示设备是否支持WS Pull PointWSPausableSubscriptionManagerInterfaceSupport:根据第9.3.2节指示设备是否支持WS Pausable Subscription Man
2021-05-22 15:55:08
252
翻译 ONVIF-Core event [7][Get event properties]
9.7 Get event propertiesWS-BaseNotification]规范定义了一组可选的WS-ResouceProperties。 该规范不需要实现WS-ResourceProperty接口。 相反,后续的直接接口应由符合ONVIF的设备实现,以便提供有关该设备支持的FilterDialect,Schema文件和Topic的信息。兼容ONVIF的设备应响应并声明其TopicSet是否固定,提供了哪些主题以及支持了哪些Dialects。对于兼容ONVIF的设备,以下TopicExp
2021-05-22 15:54:29
435
翻译 ONVIF-Core event [6][Topic Structure]
9.6 Topic Structure该标准扩展了[WS-Topics]规范中定义的Topic框架。第9.6.1节介绍了ONVIF主题命名空间。第9.6.2节将9.4.3节中定义的消息描述语言合并到TopicSet结构中,此外,第9.7节定义了一个允许客户端获取此信息的接口。设备支持的主题表达方言(Dialects)在第9.6.3节中定义。具体事件定义在服务规范(service specifications)的“事件”部分中指定。9.6.1 ONVIF Topic Namespace[WS-Top
2021-05-22 15:53:37
631
翻译 ONVIF-Core Event [5][Synchronization Point]
9.5 Synchronization Point请注意,第9.1.5节为支持持久性通知存储的设备定义了规则,这些规则将覆盖本节中定义的行为。第9.2节介绍的属性以统一的方式通知客户端有关属性的创建,更改和删除。 当客户端希望将其属性与设备的属性同步时,它可以请求一个同步点,该同步点重复客户端已订阅的所有属性的当前状态。 所有产生的通知的PropertyOperation都设置为“已初始化(Initialized)”(请参见9.4节)。 直接从SubscriptionManager请求同步点,该同步点在
2021-05-22 15:48:16
679
翻译 ONVIF-Core event [4][Event Notifications]
9.4 Event Notifications通知会回答以下问题:• 什么时候发生的?• 谁产生了此事件?• 发生了什么?通过在NotificationMessage的Message元素中添加时间属性来回答“何时”问题。符合ONVIF的设备应包括Message元素的时间属性。“谁”问题分为两个部分。 一部分是WS-Endpoint,它标识已生成通知的设备或设备中的服务。 因此,应在NotificationMessage的ProducerReference元素内指定WS-Endpoint。 第二部
2021-05-22 15:44:58
733
翻译 ONVIF-Core event [3][Basic Notification Interface]
9.3 Basic Notification InterfaceSection 9.3.1 briefly introduces the Basic Notification Interface of the [WS-BaseNotification] specification. Section 9.3.2 summarizes the mandatory and the optional interfaces of the [WS BaseNotification] specification. Pl
2021-05-18 20:03:36
432
翻译 ONVIF-Core Event [2][Notification Streaming Interface]
9.2 Notification Streaming Interface本部分定义了通过RTP流数据包传输事件。 有关配置的详细信息,请参阅ONVIF媒体服务规范的“元数据(Metadata)配置”部分。如果设备支持通过RTP流数据包传输事件,则以下要求适用:•事件必须按照[WS BaseNotification]中的定义编码为wsnt:NotificationMessage,以传输消息有效载荷(Message Payload),主题(Topic)和ProducerReference。•wsnt:N
2021-05-18 20:01:35
216
翻译 ONVIF-Core Event [1][Real-time Pull-Point Notification Interface]
9 Event handling事件是客户端可以订阅的设备检测到的操作或事件。事件通过事件服务进行处理。该规范基于[WS-BaseNotification]和[WS-Topics]规范定义事件处理。它扩展了事件概念,以允许客户端通过事件跟踪对象属性(例如,数字输入和运动报警属性)。属性在9.4.2节中定义。9.4节讨论了事件有效负载(payload)及其在订阅中的过滤(filtering)的描述。 第9.5节描述了客户端如何使用三个通知接口之一来请求同步点。 第9.6节描述了主题(Topics)的集成,
2021-05-18 19:59:24
1196
原创 kernel/sound 文件结构分析
总结:主要看soc和core即可PCM DMA相关,以及注册部分。kernel/sound/soc/soc-generic-dmaengine-pcm.ckernel/sound/core/pcm_dmaengine.ckernel/sound/core/pcm_lib.c可在kernel/sound/soc中参考其他厂商的代码。以下为从每个子文件夹的Kconfig以及百度里找的描述。ac97。实际上是一个规范,以Intel为首、联合多家在声音处理方面非常著名的厂商共同研究制定的一个适用于计
2021-05-18 19:53:34
827
原创 imx_pwm_audio分析
imx_pwm_audio分析 该代码声称大部分是从i.MX6 PWM驱动(drivers/pwm/pwm-imx.c)改编的,但实际上pwm-imx.c并没有使用DMA。 更新于2018年3月21日,针对kernel版本为L3.14.28。文章目录imx_pwm_audio分析引入头文件模块参数分配次设备号SDMA脚本部分PWM相关寄存器设置。IMX PWM特定的音频数据结构体DMAload_sdma_scriptload_script_contextpwm_audio_set_sample_b
2021-05-18 19:43:16
503
原创 PCM的create和open过程及核心层数据结构[kernel 4.19]
PCM创建和open过程及核心层数据结构[kernel 4.19]文章目录PCM创建和open过程及核心层数据结构[kernel 4.19]4.19 核心层数据结构snd_cardsnd_devicesnd_pcmsnd_pcm_strsnd_pcm_substream4.19 pcm创建过程**soc_probe** [soc-core.c]snd_soc_register_cardsnd_soc_instantiate_cardsnd_card_register [init.c]snd_device_
2021-05-18 19:39:05
508
原创 linux音频pcm buffer的管理和DMA
linux音频pcm buffer的管理和DMA文章目录linux音频pcm buffer的管理和DMAbuffer管理snd_pcm_update_hw_ptr0__snd_pcm_lib_xfer [pcm\_lib.c] 【重点】DMA映射DMA管理外设的dma-buf操作函数kernel 4.19 DMAdma_cookie_tstruct data_chunkdma_async_tx_descriptor 异步传输描述符dma_request_chan[dmaengine.c]of_dma_
2021-05-18 19:32:41
2664
原创 kernel 4.19音频框架超详细分析(ALSA数据流程、控制流程、驱动层)
4.19音频框架文章目录4.19音频框架内核音频大致框架数据流程应用层[aplay.c]调用snd_pcm_open [alsa-lib pcm.c].writei = snd_pcm_hw_writeimain函数判断是否交错以playback为例以playback_raw为例调用playback_go具体应用层的数据处理,暂且略过。后续有空再分析调用pcm_write调用writei_funcALSA Library API调用snd_pcm_writei [alsa-lib pcm.c]调用_snd
2021-05-15 16:36:30
12678
9
原创 debug: 使用gdb分析nginx+fcgi后端框架
问题背景:在linux上使用了nginx+fcgi的后端框架,cgi会偶发性地产生段错误Segfault Fault,想用gdb来定位出错原因。1、尝试使用gdb coredump但是cgi出现问题时,一直无法产生coredump,做了如下几个尝试:ulimit -c unlimited # 使能coredump生成sysctl -w fs.suid_dumpable=1 # 使能非root进程的coredump生成?因为此处我用的是www-data权限,非root。保证进程对存放 core
2020-09-13 16:37:27
490
原创 获取bmp图片宽高的最简代码(C)
写web后端的时候,有个需求是判断用户上传的bmp图片宽高,不能超出限制。找了一堆代码,发现虽然功能很全,信息都有解析出来,但是略复杂了,于是仔细研究了下bmp图片格式,做了简化。先直接上代码, 就8行,应该算是目前最简的了。如果有其他更简略的,欢迎交流 #include <fstream> // get bmp picture width and height and skip other header information FILE *picture_file = fope
2020-09-13 16:01:21
2509
翻译 matplotlib.pyplot.psd函数学习及例程
matplotlib.pyplot.psd(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, return_line=None, *, data=None, **kwargs)Plot the power sp...
2019-04-15 21:48:20
10227
1
翻译 matplotlib.pyplot.specgram函数学习
这个函数似乎可以直接用来画频谱图,而无需对数据先进行傅里叶变换,而是输入原始数据即可。先部分机翻,有时间再细翻matplotlib.pyplot.specgram(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, cmap=None, xextent=None, pad_to=None, sides...
2019-04-10 11:23:42
10727
ONVIF-Core-Specification.pdf
2020-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人