<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_40215005的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_40215005</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_40215005]]></copyright><item><title><![CDATA[FDT设备树（dts）和CCF框架]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/108200143</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/108200143</guid><author>qq_40215005</author><pubDate>Mon, 24 Aug 2020 16:17:09 +0800</pubDate><description><![CDATA[在过去的ARM Linux中，arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码，相当多数的代码只是在描述板级细节，而这些板级细节对于内核来讲，不过是垃圾，如板上的platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data。 社区必须改变这种局面，于是PowerPC等其他体系架构下已经使用的Flattened Device Tree（FDT）进入ARM社区的视野。
Device Tree]]></description><category></category></item><item><title><![CDATA[DRM学习]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/108129043</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/108129043</guid><author>qq_40215005</author><pubDate>Mon, 24 Aug 2020 15:12:57 +0800</pubDate><description><![CDATA[DRM
DRM是Linux下的一个驱动架构，全称直接渲染架构。引入之初是为了display显示数据的传输，现在广泛应用于嵌入式领域，并且为显卡GPU提供一部分服务。显卡上具有一些接口如HDMI、VGA等，所以相应的就包含了他们的驱动。
DRM可分为三部分：

libdrm 将控制底层硬件的ioctl做成API给用户空间用。位于中间层。
KMS（Kernel Mode Setting）内核模式设置(KMS)是在内核空间(而不是用户空间)设置显示分辨率和深度的方法，还可显示画面，显示buffer的切换，多图层的]]></description><category></category></item><item><title><![CDATA[HDCP学习理解]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/107838239</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/107838239</guid><author>qq_40215005</author><pubDate>Fri, 07 Aug 2020 15:15:43 +0800</pubDate><description><![CDATA[HDCP Higt-Bandwidth Digital Content Protect高宽带数字内容保护。
本文适用于1.4HDCP。
每个HDCP设备都包含一个私钥（Device Private Keys），由40个56bits的值组成的密钥集。还有一个密钥选择向量（KSV Key Selection Vector），这是一个40bits的二进制数。以上都是数字内容保护公司分配给HDCP设备的，是独一无二的。
HDCP协议认证分为三个部分：


第一部分 验证对方的密钥是否已授权
假设发送端为A，接收端为]]></description><category></category></item><item><title><![CDATA[HDMI的InfoFrame数据]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/107671646</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/107671646</guid><author>qq_40215005</author><pubDate>Thu, 30 Jul 2020 12:00:56 +0800</pubDate><description><![CDATA[InfoFrame 包括很多种

Vendor-Specific InfoFrame
AVI InfoFrame
Source Product Descriptor InfoFrame
Audio InfoFrame
MPEG Source InfoFrame

之前学习到过E-EDID，他是HDMI中Sink到Source的信息，是接收器的属性块，从DDC通道进行传输。InfoFrame就是Source到Sink的信息，是输出源的信息，是输出源的信息，包括很多种类，从TMDS进行传输。
AVI InfoF]]></description><category></category></item><item><title><![CDATA[EDID块学习]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/107521635</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/107521635</guid><author>qq_40215005</author><pubDate>Fri, 24 Jul 2020 11:58:49 +0800</pubDate><description><![CDATA[EDID（Extended Display Indentification Data）扩展显示识别数据，是VESA在制定DDC显示器数据通道通信协议时，制定的有关显示器识别数据的标准。DCC通道就是PC通过访问显示器存储器以获得EEPROM中的EDID而建立的通道。
一般VGA、DVI、HDMI或者DP接口都会用到EDID，由于显示能显示的视频画质细节不断提升，显示器也具备了多样化的视频参数选择，能显示许多不同类型的视频，但是为了保护显示器能正常接受自己能力范围内能显示的视频数据，就衍生出了EDID块，PC]]></description><category></category></item><item><title><![CDATA[spdif数字传输规范]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/107490056</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/107490056</guid><author>qq_40215005</author><pubDate>Wed, 22 Jul 2020 10:15:48 +0800</pubDate><description><![CDATA[s/pdif是SONY和philips公司共同规定的数字信号传输规范，其实就是在AES/EBU上进行改动的家用版本。IEC60958的标准规范囊括了以上两个规范。spdif采用了双相相位编码（BMC），是将时钟信号和数据信号混合在一起的编码方式。

spdif主要是传递PCM格式的音频，也可以传输RAW文件格式。
spdif的消息是串行发送的，一个block为单位，一个block有192个frame，一个frame有两个sub frame，而每个Frame储存了两个声道的一组采样信号（Sample）分别为c]]></description><category></category></item><item><title><![CDATA[I2S总线协议]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/107487439</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/107487439</guid><author>qq_40215005</author><pubDate>Tue, 21 Jul 2020 14:27:26 +0800</pubDate><description><![CDATA[I2S总线协议是Philip公司制定的一种音频传输协议，一共包含三条信号线

BCLK（SCLK）位时钟也叫串行时钟，每发送一个位数据就有一个脉冲，FBLCK=2x	采样频率x采样位数；
LRCLK（WS）声道选择信号，0电平是右声道，1电平是坐声道。FLRCLK=采样频率，采样频率一般采用32KHz、44.1KHz、96KHz、192KHz。
SD 串行数据 用二进制补码的形式表示音频数据。
MCLK 主时钟 MCLK=fs（数据脉冲的个数） x 采样频率

I2S标准模式
数据在LRCLK电平变化后的第]]></description><category></category></item><item><title><![CDATA[色彩空间学习]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/107457516</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/107457516</guid><author>qq_40215005</author><pubDate>Mon, 20 Jul 2020 11:27:36 +0800</pubDate><description><![CDATA[RGB
RGB是应用于计算机图形的颜色模型，是最流行的模型。使用RGB简化了系统的架构与设计，应为这个颜色空间已经存在很多年了，有很多的软件例程可以实现使用RGB颜色空间的系统设计。’
RGB颜色空间最大的优点就是适合于显示系统，直观且容易理解。但是对彩色描述上的应用还有以下不足：

(1) RGB颜色空间利用三个颜色分量的线性组合来表示颜色，因此不同的色彩难以用精确的数值来表示，定量分析困难。细节难以数字化表示，不适合科学研究。
(2) 在RGB颜色系统中，三个颜色分量之间是高度相关的，即只要亮度改变，.]]></description><category></category></item><item><title><![CDATA[联发科面试总结]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/101025091</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/101025091</guid><author>qq_40215005</author><pubDate>Thu, 19 Sep 2019 17:43:12 +0800</pubDate><description><![CDATA[昨天刚面试的联发科，今天就来消息了
分享一下自己面试联发科的感受
面试总共三面
第一面是两人一起面，具体问题如下：

我看你做了内核移植，交叉编译链是什么，那个公司的，什么版本？

答：免费版目前有三大主流工具商提供，第一是GNU（提供源码，自行编译制作），第二是 Codesourcery，第三是Linora。作为学习，答到以上三个就行。

能说一下具体操作系统移植的过程么？

答：内核启动流程：...]]></description><category></category></item><item><title><![CDATA[cJSON格式数据包打包及解析]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/98778973</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/98778973</guid><author>qq_40215005</author><pubDate>Wed, 07 Aug 2019 20:54:39 +0800</pubDate><description><![CDATA[cJSON是JSON格式在C语言环境下的库，包含cJSON.c和cJSON.h两个文件。
现在大多数的项目数据格式都是采用的量级很小的JSON格式，提高了代码的性能。
cJSON库函数

打包流程：
数据成员-&gt;JSON对象赋值-&gt;打包好的JSON格式字符串
解析流程：
JSON格式字符串-&gt;JSON对象获取成员-&gt;数据成员
JSON格式字符串

    char *jso...]]></description><category></category></item><item><title><![CDATA[input子系统分析]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/96997899</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/96997899</guid><author>qq_40215005</author><pubDate>Wed, 24 Jul 2019 14:06:40 +0800</pubDate><description><![CDATA[前面对于按键的驱动有了大致的了解，赋予虚拟总线的概念，注册设备、驱动，互相探测，在探测函数中分配设备号、传递硬件设备信息给自定义结构体、初始化fops结构体、注册cdev结构体，这就是一个按键类型的驱动模型：https://blog.youkuaiyun.com/qq_40215005/article/details/90384563
但是作为一个操作系统，这样的设备实在是太多了，如果能在虚拟总线的基础上再进...]]></description><category></category></item><item><title><![CDATA[嵌入式经典（volatile 堆栈 大小端）]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/96497280</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/96497280</guid><author>qq_40215005</author><pubDate>Fri, 19 Jul 2019 20:12:00 +0800</pubDate><description><![CDATA[题一，堆和栈的区别是？
题二，Volatile与Register的区别是？
题三，ARM里的大端格式和小端格式分别是什么意思？
题一答案：
（1）存储内容不同
栈：在函数调用时，栈中存放的是函数中（最底下是函数调用后的下一条指令）的各个参数（局部变量）。
堆：一般是在堆的头部用一个字节存放堆的大小。堆中的具体内容由程序员分配。
（2）管理方式上不同
栈：由系统自动分配并释放空间。 例如，声明在函数...]]></description><category></category></item><item><title><![CDATA[s3c2440 ds18b20驱动编写]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/96433114</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/96433114</guid><author>qq_40215005</author><pubDate>Thu, 18 Jul 2019 21:24:42 +0800</pubDate><description><![CDATA[上一篇单总线时序分析：https://blog.youkuaiyun.com/qq_40215005/article/details/96435251

这是ds18b20驱动大致结构
硬件初始化BYTE ds18b20_reset(void) 复位脉冲和应答脉冲函数

BYTE ds18b20_reset(void)
{
    s3c2410_gpio_cfgpin(S3C2410_GPG(0), S3C...]]></description><category></category></item><item><title><![CDATA[单总线协议分析]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/96435251</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/96435251</guid><author>qq_40215005</author><pubDate>Thu, 18 Jul 2019 19:15:14 +0800</pubDate><description><![CDATA[1-wire，即单线总线，又叫单总线。
近年来，美国的达拉斯半导体公司(DALLASSEMICONDUCTOR)推出了一项特有的单总线(1-Wire Bus)技术。该技术与上述总线不同，它采用单根信号线，既可传输时钟，又能传输数据，而且数据传输是双向的，但是和i2c不同的是从低位到高位传输。因而这种单总线技术具有线路简单，硬件开销少，成本低廉，便于总线扩展和维护等优点。
单总线适用于单主机系统，能...]]></description><category></category></item><item><title><![CDATA[s3c2440lcd寄存器配置]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/95963208</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/95963208</guid><author>qq_40215005</author><pubDate>Wed, 17 Jul 2019 19:58:49 +0800</pubDate><description><![CDATA[s3c2440有5个寄存器
LCDCON1

ENVID：LCD 输出信号控制位 为1表示使能
BPPMODE：屏幕类型的对应BPP的选择加粗样式
PNRMODE：屏幕类型的选择
MMODE     ：对于STN  LCD设置VM的反转频率
CLKVAL  ：设置像素时钟
        对于TFT: VCLK=HCLK/((CLKVAL+1)*2)

         HCLK=100Mhz的情...]]></description><category></category></item><item><title><![CDATA[LCD驱动及framebuffer子系统解析]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/96180217</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/96180217</guid><author>qq_40215005</author><pubDate>Wed, 17 Jul 2019 19:51:33 +0800</pubDate><description><![CDATA[之前实现了lcd上显示图片，现在来看看framebuffer子系统的主要结构
与input子系统不同，framebuffer子系统有着自己的结构，内核空间内分为核心层和驱动层，核心层负责提供API给应用调用，那么每个帧缓冲设备都对应一个fb_info的结构体，而驱动层就进行fb_info结构体的初始化，并注册到内核中
驱动层
fbmem.c
fbmem.c 处于Framebuffer设备驱动技术的...]]></description><category></category></item><item><title><![CDATA[Framebuffer图片显示和代码解析]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/96169773</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/96169773</guid><author>qq_40215005</author><pubDate>Tue, 16 Jul 2019 19:47:05 +0800</pubDate><description><![CDATA[看了这么多天的lcd，今天打算在屏上显示图片，并分析下代码
显示红白蓝黑四种颜色

先贴代码，从学长哪里copy过来的
#include &lt;unistd.h&gt;
#include &lt;stdio.h&gt;
#include &lt;fcntl.h&gt;
#include &lt;linux/fb.h&gt;
#include &lt;stdlib.h&gt;

#include ...]]></description><category></category></item><item><title><![CDATA[QT初体验c语言嵌套使用]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/95981207</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/95981207</guid><author>qq_40215005</author><pubDate>Tue, 16 Jul 2019 15:18:18 +0800</pubDate><description><![CDATA[最近在玩触摸屏和lcd驱动，想了解一点图形化界面的东西，所以就接触到了QT，QT已经发展到5.10版本了，做图形化界面基本都要学习QT，配合触摸屏上操作可以实现很多功能，我的板子是fl2440的，带有一个lcd电阻触摸屏，由于是arm920t的架构，相对来说比较老了，然后就编译了5.7qt，编译过程非常痛苦，，，编译到最后快完成告诉我说架构太老了，没办法只有降qt版本试试了，然后用5.6qt就成功...]]></description><category></category></item><item><title><![CDATA[s3c2440lcd主要参数及特性]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/95946187</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/95946187</guid><author>qq_40215005</author><pubDate>Mon, 15 Jul 2019 14:03:33 +0800</pubDate><description><![CDATA[dada]]></description><category></category></item><item><title><![CDATA[网络编程之套接字socket]]></title><link>https://blog.youkuaiyun.com/qq_40215005/article/details/91128057</link><guid>https://blog.youkuaiyun.com/qq_40215005/article/details/91128057</guid><author>qq_40215005</author><pubDate>Fri, 07 Jun 2019 18:23:46 +0800</pubDate><description><![CDATA[我们知道网络层提供ip地址的概念来标识不同网络中的主机，而且传输层提供端口的概念来标识主机中的进程（这个端口和路由器中的端口概念不同，路由器的端口用来标识下一个转发）通过【ip，端口号】的组合方式，按理说就可以进行网络的进程通信。
网络通信
现在网络编程无非C/S模式和B/S模式，C/S模式即为客户端/服务器，是最经典的模式，QQ、网易云，你下载了他们家得软件，就是他们家得客户了，打开软件，你就是...]]></description><category></category></item></channel></rss>