- 博客(89)
- 收藏
- 关注
原创 倒谱理论分析小结
对于高速大型旋转机械,其旋转状况是复杂的,尤其当设备出现不对中,轴承或齿轮的缺陷、油膜涡动、磨擦、质量不对称等现象时,则振动更为复杂,用一般频谱分析方法已经难于辩识(识别反映缺陷的频率分量),而用倒频谱,则会增强识别能力。在一个频谱图上出现过多的频差,难以识别,而倒频谱则有利于识别,如下图所示,a为一个减速箱的频谱图,b为它的倒频谱图。e'(n)是高频信号。倒谱计算本质上为同态处理,就是解卷的一种方法,称为“非参数解卷”,而LPC分析则为另一种方法,称为“参数解卷”,两者的作用都是解卷,这个概念一定要有。
2024-11-21 11:45:14
1050
原创 flush cache line dirty bytes & x86 reorder execute
https://developer.arm.com/documentation/den0013/d/Caches/Cache-architecture/A-real-life-example#:~:text=The%20cache%20line%20length%20is%20eight%20words%20%2832,index%20a%20line%20within%20a%20way%20%28bits%20%5B12%3A5%5D%29.Before going on to look at writ
2024-09-26 17:12:00
1020
原创 阅读代码的一些方法小结
4. 有了这3个东西,厚积薄发就可以做到,但是这个点,要加上把劲,趁热打铁,在投入时间,花时间重复理解几次,做到融会贯通。一般来说,应该有种开窍,看得清楚明白之感,有代码就是自己设计并实现的感觉是个可参考的标准。然后所有的代码能归位,那些辅助性的,扩展性的代码也能清楚知道,自己要加要改也知道该如何。做到这一步,其实人还是虚的,没有落地的踏实感,遇到问题也会没谱。这个做起来收益大,但是有一个问题,加在哪个funtion才是对的点。没错,时间成本挺高的,但是如此才能断其一指,彻底解决掉这个代码。
2024-09-06 15:13:32
290
原创 hw meta10 adb back up DCIM
1. centos install adb2. HW enable devlepment mode & enalbe adb debug3. add shell
2024-06-08 14:22:59
285
原创 wddm & dx11
device-conetxt obj 负责渲染 perform rending。device object 创建resource。
2024-04-01 10:51:56
201
原创 glBindTexture函数的理解
简单的说opengl的设计思想,实现较早,并不是基于对象,所以API操作, 总是以奇怪的enum枚举类型来作为操作对象。形成的编程范式就是先bind绑定到一个named obj(其实是个整数)。然后调用api对当然bind的对象以enum枚举类型进行操作。具体一个例子如下://相当于设置了gc->cur_texture_2d=id;//对gc->cur_texture_2d的texture_obj进行具体的设置。//切换gc->cur_texture_2d=id_other;切换对象了。
2024-03-26 11:00:37
1456
原创 opemgl rgb2yuv NV12
比较稳妥的做法是,不要尝试建立内存连续的几个纹理,虽然多output fs是可行的,可以同时输出在多个texture,但是很难让2个texture在同一块内存上。并且uv分量存在下采样,也难以操作。应该创建一个更大的img,使用viewport分两次shader y + uv分量。如果没有使用img ext来实现,这个明显比yuv2rgb要难。
2024-03-22 17:49:53
133
原创 opengl fragment shader multi-output
在OpenGL, 片段着色器(Fragment Shader)通常只能输出一个颜色值,这个颜色值用于最终渲染的像素。然而,有时候你可能需要在片段着色器中输出多个值,比如不仅仅是颜色,还有其他额外的数据(如法向量、纹理坐标等)。在这个示例中,我们使用两个颜色附加缓冲区来输出不同的颜色值。请确保你的硬件和OpenGL版本支持多个颜色附加缓冲区功能。对于更高级的多输出要求,可以考虑使用更复杂的技术,如几何着色器或计算着色器。
2024-03-21 10:23:01
266
原创 opengl yuv2rgb shader
复制需要注意的是 OpenGL ES 实现 YUV 渲染需要用到 GL_LUMINANCE 和 GL_LUMINANCE_ALPHA 格式的纹理,其中 GL_LUMINANCE 纹理用来加载 NV21 Y Plane 的数据,GL_LUMINANCE_ALPHA 纹理用来加载 UV Plane 的数据question: texture().r是什么?
2024-03-19 15:30:29
1073
原创 认识事物的几个阶段 & GPU学习
这些阶段构成了认识事物的基本过程,帮助我们建立对世界的认知和理解。不同人可能在每个阶段的表现和处理方式有所不同,但这些阶段通常共同构成了认知活动的基本轨迹.比如学习中的“去魅”这个词,非常好的表达出来由不懂,敬畏,害怕,担心到平平无奇,原来是这样,如此来去的如来。1. 一个恰当的词语,一句恰当的话。能将之前领悟到不可名状的东西,突然能恰当的表达出来,概括出来。
2024-03-06 10:05:02
818
原创 gpu swizzled
swizzle操作符后接x、y、z、w, 分别表示原始向量的第一个、第二个、第三个、第四个元素;swizzle操作符后接 r、g、b和a的含义与前者等同。float4(a, b, c, d).wzyx 等价于 float4(d, c, b, a)float4(a, b, c, d).xyz 等价于 float3(a, b, c)float4(a, b, c, d).xyy 等价于 float3(a, b, b)float4(a, b, c, d).w 等价于 float d。Swizzle操作符。
2024-02-28 14:07:52
571
原创 驾驶技术+转大佬的数学分析
这一期从动力学角度来向大家解释了转向特性的问题,但前提还是侧偏角比较小的情况下,认为侧向力与侧偏角成正比关系,如果超过这个限度呢?
2024-01-26 11:44:13
1649
1
原创 OpenGL API 变换 & 纹理
纹理图像是方形数组,纹理坐标通常可定义成一、二、三或四维形式,称为s,t,r和q坐标,以区别于物体坐标(x, y, z, w)和其他坐标。相反,纹理坐标通常用于指定如何将纹理映射到模型表面,例如贴图坐标的重复、镜像或拉伸。这样,当顶点通过变换被移动、旋转或缩放时,纹理坐标会相应地进行插值和调整,以使纹理正确地适应变换后的顶点位置。综上所述,OpenGL之所以只对顶点进行变换而不是纹理,是因为顶点变换用于调整模型在3D空间中的位置和方向,而纹理坐标则用于指定如何将纹理映射到这些变换后的顶点上。
2024-01-22 14:17:16
437
原创 openGL & dri3 资料收集
DRI1由于当时图形卡内存大小,只有一个屏幕front buffer+back buffer由所有DRI clients和X server使用,front buffer和back buffer就像现在显示系统的双缓冲一样,所有要做渲染操作的实体都直接渲染到back buffer,然后执行swap就更新画面,front变back,back变front。DRI2是进入compositor时代的设计,buffer开始变成离屏buffer,并且离屏buffer可以做直接渲染,DRM也经过了一次大更新;
2024-01-18 10:13:28
827
原创 OpenGL & DIR
在经典的 X Window 系统架构中,X Server 是唯一能够独占访问图形硬件的进程,因此也是在framebuffer进行实际渲染的进程。X clients所做的就是与 X Server通信以分派渲染命令。这些命令是独立于硬件的,这意味着 X11 协议提供了一个提取图形设备的 API,因此 X clients不需要担心底层硬件的细节。任何依赖硬件的代码都位于设备相关 X 中,X Server 中管理video card或显卡驱动的部分,通常也称为视频或图形驱动程序。
2024-01-17 16:57:54
1254
原创 OpenGL & EGL & others
EGL 是 OpenGL ES 渲染 API 和本地窗口系统(native platform window system)之间的一个中间接口层,它主要由系统制造商实现。与设备的原生窗口系统通信查询绘图表面的可用类型和配置创建绘图表面在OpenGL ES 和其他图形渲染API之间同步渲染管理纹理贴图等渲染资源为了让OpenGL ES能够绘制在当前设备上,我们需要EGL作为OpenGL ES与设备的桥梁。
2024-01-17 15:13:07
1880
原创 腾讯云服务器端口localhost可以访问,外部无法访问解决
2. tencent这个防火墙规则设置后,还要设置到实例上。1. ubuntu ufw系统防火墙。搭建frp跳板,发现无法使用。
2023-10-19 10:01:03
647
1
原创 x86 kgdb deug调试分析
前面我们在《gdb 和 watchpoint》 文章里讨论了在gdb的watchpoint,这次我们来讨论下如何让kgdb也支持watchpoint特性。KGDB 相当于一个gdb server,只是这个server是跑在内核里面。所以KGDB支持watchpoint实现和gdb server的实现如出一辙,即通过GDB远程串行协议里的Stop-Reply-Packets来传达watchpoint信息给gdb,让gdb知道那个watchpoint击中了。其运行的大致流程为:123。
2023-08-09 11:58:37
328
原创 vps sshd 暴力破解防御
vps在网上挂久了,如果允许密码login并且强度不高,很有可能被人暴力破解:穷举密码组合。2. 使用复杂高强度密码,定期更换。1. 使用ssh key,禁止密码登录。1. 怎么确认存在被人暴力破解?
2023-06-02 09:43:25
259
原创 github push
配置好好,记住,你项目得使用 SSH clone ,不要使用https来上传,会失败的,必须remote.origin.url=git@github.com:chuanjinpang。6 拷贝完公钥,从浏览器进入GitHub,然后,在右上角个人账号信息里面,点击setting(设置),在设置里面,点击SSH and GPG,再点击 New SSH key。这一步会出现让你设置密码什么的,个人建议直接全部回车,我就在这里栽过,各种密码太烦了,建议不设置的地方直接不要密码。
2023-05-24 16:03:02
660
原创 systemc books
David C Black_ Jack Donovan - SystemC _ from the ground up-Kluwer Academic Publishers (2004)
2023-02-03 19:42:52
127
原创 get_user_pages_remote映射一点小分析
问题:这个get_user_page后,到底得到了啥?访问它会发生啥?先上结论:1. get_user_page后,如果成功,则struct page引用会加1,表示被引用中。mmu页表项也会分配出一个page,此时仍然是no present的。直到真实的access内容时才会page in。这样做的好处是,lazy handle。2.访问它时,这时会触发page fault。发生page in。载入内容。pte_present(entry) 当前内容不在主存上。pte_none(e
2022-05-23 14:04:35
889
原创 vfio interrupt & DMA remapping重映射
设备直通需要vt-d支持。1.DMA remappingDMA remapping需要iommu将GPA->HPA转换。这里iommu行为非常类似mmu。主要是PCIe设备,通过bus/dev/func信息来选择iommu映射表。所示每个vf可以有自己独立的映射关系。那么当一个PCIe设备passthrough直通时,会怎么样?对于config space配置空间,VMM会接管,避免打架。对于MMIO空间,可以直接由guest OS操作,通过mmu,iommu进行硬件直通,
2022-05-18 17:05:24
974
原创 linux 内存管理概要
linux内存是支持numa,但是常用的uma。其内存管理分3层:1.zone这一层,主要是内存地址并不完全等价,ISA总线只能传输16MB地址,32bit高端内存的问题。所以会分几个区。2.按page页粒度的buddy系统,alloc_pages,__get_freee_pages()这种按page order分配的管理系统。1- MAX_ORDER分组。它的优点在于效率与碎片比较均衡。具体算法是分配时,从对应order去free_area[MAX_ORDER]找空闲的,如果找不到,就大o
2022-05-18 13:50:18
192
原创 esp32s2 tinyusb vendor device小总结
usb 802.11 wifi网卡,遇到点问题。对tinyusb的架构有一点小了解了。发送路径:用户调用tud_vendor_write(urb_msg,urb_len); 启动传输tud_vendor_write()>tud_vendor_n_write(0, buffer, bufsize);>>tu_fifo_write_n(&p_itf->tx_ff, buffer, bufsize) 写入fifo缓冲>>maybe_tr..
2021-11-26 10:23:35
3567
1
原创 单片机esp32s2实现win10之USB副屏
概要单片机esp32s2+SPI屏实现一个win10 USB接口显示器。本项目借鉴了众多开源项目,主要借鉴:1.github.com/microsoft/Windows-driver-samples/tree/master/video/IndirectDisplay2.git://github.com/roshkins/IddSampleDriver.git3.Bodmer/TFT_eSPI.git4.nopnop2002/esp-idf-ili9340,5.serge-rgb/
2021-11-05 10:38:50
7115
2
原创 杂质与火,组织,系统
1. 关于为何要成势?火就是一种势,一种正反馈的系统关键。一片森林,平时难以起火。只是有些条件不够,最难的就是燃点。比别人做得好一点点是构成不了势的。在大环境中就是容易灭掉。 这事就像野火,一旦成势,就难以扑灭。每当我看到成都市成片的高楼,这哪一栋的财富不够一个伟大公司起步?为啥这城市平平无奇?少了成势的火2. 杂质与结晶我们说螃蟹总是拉着兄弟不让其爬出来?这世间本来就是这样的。过冷水不能成冰,因为没有杂质。没有一个杂质降低表面能,所以一些总是特立独行的人,反而能组织起许
2021-11-05 10:32:40
158
1
原创 横屏版esp32-s2做的usb迷你显示器,用于rpi,linux server很轻快
最近在用树莓派,然而没有配置好网络,得看下IP,才好操作。然后得抱大显示器,连上电源线,还要转换一下HDMI2VGA,如果只有一个显示器,得挪用,的确很麻烦。于是想加一个小显示屏,显示出IP信息。后来觉得这个方案还是有点别扭。刚好esp32-s2有USB otg,做一个小尺寸的320*240的小显示器应该是可行的。速度慢,帧率低点也行的。然后上google找了找,居然找到一个开源项目。GitHub - robopeak/rpusbdisp: Drivers and Tools for Robo
2021-09-26 18:09:31
2309
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人