自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

平面到立体

----生活如此多彩

  • 博客(268)
  • 资源 (34)
  • 收藏
  • 关注

原创 内核新特性功能跟踪

内核一直发展很快,每次看release note 有一些自己感兴趣或者未知的记录下。

2021-07-17 08:55:58 422

原创 usb资料收集

https://beyondlogic.org/usbnutshell/usb1.shtml

2021-04-16 16:17:16 527

原创 网站地址入口备查

记录一些有用的网址

2020-04-05 08:47:43 11489

原创 蒋梦麟

   诸君离学校而去了。在社会上立身的困难,恐怕比在学校里求学还要加甚。若非立志奋斗,则以前所受的教育,反足以增加人生的苦恼,或转为堕落的工具。这是诸君所当特别注意的。事业的成功,须经过长时间的辛苦艰难——成功的代价,走过了许多荆棘的路,方才能寻获康庄大道。立志是砍荆棘的斧斤,奋斗是劳力。万不可希望以最少的劳力,获最大的成功。================================

2008-07-06 21:43:00 927

原创 EDID哪些字段导致不能显示之一

显示桥片带来了显示配置的复杂

2026-03-14 15:54:28 112

原创 海思3403接入SPI TPM2.0调试说明

3403上采用SPI TPM2.0模块。

2026-03-12 20:00:20 357

原创 3403在麒麟V10系统下不能获取主板信息

麒麟系统主板信息获取流程

2026-03-03 20:00:14 352

原创 海思3403 uefi setup菜单不能显示解决

UEFI PCD 参数配置

2026-03-02 19:43:24 659

原创 3588 es8388 PCM之调试

3588 pcm 参数配置及设置调试

2026-02-26 21:39:30 599

原创 3588 ES8388 PCM之需求分析

pcm 需求确认细节

2026-02-23 10:43:09 665

原创 edp极化问题解决之uefi篇

 采用HDMI转EDP,原本经常连接外部显示接口的HDMI ,变为连接内嵌屏幕的EDP接口。导致时序参数调整带来较多工作。

2026-02-22 11:11:02 623

原创 3403 HDMI 4k 黑屏问题分析

通过时序参数、硬件特性配置、链路参数调整,可以使海思芯片输出4K60FPS的桌面图形。

2026-02-20 11:03:49 649

原创 嵌入式单板项目之2025

项目的成功并非简单的研发即可。

2026-02-16 15:59:28 671

原创 edp极化问题解决之系统篇

在软件流程上connector 实体获取EDID,但encoder作为发起端,如果中间有bridge的转接,则HPD,EDID等控制信息获取影响整个屏显功能。

2026-02-15 11:39:21 599

原创 内核模块加载异常分析

实际工作中经常遇到厂商提供的内核版本源码与商用系统有些差异的情况,通过上述两种方法可以解决模块加载的问题。便于通过驱动跟踪处理问题。

2026-01-31 09:47:59 340

原创 qt与egl的那些事儿

qt 和gpu的关联,常用工具及常见问题。

2026-01-24 15:27:26 796

原创 VGA无显示分析

本文分析HDMI转VGA芯片的系统控制问题。

2026-01-21 22:19:57 792

原创 edp屏幕pwm不准确分析

摘要:本文分析了屏幕亮度控制中的PWM占空比异常现象。通过示波器测量发现,系统设置亮度与实际占空比存在偏差。

2026-01-19 21:47:13 1002

原创 x86模块偶发冻屏问题分析之一

本文分析了Windows 10系统不定期重启问题的排查过程。通过事件查看器发现异常重启记录(事件ID41),但无具体原因信息。采用多种压力测试工具(Prime95、OCCT、AIDA64等)进行硬件稳定性检测,发现瞬时电流超限和温度过高问题。通过HWiNFO和GenericLogViewer分析CPU核心状态,发现部分核心长期高负载运行。尽管通过了长时间压力测试和电流切换测试,系统仍偶发死机,表明可能存在更深层次的硬件或固件问题。后续将继续深入排查具体原因。

2026-01-17 10:59:56 997

原创 edp屏极化问题分析

本文详细解析了MIPI转EDP屏幕参数配置的关键技术要点。以NV156FHM-N52屏幕为例,阐述了1920x1080分辨率下的时序参数配置方法,包括有效区域、消隐数据、同步脉冲等关键参数的计算。文章对比了HDMI转EDP后的EDID信息获取方式,解释了xrandr命令输出的不同分辨率模式差异。针对时序不匹配导致的黑线和极化问题,提出了通过强制配置PC时序的解决方案。文中还介绍了CTA-861标准的基本概念和EDID数据结构,为显示接口的参数配置提供了完整的技术参考。

2026-01-03 10:32:10 950

原创 海思芯片某些spi nor型号 不能正常启动

本文介绍了SPI接口的几种工作模式:Standard SPI(单线输入输出)、Dual-Output/Input(双线数据)、Dual I/O(命令单线,地址和数据双线)、Quad-Output/Input(四线数据)和Quad I/O(命令单线,地址和数据四线)。重点分析了QE位对WP#和HOLD#引脚功能的影响,指出当QE=1时,IO2/IO3引脚会变为数据传输通道。文章还通过实际案例说明,当Nor Flash作为启动设备时,若控制器默认配置与Flash不一致(如地址长度或SPI接口类型),可能导致启动

2026-01-01 20:48:20 754

原创 音频控制与监测功能设计之耳机插入流程

本文描述了音频系统中耳机插孔检测与控制的实现机制。通过snd_soc_jack_pin和snd_soc_dapm_widget的命名关联,建立了硬件GPIO事件到DAPM音频路径的映射关系。当检测到耳机插入时,GPIO中断触发工作队列进行状态检测,经过软件滤波(400ms内20次稳定电平)确认有效事件后,通过snd_soc_jack_report上报状态。DAPM模块根据上报状态启用/禁用对应的音频路径组件,最终将事件转换为用户空间的input事件。整个过程实现了从物理插拔检测到音频路径控制的完整链路,支持

2026-01-01 12:02:49 853

原创 音频控制与监测功能设计之GPIO功能

本文探讨了单板音频电路设计中耳机/耳麦的监测与控制问题。首先介绍了耳麦作为复合设备的特点,比较了CTIA/AHJ和OMTP两种接口标准。详细分析了耳机插拔检测机制,包括GPIO中断注册、电平检测和工作队列处理流程。通过evtest工具观察到了实际的插拔事件,并发现GPIO冲突问题。文章还总结了关键GPIO管脚的功能分配,包括插拔检测、静音控制和音量调节等,并指出了硬件设计与软件实现存在的不一致问题,特别是静音控制管脚初始状态可能导致的系统异常风险。最后提出了硬件设计应与软件初始化流程协调的建议。

2025-12-28 16:24:59 639

原创 3588 cma heap应用示例之图像采集

本文探讨了直接使用dmabuf接口进行视频流采集的技术方案。首先分析了V4L2设备中常见的IO模式配置方法,指出通过CMA内存分配器获取物理连续内存的优势。针对实际应用中遇到的CMA内存不足问题,详细介绍了通过修改dts配置将CMA内存从128MB扩容至512MB的解决方案。文章还剖析了DMA映射过程中可能出现的错误及其调试方法,包括设备DMA掩码设置、字符设备初始化等关键环节。最后给出了用户态dmabuf分配、同步操作的具体代码实现,并提供了时延统计数据和性能优化建议。该方案为绕过V4L2框架直接操作dm

2025-12-19 23:04:12 753

原创 温度电压电流监控的设计与选型

本文探讨了硬件设计中监控单板电压、电流和温度的方案设计要点。针对Xilinx XADC模块,分析了12位ADC的参考电压选择(外部1.25V参考或片内参考)及其对精度的影响,指出单极性模式下1V满量程限制导致无法直接采集1.2V电压的问题。介绍了分压电路设计方法,通过电阻分压将高电压转换为ADC可测范围。在温度监测方面,对比了LM75B和NST175芯片的I2C通信协议差异,特别指出LM75B必须严格按双字节读取的时序要求,否则会导致总线挂死。最后总结了三点设计经验:明确ADC量程范围、合理配置ADC精度参

2025-12-13 09:47:13 716

原创 Linux串口驱动之五工程常见问题

本文分析了一个串口通信异常案例:对端设备持续发送数据时,本端未初始化的串口出现数据收发错误。通过示波器测量发现实际波特率与配置不符,但检查分频因子和系统时钟均正常。进一步分析发现串口控制器存在异常,统计信息显示大量帧错误。最终通过优化外围电路解决了问题。案例启示:1)设计时应考虑合理的外围电路;2)设备上下电测试能有效验证串口可靠性。该问题突显了硬件异常可能导致的通信故障,以及全面测试的重要性。

2025-12-07 10:24:06 645

原创 3588单板上编译驱动

本文介绍了在3588单板上搭建内核驱动编译环境的详细过程。首先通过脚本提取内核头文件和编译架构文件(Makefile/Kconfig),然后将其打包上传至单板并配置环境变量。重点说明了如何清理X86架构的二进制文件并重新编译scripts目录中的工具,包括修改Makefile解决编译依赖问题。文章还列举了常见内核配置选项(如MMU_NOTIFIER、VFIO、KVM等)的启用方法,并分析了驱动开发中遇到的符号导出问题及其解决方案。最后指出内核配置与驱动编译环境必须保持一致,否则会导致各种异常。

2025-12-05 22:09:54 981

原创 linux串口驱动之五一级接收缓存同步

本文分析了TTY缓冲区中commit字段和lock字段的作用机制。commit字段作为used的影子值,通过smp_store_release和smp_load_acquire实现内存屏障,确保数据写入对其他CPU核心可见,防止指令重排导致的数据不一致。lock字段则用于保证flush_to_ldisc的单实例执行,防止工作队列重入和缓冲区链表操作的并发问题。这两个机制共同实现了生产者和消费者之间的安全并发访问,避免了数据竞争和重复处理等问题。commit字段确保数据完整性,lock字段保证操作原子性,二者

2025-11-30 10:53:33 708

原创 Linux 串口驱动之四接收

本文分析了Linux TTY子系统数据接收流程,重点描述了两级缓冲机制:底层tty_buffer(640KB动态分配)和上层n_tty_data(4KB静态数组)。数据流向为:硬件→tty_buffer→n_tty_data→用户空间。驱动层在中断上下文中通过自旋锁保护数据写入tty_buffer,工作队列flush_to_ldisc负责将数据同步到n_tty_data,最终用户进程通过read系统调用获取数据。两级缓冲实现了上下文隔离(中断/进程)、职责分离(通用缓冲/终端语义处理)和性能优化。

2025-11-29 11:52:02 728

原创 linux串口驱动之三发送

本文分析了Linux TTY子系统的写入流程,重点探讨了数据从用户层到硬件驱动的传输机制。系统采用分层架构:用户层接口处理内存分配和数据拷贝;线路规程层(ldisc)负责数据加工或原始传输模式选择;通用驱动层管理4K环形缓冲区;芯片驱动层控制硬件FIFO。关键机制包括:数据分块策略(2K/64K)、并发控制(自旋锁/信号量)、缓存管理(head/tail指针操作)和进程调度(休眠/唤醒)。系统通过门限值(256字节)触发进程唤醒,确保高效数据传输,同时平衡系统资源使用和进程调度公平性。

2025-11-22 11:02:04 1154

原创 linux串口驱动之中断

本文分析了多种串口驱动芯片的中断实现机制,包括3588、xilinx、飞腾和CH438等芯片。重点对比了独立中断和共享中断两种模式:3588和飞腾采用独立中断,每个串口分配独立中断号;xilinx uartlite和CH438则采用共享中断,通过状态寄存器区分不同串口的中断源。文章建议,在IRQ资源紧张或负载均衡时选择共享中断;对于实时性要求高或负载差异大的场景,应采用独立中断。针对8核CPU和16个串口的典型配置,推荐采用4-8个中断的分组方案,以平衡系统并行性和处理开销。

2025-11-15 11:11:19 993

原创 linux 串口驱动之一总体

本文探讨了Linux串口驱动的实现框架,重点分析了核心数据结构和缓存管理机制。驱动框架分为tty层与串口驱动层,通过uart_port、uart_ops等结构体实现硬件抽象。发送缓存限制为页大小,而接收缓存采用两级管理,默认可达640KB。实现时需关注:1)FIFO配置与中断处理(独立或共享中断号);2)发送/接收缓存策略;3)无锁队列保护机制。驱动开发只需实现uart_port结构并填充对应uart_ops操作集即可完成硬件适配。文章还剖析了tty_buffer等关键数据结构,展示了Linux串口子系统分

2025-11-15 09:47:23 726

原创 mpv播放视频缓慢问题

本文分析了mpv播放视频时出现卡顿的问题排查过程。通过对软硬件环境的对比测试,排除了解码性能问题(fps达到202)。通过mpv参数的调试发现,gpu-context参数设置不当会导致软件渲染而非硬件渲染(GPU占用率从12%降至5%,CPU占用升至120%)。进一步分析显示EDID信息、缓存情况和帧时延数据,确定问题根源在于渲染流程选择不当。最终建议通过指定gpu-context=x11egl参数强制使用硬件渲染,并强调在视频播放问题排查中需要全面考察网络/存储、解码和显示三个环节。

2025-11-08 21:54:37 708

原创 win7 蓝屏问题之驱动

本文介绍了使用WinDbg分析Windows系统蓝屏dmp文件的方法。主要内容包括:1. Win7/Win10环境下WinDbg的安装配置;2. 符号表配置方法(本地缓存+在线下载);3. dmp文件分析流程,包括基本信息查看、栈信息解析和驱动异常定位;4. 常见错误类型(如DRIVER_CORRUPTED_EXPOOL)的分析方法;5. 如何通过sc命令验证驱动服务状态。文章通过具体案例展示了如何从蓝屏dump中提取关键信息,特别是通过栈调用链定位问题驱动(如HDAudBus驱动异常),并提供了符号表缺失

2025-11-08 11:28:19 969

原创 windows屏幕信息获取工具及eDP链路

本文介绍了eDP链路设计、屏幕检测及EDID相关工具的使用方法。主要内容包括:1)带开关和不带开关的eDP链路设计方案对比;2)Windows和Linux系统下EDID获取、解析工具的差异;3)显示时序配置和驱动参数调整;4)Linux下I2C控制器的使能与VBT配置;5)FastLink与FullLink的区别及故障解决方案。特别指出,在Linux下获取屏幕信息工具丰富,而Windows下较为困难,并提供了通过修改VBT中fastlink参数解决显示异常的具体案例。

2025-10-19 11:17:58 1126

原创 RIGOL MSO5074示波器使用之一

本文介绍了示波器使用的基本设置和操作方法。主要内容包括:1.外部信息支持频率选择原则,建议示波器带宽至少为被测信号5倍;2.探头的结构、衰减比选择及注意事项;3.垂直方向设置(电压幅度调节、偏移调整)和水平方向控制(时基选择、位移调节)的具体操作;4.频率测量功能的实现步骤,并给出65MHz和52MHz的测量示例;5.强调使用示波器前需明确信号电压范围和工作频率,选择合适的设备参数。文章通过触摸屏操作界面示意图和具体案例,详细说明了示波器的基本使用方法。

2025-09-27 15:03:58 1056

原创 edp lvds与屏的情感纠葛

摘要:文章探讨了eDP到LVDS屏幕的显示控制流程,重点分析了PTN3460I芯片的配置与屏显参数匹配问题。内容涵盖背光控制信号(eDP_VDDEN、eDP_BKLTEN、eDP_BKLTCTL)的功能定义,PTN3460I的CFG管脚配置对EDID获取方式(屏载或芯片内置)和显示位数(6bit/8bit)的影响,以及不同屏幕的背光电压兼容性问题。文中对比了两款LVDS屏幕的接口差异,解析了显示时序参数,并提出了常见的兼容性设计隐患,如差分线接地要求、模式管脚悬空风险等。最后指出Windows驱动与Inte

2025-09-21 11:38:13 1398

原创 vaapi硬解码性能评估

本文介绍了基于VAAPI接口的GPU硬件解码配置与性能评估方法。通过FFmpeg和MPV播放器实现H.265等格式的硬解,详细说明了低延迟参数设置及其适用场景(如视频会议、直播监控等),同时指出其易卡顿、高CPU占用的缺点。文章还提供了环境变量配置、编解码性能测试方法,以及视频格式查询技巧。最后强调在支持VAAPI的通用系统下,通过分析视频编码参数和硬件占用率来评估编解码效率的实用方法,并对比了CPU软解与GPU硬解的性能差异。

2025-09-20 10:49:49 1015

原创 3588 mipi摄像头到显示输出

本文提出了一种基于V4L2和DRM的Linux摄像头直接显示方案,旨在解决传统guviewer工具依赖桌面环境引入100-130ms延时的问题。通过多平面V4L2接口(NV12/NV16格式)获取图像数据,结合RGA硬件加速进行YUV-RGB转换,最终使用DRM框架实现无桌面渲染。实验显示该方案将延时降低至80-90ms,性能提升约30%。代码实现了摄像头初始化、缓冲区管理、格式转换和显示全流程,支持多摄像头扩展,为嵌入式视觉系统提供了低延迟的显示解决方案。

2025-09-14 11:48:21 738

原创 linux O_DIRECT标志加快文件存储,你信了吗

本文通过测试程序对比了不同磁盘在使用O_DIRECT标志时的写入性能差异。测试结果显示,对于NVMe固态硬盘,使用O_DIRECT标志时写入速度显著提升(如PCIe 3.0 x4接口下从699MB/s提升至1640MB/s),而传统SATA盘则符合预期性能下降模式。分析表明,非O_DIRECT模式会导致CPU占用100%和内存交换频繁。基于NVMe盘大容量数据写入的工程场景,建议采用O_DIRECT标志以获得更优性能,这体现了工程设计中需结合具体硬件特性进行优化的原则。

2025-09-13 13:57:39 511

GBA_900a_EngWS_C Petersen_Lightning (PCIe JBOF) Update,

GBA_900a_EngWS_C Petersen_Lightning (PCIe JBOF) Update, Challenges, and Solutions_FIN

2017-05-25

eric pyqt5

pyqt 资料及问题整理。整理搜到的资料和对问题的理解。

2018-07-01

eric 创建pyqt5 new

pyqt文档更新,增加槽函数的使用。请帮忙我上一个的同类型文件删除掉。谢谢。

2018-07-22

QEMU_and_OpenGL.pdf

QEMU 对GPU虚拟化的介绍,非常详细,讲解了目前的形式及进展。OpenGL

2019-07-10

remoteswinglibrary

一个通过robot 自动化测试java swing 组件的库

2017-06-08

NSIS安装包.zip

nsis 3.05安装文件及hw edit编辑软件 ,方便不能访问sourceforege的。工具非常好好用,简直是打包利器

2020-04-15

QSS Editor.zip

qt 的qss编辑软件,用于可视化编辑qss,所见即所得。原始在sourceforge上,下载比较困难。

2020-04-04

ocp-2017-storage

storage pcie nvme

2017-05-24

jTessBoxEditor-1.7.3.zip

图片字符训练的工具

2017-06-09

jTessBoxEditorFX-1.0.2.zip

jTessBoxEditorFX-1.0.2.zip

2017-06-09

opencv_install_win_2

opencv

2017-06-06

opencv_install_window

opencv

2017-06-06

eric-python

eric pyqt开发环境,官网信息。下载必须用的。安装时依赖python,python所在目录不要有空格。

2018-01-21

利用Python进行数据分析.zip.002

利用Python进行

2017-09-10

利用Python进行数据分析.zip.001

数据分析

2017-09-10

tesseract-ocr-setup-3.02.02

tesseract-ocr-setup-3.02.02

2017-06-08

engineering Workshops - Storage

storage

2017-05-24

用Python做科学计算

用Python做科学计算

2017-09-03

ppt模板收集及制作.zip

ppt模板,用于简化工作。构建良好易读的PPT,便于交流。 收集相关资料,目前为暂存。这些PPT资料学到了图形制作的便利与强大

2019-12-08

swinglibrary-1.9.7.jar

swinglibrary-1.9.7.jar

2017-05-26

qt egl测试程序,用于在没有gl es2编译选项的环境中使用

qt egl测试程序,用于在没有gl es2编译选项的环境中使用

2026-01-24

rga头文件,用于博客的配套代码

rga头文件,用于博客的配套代码

2025-09-14

yolov8模型文件包

yolov8文件

2025-03-12

xilinux 逻辑实现网口以及phy

xilinux 逻辑实现网口以及phy 文档汇总,包括mac与phy的介绍

2024-11-09

LISA2019_Linux_Systems_Performance.pdf

LISA2019_Linux_Systems_Performance

2021-04-16

sbc5r01.pdf

scsi block 协议

2021-06-05

spi dev用户态测试说明

spi 测试

2023-10-22

intel spi驱动,直接在目标板编译

intel spi驱动,直接在目标板编译,然后加载即可使用

2023-09-23

usb pci phy spec

pcie phy也有规范,此即是。尤其国产芯片中普遍采用。

2023-02-12

dsp corepac规范说明

ti dsp 6678 的corepac的说明手册

2023-02-12

i2c 协议资源,明了i2c最新的进展等

i2c 协议资源,明了i2c最新的进展等

2022-05-16

pcre2-10.34.zip

资源包为pcre2 10.34版本的windows 64位下的库和头文件libpcre2-posix.a libpcre2-8.a pcre2posix.h ,用于windows 64位下的正则匹配

2020-05-03

NCB-PCI_Express_Base_5.0r1.0-2019-05-22.pdf

pcie spec

2021-09-06

Debugging with GDB

Debugging with GDB gdb的经典教程说明文档

2021-08-22

spc6r05.pdf

scsi primary协议

2021-06-05

U盘slow_linux

u disk slow linux mcsema-lift-10

2021-04-16

linuxbestpicture.zip

https://getting-started-with-llvm-core-libraries-zh-cn.readthedocs.io/zh_CN/latest/ch03.html

2021-04-16

wireshark_slowdev5_fastdev6_usb_data.pcapng

usb报文

2021-04-14

usb_udisk_slow_trace_data.zip

usb kernel trace,用于kernelshark的原始数据

2021-04-12

nsis-3.05-log.zip

在nsis制作安装包时,官方下载的工具不生成日志,在发生问题时不知何因。通过此工具可以制作成带有安装日志的安装包。便于在出现问题时定位。

2020-06-03

空空如也

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

TA关注的人

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