自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 字符串匹配(朴素查询+简单KMP)

字符串匹配问题在串一章中是最需要研究的问题,结合课本理论今天花了点时间写了字符串匹配的程序,分别用爆破和简单KMP实现了,下面直接上程序:之后研究了网上的做法,发现绝大多数人都是用while来实现主要的KMP程序,但是这里我用了for循环。while更好理解而for有几处小细节需要注意,总之写程序边手写验证边写对我来说是最好的办法。KMP算法虽然程序看上去很简单,但是其中的复杂程度不低于树图类算法,其本质就是研究子串,或者更精确讲是研究子串的next数组。结合程序我认为大家需要思考的点有:为什么网上的

2022-06-05 00:28:27 241 1

原创 CTA-861标准解析EDID的VSDB与VDB

之前在某项目上做屏幕自适应分辨率时,按照vesa标准解析edid得出的分辨率不全导致自适应功能概率性失效,换为CTA 861标准解析后功能正常。此功能的代码对数据结构知识的要求不高,但是对C语言能力要求较高,特别是数位移、临界值的判断以及接口构建等操作。花了一下午写了VSDB与VDB解析的接口,除了vic数组其余全部手码,代码如下:#include <stdio.h>//static int edid[] = {//0x00,0xff,0xff,0xff,0xff,0xff,0xf

2022-05-22 23:42:28 2597

原创 链栈实现括号匹配

睡前练手,欢迎纠错。实现计算机底层括号匹配功能。#include <stdio.h>#include <string.h>#include <malloc.h>#define LEN 20int flag;typedef struct Stack { char val; Stack* next;}Stack;int Initstack(Stack *&S) { S = (Stack*)malloc(sizeof(Stack));.

2022-05-19 00:16:11 301

原创 规定大小的循环队列

#include <stdio.h>#define Maxsize 10static bool flag = 0;static int det = 0;typedef struct Queue { int val[Maxsize]; int front, tail;}Queue;int initQueue(Queue& Q) { Q.front = Q.tail = 0; return 1;}int Enqueue(Queue& Q, int nu.

2022-05-15 20:30:15 287

原创 顺序表与链表实现双端队列与栈的增删

1.栈的增删与测试#include <malloc.h>#include <stdio.h>#define Maxsize 10/*顺序栈的数据结构定义*/typedef struct { int data[Maxsize]; int top;}Stack;/*链表栈的数据结构*/typedef struct Stacknode { int data; Stacknode* next;}Stacklist, Stacknode;/*初始化栈

2022-05-14 21:04:57 240

原创 LCD/HDMI OUT调试经验(8)-----事件上报

本篇文章的内容与LCD/HDMI OUT的内容关系不大,事件上报是内核与上层通信的一种方式,在有些时候需要上报一些插拔事件或者上报分辨率等信息需要接触到,还是和之前的文章一样,本篇文章将介绍三种事件上报的方式但是只是介绍具体操作步骤,而理论知识以及上报过程需要自己找资料理解。一、kobject事件上报及验证kobject是高通自带的上报接口之一,调用kobject_uevent函数即可上报,以下为为电源插拔做的事件上报,并建立进程接受到上报事件后重置USB的示例。首先找到电源驱动并找到电源插

2022-05-08 22:55:49 612 2

原创 LCD/HDMI OUT调试经验(7)------I2C与显示问题总结

本篇文章将列举入职以来调试各种项目中遇到的I2C与显示的问题并给出解决方案,大多数比较难找到原因的问题不太会碰到,但是也可以借此对I2C与显示了解更深入。关于解决方案只是提供错误原因和代码与配置的修改,具体更细致的原因请各位自己根据具体情况了解清楚。一、I2C调试问题(1)I2C不通a.检查上电当你配置好设备树并且添加驱动上电,运行驱动发现I2C读写失败后,首先应该先量配置的引脚的电是否都有,自己量时需要对照位号图和原理图确定位置,这里教一下如何确定机器引脚位置:以这VCC

2022-05-08 20:27:25 2256

原创 LCD/HDMI OUT调试经验(6)------点亮HDMI屏幕

在调试display的经历中,除了一些手持类设备以外其他机器基本都会外接HDMI屏幕,显示原理之前也提过:由模块发出的MIPI信号经过9611或者9611uxc芯片输出HDMI信号最后在屏幕进行显示。这两款芯片的最主要差别是9611uxc最高可以支持到4K60fps 的输出画面而9611是4K30fps。和调试9211的大致步骤完全一样,9611和9611uxc的芯片也是分为添加驱动,上电和配置屏幕,只不过需要具体修改配置屏幕的一些参数。所以请先熟悉9211的调试再阅读本篇文章。本文基于高通845平台,

2022-05-07 20:59:29 1665 1

原创 LCD/HDMI OUT调试经验(5)------点亮LVDS屏幕

本篇文章基于高通845模块,详细讲解外设MIPI转LVDS芯片lt9211的调试过程。本文主要分两部分,第一部分为kernel阶段的初始化及点亮屏幕,第二部分为根据客户需求开机就点亮屏幕,即在UEFI阶段就初始化芯片。但是调试步骤都是一样的,一加驱动二上电三配屏。一、kernel阶段的点亮过程在之前的文章中介绍过LCD的点亮以及调压芯片的调试,点亮LVDS其实就是结合了这两者的调试步骤:(1)阅读原理图与芯片数据手册并添加驱动拿到调试任务,首先需要了解与明确调试芯片的功能、原理图

2022-05-06 00:31:14 3097 1

原创 LCD/HDMI OUT调试经验(4)------点亮LCD

本文以最近在QCM6490平台调试的一块FT8719为例,详细介绍点亮一块LCD屏幕的完整过程。点亮屏幕的操作主要分两部分:上电和配置MIPI参数。上电保证屏幕可以有正常的背光,而MIPI参数保证有合适的清晰度,分辨率和画面。一、上电拿到调试任务先看原理图,以下为LCD的一些引脚。从名称中可以了解我们需要对LCM_AVDD、LCM_AVEE以及VREG_L12C上电,LED_K和LED_A为PWM调光的引脚,最后还需要对RESET_N进行拉低高低电压初始化初始化。如果是新手或

2022-05-04 18:17:29 2920

原创 LCD/HDMI OUT调试经验(3)------GPIO操作与MIPI参数的获取方式

在了解上一章节引脚权限相关操作后,我将抛开官方描述,从入手调试角度详细介绍模块中的GPIO是什么、怎么操作等等。另外,最后将以LCD的mipi数据获取方式介绍AP与BP的交流。一、GPIO之前讲述一些概念时我都以引脚来代替GPIO,一是因为引脚的概念大家在大学都学过了解过,二是抛开概念不谈,其实GPIO和pin脚是一样的,只不过主动可控的pin脚叫GPIO,而被动受影响的pin脚就是pin,这里需要注意的是我们在高通的代码中只能操作高通模块的GPIO,一些外接芯片的引脚都是受控的,所以无法直

2022-05-03 19:21:43 1978

原创 LCD/HDMI OUT调试经验(2)------驱动流程与基本操作

本章先接上章描述一下LCD/HDMI OUT在开机过程中显示的流程,并介绍一些UEFI阶段的权限配置与屏幕参数配置,最后是一些需要掌握的驱动中常添加功能。注意:本文从内核开发角度介绍,接触到上层后本文一些概念不适用一、BP侧文件的配置及程序流程我们调试的机器开机大致可分为两个阶段,UEFI阶段以及kernel阶段,UEFI阶段类似于一段程序的初始化,而kernel阶段就是程序在执行功能函数。上图为UEFI的运行流程,包括初始化和引导操作系统,最后进入kernel系统。对应到项目文

2022-05-02 17:25:58 1796 4

原创 LCD/HDMI OUT调试经验(1)------驱动软件架构

因为调试的平台是高通,所以只介绍关于高通平台的软件架构,以下总结基于我的调试经验,与专业总结会有差距。一、高通平台驱动文件架构上图为目前我所接触到最多的文件架构,高通平台的代码有很多,作为初级bsp工程师暂时无需了解其余文件,主要是kernel中的driver、Makefile以及设备树。基本的配置步骤是:设备树->bp->驱动文件。在设备树先添加自己所需节点与设备信息,在bp修改一些权限之类的配置辅助驱动申请,再去添加或者修改驱动文件编译。(1)设备树的解析它是

2022-05-01 19:32:52 1411 2

原创 LCD/HDMI OUT调试经验(0)------驱动介绍

本人是一位主要负责调试显示的驱动工程师,我将以显示相关的驱动调试为例,分享从入职不到一年以来的驱动调试经验。注意,此系列文章着重介绍关于实际调试的操作,不注重理论,请空余时间补充文中不懂的理论知识。驱动对我来说,无非是给一片连接好电路的芯片按照一定规则上电让它运作起来。拿一些显示信号转换芯片(9211,9611,96111uxc等等)来说,首先需要了解这类芯片的作用。...

2022-05-01 15:57:20 928

空空如也

空空如也

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

TA关注的人

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