- 博客(126)
- 资源 (16)
- 收藏
- 关注
翻译 MIPI Specification for D-PHY v3.5(五) 第八章 互连和通道配置
频率‘fh’是工作数据速率的基本频率,例如,对于1 Gb/s的工作数据速率,‘fh’为500 MHz。频率‘fhMAX’是设备规范,表示特定设备支持的最大fh。频率‘fLP,MAX’是低功耗模式的最大切换频率。RF干扰频率表示为‘fINT’,其中fINT,MIN定义了相关RF干扰频段的下限。对于支持数据速率高达1.5 Gbps的设备,fMAX由(1/5tF,MIN, 1/5tR,MIN)的最大值定义,其中tR和tF是高速信号的上升和下降时间。
2024-12-28 17:47:19
131
翻译 MIPI Specification for D-PHY v3.5(四) 第七章 故障检测
有三种不同的机制来检测链路的故障。总线争用和错误检测功能包含在D-PHY中,这些功能应能检测许多典型故障。然而,有些故障无法在D-PHY内部检测,需要协议层的解决方案。因此,第三种检测机制是一组特定应用的看门狗定时器。
2024-12-28 16:39:08
86
翻译 MIPI Specification for D-PHY v3.5(三) 全局操作
本文主要直译了MIPI D-PHY的规范,基于v3.5的版本。在正文中,译者会添加部分解释,并补充新版本中的差异部分,这部分内容会以引用的形式出现。为了方便对比阅读,章节的顺序和编号,与原文保持一致。各版本差异。
2024-12-28 16:13:31
252
翻译 MIPI Specification for D-PHY v3.5(一) 概览
该规范为移动设备内部组件之间的通信互连提供了灵活、低成本、高速的串行接口解决方案。传统上,这些接口是低比特率的CMOS并行总线,为了较少EMI的影响,边缘比较平缓。D-PHY解决方案,可以显著扩展更高级的应用程序接口的带宽。D-PHY解决方案可以实现非常低的功耗。为了在不同的场景实现不同级别的功耗,有D-PHY可以有多种运行模式。常用的是HS高速模式 HIGH SPEED和 LP低功耗 Low-Power。HS是高速模式,需要正式传输数据的时候就进入HS。
2024-11-28 15:29:54
446
1
原创 buildroot添加HOST端工具
以zlog为例,假设我们需要在host添加编译一个zlog库。首先,在package/zlog/下面新增一个Config.in.host文件,对应命名都比Config.in多一个host字段:diff --git a/package/zlog/Config.in.host b/package/zlog/Config.in.hostnew file mode 100644index 00000000..0191c92f--- /dev/null+++ b/package/zlog/Config
2022-05-13 16:25:27
1031
原创 error processing package libapache2-mod-php7.2
安装libpciaccess报错:Setting up php7.2-cli (7.2.24-0ubuntu0.18.04.11) ...dpkg: error processing package php7.2-cli (--configure): installed php7.2-cli package post-installation script subprocess returned error exit status 10No apport report written becaus
2022-05-05 15:05:58
868
原创 buildroot添加本地自定义代码编译步骤
configs/xxx_defconfig添加定义## XXX package#+BR2_PACKAGE_XXX=ypackage/Config.in添加配置menu "XXX package"source "package/xxx/Config.in"新建package/es-dma/添加Config.in和xxx.mkConfig.in:config BR2_PACKAGE_XXXbool "xxx"help xxx help.xxx.mk:#######
2022-03-18 14:34:04
1809
原创 i2cTool交叉编译
https://i2c.wiki.kernel.org/index.php/I2C_ToolsI2C -tools包包含一组用于Linux的I2C工具:总线探测工具、芯片转储器、寄存器级SMBus访问助手、EEPROM解码脚本、EEPROM编程工具和用于SMBus访问的python模块。只要内核中包含I2C支持,就支持所有版本的Linux。这些工具曾经是航天器传感器软件包的一部分,但后来被拆分为一个单独的软件包。下载源码, 解压https://mirrors.edge.kernel.org/pub
2022-03-10 10:26:47
1425
原创 谁是卧底? 科普影子寄存器
寄存器是软件和硬件真正交互的接口. 影子寄存器是常常听到, 但很多人没有正常了解.简单科普一下.大多数寄存器是保存静态的数据, 比如某个屏幕的硬件分辨率,固定是1920x1080的.我们给摄像头的长宽寄存器分别设置为1920和1080.那么这个摄像头输出的图像大小就这么定好了.But, 有时候, 有的数据参数需要在运行时动态地更新, 比如用户用鼠标把窗口缩小成360P了, 这时候需要设置新的分辨率. 但是, 这些数据不能在当前正处理的帧上更新, 只能在某一帧处理结束并且新的一帧尚未开始这样的节点, 从采
2022-01-28 11:53:07
2170
1
原创 一文简述BSD,System V ,POSIX,SUS版本历史, 以及glibc移植的特性测试宏
BSD,System V ,POSIX,SUS 功能测试宏
2022-01-05 16:57:39
3827
原创 warning: implicit declaration of function ‘usleep’
implicit declaration of function ‘usleep’
2022-01-05 11:27:22
2980
2
原创 warning: implicit declaration of function ‘open_memstream’
implicit declaration of function ‘open_memstream’
2022-01-05 11:09:25
1375
2
原创 Gstreamer 内存分配协商机制
在两个衬垫的caps协商完成之后,元件之间需要确认如何分配buffer。本文梳理GStremer内存协商机制,比如当某元件不能自己分配内存时,如何使用其他元件的分配器。
2021-12-23 16:03:13
1802
1
原创 Gstreamer 内存管理
内存分配内存的分配和管理是多媒体中非常重要的课题。高清晰度视频使用许多兆字节来存储一个图像帧。尽可能重用内存,而不是不断地分配和释放内存,这一点很重要。多媒体系统通常使用特殊用途的芯片,如dsp或gpu来执行繁重的工作(尤其是视频)。这些特殊用途的芯片通常对它们操作的内存,和如何访问内存都有严格的要求。本文讨论GStreamer插件可用的内存管理特性。我们将首先讨论管理对内存访问的底层对象GstMemory,然后继续讨论它的一个主要使用者GstBuffer,它用于在插件之间和应用程序之间交换数据。我
2021-12-14 22:19:39
4292
原创 linux内存相关命令汇总
进程调度内存管理查看内存剩余free:e0005055@ibudev20:~$ free total used free shared buff/cache availableMem: 32791720 19499516 935896 2552 12356308 12824920Swap: 2097148 2048 2095100其中,
2021-11-23 19:40:11
6213
1
原创 meson 概述
meson是一个编译系统,类似于 CMake 或者GNU Autotools. meson只是负责配置构建,后台默认是用ninja来编译的(当然也支持其它后台)。ninja是一个小型的致力于编译速度优化的编译系统,相当于make的替代物。所以meson+ninja相当于Cmake+make。meson设计目标是好用,同时保持高性能。它采用了一种自定义语言,号称简单、清晰和简洁性。很多灵感来自于Python编程语言,具有较好的易读性。meson的另一个设计目标,是为现代编程工具提供辅助的支持,包括单元测试
2021-11-21 23:37:45
14545
4
原创 gstreamer编译错误处理记录
1. server certificate verification failede0005055@ibudev20:~/wk/gst_scr$ git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-base.gitCloning into 'gst-plugins-base'...fatal: unable to access 'https://gitlab.freedesktop.org/gstreamer/gst-plugi
2021-10-30 11:35:54
1594
1
原创 automake 交叉编译模板和常用配置说明
一般地,交叉编译常用的配置有以下:export CROSS_COMPILE=$AERO_TOOL_DIR export CC=${CROSS_COMPILE}gcc export CXX=${CROSS_COMPILE}g++ export LD=${CROSS_COMPILE}ld export PREFIX=/usr/local/ export LD_LIBRARY_PATH=$PREFIX/lib export PKG_CONFIG_PATH=$LD_LIBRARY_PATH/pkgco
2021-10-09 15:15:17
993
原创 gstreamer debug tracer使用概览
gstreamr traces提供了延时、内存泄露等配置,可以直接通过环境变量来控制相关信息输出。1. 延时统计延时主要计算元件中,从src到sink的时间。使用 GST_TRACERS="latency(flags=element)"来使能log:GST_TRACERS="latency(flags=element)" GST_DEBUG=GST_TRACER:7 ./filter_test0:00:04.662245924 14152 0x5555750b4120 TRACE
2021-09-26 14:45:49
2530
4
原创 export和source关于shell环境变量的设定
如果我们在终端定义一个变量,这个变量并不会在环境中保留。$ YGC_SON="i'm son"$ env |grep SON如我我们想要保留这个变量,需要使用export:$ export YGC_SON="i'm son"$ env |grep SONYGC_SON=i'm sonexport父进程定义的变量只在父进程有效,在子进程中不能使用。我们分别在父子shell中设定父子变量,看是否能相互应引用:父shell:# cat dad.shYGC_DAD="I'M DAD'"
2021-09-23 18:21:38
913
原创 gstreamer笔记:capabilities negociation 规格协商
caps协商主要通过问询和事件机制来实现.定义的衬垫都由自己可以处理的数据类型,规定了当前元素的功能和支持的参数,比如常见的音视频格式、比特率等。在元素连接的过程中,相邻的元素需要协商彼此可以衔接的数据格式,以便将对应的数据传给对方。最常见的协商是当前的src pad通过GST_QUERY_CAPS询问下游元素sink pad支持的格式,从中选择一个共同支持的格式。另外,下游也可以在规格需要更改的时候,发送重新配置的事件GST_EVENT_RECONFIGURE,之后会重新走一遍协商流程。无论怎样,
2021-09-01 11:26:00
1524
原创 vim环境配置
新入公司的电脑卡到爆,编译服务器居然是8核的。想用vim,没有安装权限,也不能联网。无奈只能自己在家里的虚拟机鼓捣好了,再上传到编译服务器。顺便记录一下过程。1. 安装依赖应用1.1 cscope1.2 ctags1.3 插件管理2. 使用方法2.1 cscope2.1.1 创建数据库cscope -Rbqk-R:为当前目录下所有子目录创建数据库-b:生成数据库之后退出,不启动自带界面-q:生成cscope.in.out和cscope.po.out,加快搜索速度-k:跳过/usr
2021-08-27 10:52:27
392
原创 从GTK、GLib到GObject与GType历史梳理
1. KDE与GNOME1.1 X Window System微软Windows取得市场地位后,unix业界也急于开发类似的图形化操作系统。麻省理工学院(MIT)在1984年与当时的DEC公司合作,致力于在UNIX系统上开发一个分散式的视窗环境X Window。作为图形环境与UNIX系统内核沟通的中间桥梁,任何厂商都可以在X Window基础上开发出不同的GUI图形环境。X Window使用X-Server作为Ui与系统交互的桥梁,UI不直接与系统交互,因此拥有很强的设计灵活性和可移植性,但因此决定了
2021-08-12 11:33:57
1792
1
原创 va_list可变参数和判断
#include <stdarg.h>#define VNAME(name) (#name)#define Assert(name) do { \ if(NULL == name){ \ g_printerr("#error: %s is null.\n",VNAME(name)); \ return -1; \ } \}while(0) int CheckPointer(char *arg,...) { va_l
2021-08-11 16:14:40
489
原创 git 笔记
git 笔记远程仓库相关命令检出仓库:$ git clone git://github.com/jquery/jquery.git查看远程仓库:$ git remote -v添加远程仓库:$ git remote add [name] [url]删除远程仓库:$ git remote rm [name]修改远程仓库:$ git remote set-url --push[name][newUrl]拉取远程仓库:$ git pull [remoteName] [localBran
2021-08-11 11:28:36
4404
2
原创 gstreamer信号、属性、消息、事件、问询、状态的详细梳理
1. 信号的作用信号时是属于元件的,用于元件和外部(应用或者其它元件)之间,基于预定事件的交互,比如元件创建了新的cap等。元件内部定义了本元件相关的信号。如果外部需要关心和了解这一信号,可以连接该信号和处理函数。这样,元件内部发生信号时,该函数将被调用执行。2. 元件创建信号...
2021-08-10 15:36:05
3614
原创 Linux打印函数调用栈
应用程序打印调用栈定义dump_stack函数如下:#include <execinfo.h> #include <stdlib.h> #include <unistd.h> #include <stdio.h> #define STR_SIZE 100 #define STACK_MUN 100 void dump_stack(){ int j, strack_num; void *strack_buffer[STACK_
2021-07-29 10:16:09
655
原创 plugin插件加载和初始化流程详解
在插件学习中,总想要了解插件究竟是在哪里加载和初始化的,不然没头没脑的总不放心。结合源代码追溯流程,记录如下:插件函数与声明gstreamer的插件是如何被加载和初始化的呢?在所有插件中,有一个plugin_init函数,这是插件运行的起点。static gbooleanplugin_init (GstPlugin * plugin){ /* FIXME Remember to set the rank if it's an element that is meant to be
2021-07-28 17:13:56
2159
原创 gst 笔记1:信号、消息、事件、状态
基本操作示例gst-launch-1.0 filesrc location="/home/e0005055/Videos/test1.mp4" ! decodebin ! videoconvert ! autovideosink代码:#include <gst/gst.h>static gbooleanbus_call (GstBus *bus, GstMessage *msg, gpointer data){ GMainLoop *lo
2021-07-27 18:27:57
1060
原创 2021 gstreamer插件编写指南中英对照 (三) 编写一个插件
Writing a Plugin写一个插件You are now ready to learn how to build a plugin. In this part of the guide, you will learn how to apply basic GStreamer programming concepts to write a simple plugin.现在您已经为学习如何构建插件做好准备了。在本部分指南中,您将学习如何应用基本的GStreamer编程概念来编写一个简单的插件。Th
2021-07-21 19:16:17
2020
1
vim 配置和插件打包下载
2021-08-22
xcode 13.0 真机调试镜像 DeveloperDiskImage
2019-07-25
xcode iOS12.4 DeveloperDiskImage真机调试镜像
2019-07-25
xcode iOS12.3 DeveloperDiskImage真机调试镜像
2019-07-25
xcode iOS12.3 真机镜像DeveloperDiskImage.sig
2019-07-24
xcode iOS12.3 DeveloperDiskImage真机调试镜像
2019-07-24
先锋CarPlay样机log记录 usb分析仪文件
2019-05-05
CarPlay认证的协议log记录usb分析仪文件
2019-05-05
Accessory Interface Specification 最新解密版
2019-04-29
iAP 协议带IDPS实例ATS
2018-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人