- 博客(80)
- 资源 (2)
- 收藏
- 关注
原创 DDR基础概念理解
DDR学习第一趴本部分主要做基础概念介绍,争取达到阅读完此小节,可以对DDR的相关概念有基本认知1. 常规名词介绍流程概念理解名词说明BLBurst length,突发长度,突发是指同一行中相邻的存储单元连续进行数据传输的方式,连续传输所设计到存储单元(列)的数量就是突发长度(SDRAM),在DDR SDRAM中指连续传输的周期数BankSDRAM中的基本单元,一个bank代表一个行列组成的基本单元,一般都是8bank结构RASRow Address St
2022-05-11 22:33:06
2078
1
原创 QTTabBar 安装记录(Win10 enable .NET)
1. QTTabBar 下载安装过程;2. WIN 10 enbale .NET Framework 3.5 错误记录
2022-05-02 17:49:47
2664
1
原创 关于Kswapd的理解(一)
关于Kswapd的理解(一)之前跟踪了MemAvailable的计算方式,其中watermark的计算花了很多精力,在学习的过程中看到一些资料中说watermark是给swapd使用的,于是乎,研究一下看看咯本部分主要记录两个方面:对于kswapd这个东西,从初学者(我)的角度出发会考虑哪些内容?跟踪kswapd 初始化结构部分;1. KSwapd机制上图是还没有跟踪kswapd code的时候,对自己提出的一些疑问和自身的理解,主要是如下内容:kswapd 机制用来做什么:内存不足时
2022-03-29 22:25:07
1911
2
转载 gerrit权限控制
Access controls in Gerrit are group based. Every user account is a member of one or more groups, and access and privileges are granted to t...
2022-03-18 10:11:26
5128
原创 关于Meminfo中MemAvailable 理解
MemInfo中MemAvailable计算过程,包含watermark、totalreserve_mem等计算过程
2022-03-08 21:40:01
5863
原创 Linux 内存管理之 SLUB分配器(6):slub debug 实例测试
Linux 内存管理之 SLUB分配器(6):slub debug 实例测试1. Object layoutslub object layout 之前已经有专门的一小节进行介绍了,这里直接将其结果拿来:2. 配置开关默认情况下上述的layout中debug信息是没有打开的,毕竟会增加太多的内容,增加内存的压力,所以需要打开如下部分内容:Config:CONFIG_SLUB=yCONFIG_SLUB_DEBUG=yCONFIG_SLUB_DEBUG_ON=yCONFIG_SLUB_C
2022-01-10 21:49:05
1808
原创 Linux 内存管理之 SLUB分配器(5):slub初始化过程
Linux 内存管理之 SLUB分配器(5):slub初始化过程本小节整理记录下kmem_cache结构的初始化过程,其实呢,在前边4个小节整理完成后,本部分也就呼之欲出了本部分主要解决如下问题:在slub分配逻辑中可以看到,object的alloc实际是在kmem_cache和kmem_cache_node 结构中分配的,那么必然存在一个蛋与鸡的故事,如何处理的?在初始化的过程中,有哪些关键接口,以及其作用?首先将本部分的整体调用结构图示出来:1. 构造静态kmem_cache &am
2021-12-27 21:33:12
1123
原创 Linux 内存管理之 SLUB分配器 (4):slub page大小计算方法
page order的计算方法,即在申请kmem_cache的时候,每个slab申请几个page合适呢?order_objects 的计算和API说明
2021-12-25 19:15:08
1014
原创 Linux 内存管理之 SLUB分配器(2) :kmalloc_cache 结构
1. slub2. kmalloc_caches、kmem_cache数据结构3. 分配逻辑
2021-12-20 22:29:29
1800
原创 Audio 加载hal (loadHwModule)
Audio 加载hal (loadHwModule)近期在整理audio问题过程中不可避免的会涉及到一些流程处理,此前一些流程细节没有详细跟踪过,趁着这次机会,将看到的一些内容整理出来,方便后续查阅:1. audio.primary.xx.so加载audio的Hal层有蛮多内容,其中主要是:audio.primary.[ro.hardware].so 这里记录下该库被加载的流程;1.1 load module调用AudioFlinger::loadHwModule(const char *name
2021-09-14 23:17:58
1576
原创 记录:添加trace_event埋点并调用
记录:添加trace_event埋点并调用1. 环境基于如下环境添加测试:Android Pkernel 4.9.118ftrace 功能打开2. 添加trace_test_entrykernel中所有支持的trace接口,都定义在如下目录:kernel-4.9/include/trace/events所以我们只需要参照其中实现方法,将所需要的内容添加进去即可:#undef TRACE_SYSTEM#define TRACE_SYSTEM my_test //确保定义为我们添
2021-08-31 22:00:04
1236
原创 simpleperf 使用记录
simperf 使用记录近期处理CPU loading过高问题,使用simpleperf生成火焰图的方式进行分析,相较于以前查看record的方式直观了不少,方法记录如下:1. simpleperf 命令查看通用开源工具一般都可以通过 -h的方式查看其命令支持情况:console:/ # simpleperf -hUsage: simpleperf [common options] subcommand [args_for_subcommand]common options:-h/–help
2021-07-01 19:54:26
3159
2
原创 audio 相关概念梳理记录
sample rate:采样率 即一秒采集的sample数(当前理解为点数)bit:位深 即一个sample(点)中的信息,所谓高保真一般是位深比较高channel:声道数 常见为左右声道和5.1声道frame:audio中常用来描述数据的基本单位,frame = bits * channelperiod size:alsa中引入的概念,dma每传输完成一个块触发一个中断,即period size,或者理解为buffer大小period count:alsa中概念,buffer countla.
2021-05-24 23:05:03
518
原创 blend后颜色异常问题(glBlendFunc & glBlendFuncSeparate)
blend后颜色异常问题(glBlendFunc & glBlendFuncSeparate)1. 问题描述应用中显示投屏小窗部分的颜色值与预期不一致,预期为纯白色 [0xFF],而实际显示偏黑 [0xDE]相同渲染合成逻辑在X86平台测试显示为正常色彩 [0xFF]各个layer叠加顺序如下(简化层级可以说明问题即可):应用使用GPU渲染各个对象后进行blending合成输出到Overlay 01:mediabottom投屏画面输出到Overlay 02;PS:Over
2021-04-24 10:22:08
1127
原创 LVDS 屏 format
LVDS 屏 format1. LVDSLVDS (low voltage differential signal),低压差分信号,使用低幅值的信号差分走线传输数据:百兆甚至千兆穿行数据的传输速率电压幅值较低,噪声低,功耗小嵌入式领域中屏幕接口一般使用LVDS(另外早期的还有TTL、手机行业较多的mipi)根据数据传输量,所以不同分辨率的屏幕需要设置的clk大小不同,一般1920720的话基本在45M2 左右;2. 排列方式这里记录RGB888信号的两种标准传输格式:24.0 &
2021-04-14 21:12:43
1883
原创 git操作记录贴
git操作记录贴整理log信息要求在版本更新时获取到本次的更新记录:包含commit ID、root cause & solution、changeID、file list:上述所有信息都会添加在commit信息中,即可以通过git log信息获取到详细信息,或者gerrit上查看每一笔change不过既然提出了需求,那就将上述信息在更新推送时保存到文件中吧:git log --pretty=format:“commit %H” %n “%b” commitID1 commitID2
2021-04-12 21:05:40
165
原创 EGLImage使用记录
EGLImage使用记录1. 需求场景项目需要实现如下path:获取camera数据;GPU对camera数据做算法处理;处理完成后丢给surface显示;上述过程实现后存在撕裂现象,tearing即显示的buffer被复写导致出现画面撕裂;2. 实验分析camera getframe数据保存到文件确认数据完整性,此部分数据无异常;APP中将camera获取数据通过memcpy方式提供给到GPU输入,则此部分操作不同buffer,不存在被复写可能性GPU绘制操作完成后使用glFin
2021-03-01 21:40:55
3730
原创 Linux DRM 理解
本文从如下几个部分介绍1. DRM 概念介绍2. 对比HW结构分析3. code分析1. DRM 概念介绍DRM 是Direct Render Manager的缩写:Linux 显示子系统结构框架向上提供标准API给到应用使用管理GPU和Display模块相较于原来的framebuffer结构,DRM将更多的硬件模块抽象并管理起来,所以更加的灵活方便;包含如下模块:GEM(Graphics Execution Manager) 用于管理显示buffer的申请和释放DUMB:只
2021-02-20 16:04:46
3997
2
原创 OpenGL 概念整理
OpenGL 概念整理1. OpenGL1.1 术语说明概念描述版本OpenGLOpen Graphics Library Khronos 定义GPU功能实现的SPEC,标准API4.6OpenGL ESEmbedded System 为嵌入式系统定义的相关补充接口3.2EGL用于GPU渲染与机器原生窗口之间通信的API,独立于OpenGL ES各个版本VulkanKhronos组织新定义的接口,相比于OpenGL更加高效1.21.2 Op
2021-02-19 12:55:25
1145
原创 双系统安装:Deepin 尝鲜
双系统安装:Deepin 尝鲜1. 制作系统盘官网下载系统https://www.deepin.org/zh/download/使用迅雷下载,基本上在5分钟以内完成制卡将刚才下载的系统制作启动盘,这里采用deepin官方提供的制卡工具:建议使用4G以上的U盘作为启动盘(iso包有2.5G)2. 系统分割分区使用win10自带的磁盘管理即可:主机这里有两个SSD和一个机械硬盘,这里单独给Linux系统分配一个1T的SSD(可以看到磁盘1在win10系统中是未分配状态),用
2021-02-10 17:27:08
503
原创 Typora 图床配置
Typera 图床配置1. 起因近期整理资料发现平时所记录学习笔记等内容较为杂乱:typera本地图片上传需要手动导入一遍费时费力;印象笔记导入本地typera markdown笔记后在云端查看也无图片数据;则兴起了将图片保存在网络云盘上的想法,而当前typera中也添加了此部分支持,故添加之;2. typera配置配置路径:菜单 - 偏好设置 - 图像可以看到默认支持PicGo图床工具:https://support.typora.io/Upload-Image/#picgoap
2021-01-30 09:48:16
385
2
原创 GPU结构设计初探
GPUGPU 按照理解为graphics process unit,即与CPU / DPU / DSP等硬件单元模块相同为SOC中的组成部分;关于GPU 正在雪休理解的内容:GPU 的核心功能是做图形渲染和合成,它的典型特性是对于运算特别在行,则这里有一个疑问,其硬件结构是怎样的?如何做到善于运算?GPU这个模块单元对外的接口是什么?这里想了解的是硬件接口?GPU作为一个比较通用的硬件模块,存在标准的spec规定其如何操作,以及如何实现,即其操作步骤是怎样的?后续补充GPU pipelin
2021-01-25 22:36:53
2946
原创 显示低帧率排查思路记录
上述为思路简单整理总结1. streamline 使用streamline是arm官方提供GPU性能监测工具,集成在DS-5中:1. DS-5使用需要license;2. 路径:Program Files/DS-5 V5.29.2/sw/streamline3. 可以通过ds-5打开:window–>show view --> streamline1.1 gatord 编译安装下载DS-5 之后再上述安装目录中gator文件夹会有一个markdown形式的readme,其中介绍很.
2021-01-21 22:18:53
492
原创 ubuntu 20.04 编译yocto 错误集锦
4. ubuntu 20.04 编译yocto4.1 错误1:m4-native failed| 92 | #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib."| | ^~~~~| make[3]: *** [Makefil
2021-01-20 23:14:54
12467
12
原创 yocto 打包外部应用到 system.img
yocto 打包外部应用到 system.img项目中难免需要将第三方编译完成的库或者应用打包到系统中使用,这里记录yocto中以shell 命令追加的方法:添加bbclass文件在项目源码中找到打包system.img的bbclass(类似于create-system-image,bbclass),在同级目录中添加add_test.bbclassvim add_test.class 添加类似于如下内容:add_test () {mkdir ${IMAGE_ROOTFS}/usr/bin/tes
2021-01-19 07:46:55
890
原创 移植opengl应用到yocto sdk
移植应用到yocto sdk1. yocto sdk 安装sdk 包解压tar -xf sdk.tarsdk 安装cd sdk./poky-glibc-x86_64-xxx-full-aarch64-toolchain-2.5.sh 具体如下图:安装完成后进行环境变量配置:cd xxx/xxx/sdk/sumo/lssource environment-setup-aarch64-poky-linuxaarch64-poky-linux-gcc -v 配置完成后
2021-01-16 22:44:16
425
原创 ubuntu系统工具记录
持续更新Ubuntu 20.04 双系统记录系统安装常规软件安装typora软件源配置安装nvida显卡Ubuntu 20.04 双系统记录由于2020年攒了一台主机,笔记本在使用频次上急剧降低,又因为平时需要在ubuntu环境下做一些实验程序,故搭建双系统;系统安装网上一堆教程,这里不再废话:压缩分区制作U盘启动ubuntu系统分区常规软件安装typora常用的markdown编辑工具,属于常用类软件:wget -qO - https://typora.io/linux/pub
2021-01-07 22:43:43
109
原创 AndroidP 开机自启动程序
AndroidP 开机自启动程序1. codemain.c#include <stdio.h>int main() { int i = 10; while (i--) printf("test_for_customer, this bin is built for running on boot\n"); return 0;}rc文件service just_test /system/bin/test_for_customer
2020-12-21 22:47:20
316
1
原创 QtCreator导入yocto sdk记录
QT安装以及导入vendor sdk1. QT-Creator安装本次前后安装了几个版本验证问题,方法具有一致性,但是不同版本对于系统依赖可能不同:主机环境:Ubuntu 14.04QT creator(QT版本):5.9.2 / 5.12.0 / 5.14.01.1 版本5.9.2 下载安装过程下载安装包官网路径:http://download.qt.io/official_releases/qt/执行命令安装cd ~/Download/chmod a+x qt-ope
2020-12-12 11:14:58
1180
2
原创 Linux 文件系统启动记录
Linux 文件系统启动记录1. 两个脚本1.1 inittab该脚本路径:/etc/inittab[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SctSKgOJ-1607260724411)(Linux%20%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E5%90%AF%E5%8A%A8%E8%AE%B0%E5%BD%95.assets/image-20201206173119963.png)]基本inittab就是上述这张图这个形式,
2020-12-06 21:28:04
356
原创 外设适配-TI954 记录
1. 外设适配-TI954 记录1.1 问题描述项目需要支持1080P@60fps摄像头输入,针对于这种分辨率的摄像头一般都采用FPD link方式传输,这里采用TI 953、954作为摄像头输入的媒介,整体path如下:Camera(IMX290) -> ISP(5700) -> TI953 -> TI954 -> SOC项目反馈的状态是:可以在TI954测量到标准mipi波形输出,但是SOC无图像显示;1.2 检查思路基本参照上图逐步check,这个过程中还是遇到了一
2020-11-15 14:39:23
1816
2
原创 ubuntu 14.04 编译yocto源码--环境配置篇
ubuntu 14.04 编译yocto源码1. 环境安装ubuntu 14.04yocto依赖工具链sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping源码已经就
2020-10-30 21:37:02
848
1
原创 gdb 7.X 下载编译(aarch64)
gdb 7.X 下载编译(aarch64)文章目录gdb 7.X 下载编译(aarch64)1. gdb源码下载2. 交叉编译工具下载2.1 搜索支持的工具版本:2.2 下载安装:2.3 安装完成后查看gcc版本确认是否安装成功3 编译3.1 aarch64 结构的gdb(7.12)3.2 aarch64 结构的gdb(7.9)3.3 编译在x86下运行的gdb程序(解析aarch64体系coredump)1. gdb源码下载ubuntu系统中有自带的gdb软件,用于跟踪x86体系的程序:当然我们
2020-10-25 13:31:59
5760
1
原创 ubuntu14.04 安装adb 调试设备
安装adb 设备sudo apt-get install adb连接设备使用lsusb 首先确认usb驱动是否有识别到设备;将target 设备配置为android deviceudev配置需要在/etc/udev/rule.d/目录下的文件中添加adb server配置需要在~/.android/ 目录创建配置文件adb_usb.ini,在其中填入device的vendorIDsudo touch ~/.android/adb_usb.inisudo vim ~/.and
2020-10-24 17:41:28
745
原创 资源冲突导致启动黑屏问题
问题记录:资源冲突导致启动黑屏问题1. 问题发生终端客户反馈:上电后中控没有启动,仍为黑屏;进一步获取信息如下:836版本软件6台机器进行自动化开关机实验测试,其中3台出现此问题;客户同样方式煲机9台(Debug版本),一晚上未出现问题;客户将其中6台机替换为836版本软件,测试5小时,4台出现此现象;HW排查异常机器,晶振没有工作,MCU有正常给AP供电;2. 问题分析2.1 排除board 影响由于HW排查出现晶振没有工作的情况,担心board存在问题,立即到现场进行处理,首先
2020-10-15 22:27:57
411
原创 编译问题处理:undefined symbol: OPENSSL_init_crypto
编译问题处理:undefined symbol: OPENSSL_init_crypto结论:Python 2.7 编译_hashlib.so 提示undefined symbol: OPENSSL_init_crypto问题;原因为openssl版本不匹配,所需要的symbol在该版本库中没有实现;针对于本次问题,将openssl version 配置为1.0.1f并将其关联库删除后重新编译,编译通过(PS:这里需要注意编译时实际使用的lib库的路径,避免出现版本安装为1.0.1f后相关库仍使用
2020-10-13 21:54:31
6637
WALT学习.xmind
2020-07-08
bootchart.jar
2020-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人