自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梁的愚见

一点个人的心得与总结

  • 博客(50)
  • 资源 (3)
  • 收藏
  • 关注

原创 MIPI 打怪升级之DBI篇

在写周期期间,主处理器通过接口向显示模块发送数据。B 类接口使用 D/CX、RDX 和 WRX 信号以及所有八个 (D[7:0])、九个 (D[8:0]) 或十六个 (D[15:0]) 信息信号。两种模式都使用 CSX、D/CX、R/WX 和 E 信号以及 所有八个 (D[7:0])、九个 (D[8:0]) 或十六个 (D[15:0]) 信息信号。两种模式都使用 CSX、D/CX、R/WX 和 E 信号以及所有 8 个 (D[7:0])、9 个 (D[8:0] ) 或十六个 (D[15:0]) 信息信号。

2023-04-15 16:42:50 1210

原创 MIPI 打怪升级之DPI篇

在正常操作中,基于 DPI 架构的系统依靠主机处理器以足够的帧速率连续提供完整的图像数据帧,以避免闪烁或其他可见伪影。显示的图像或帧由像素的矩形阵列组成。帧作为像素序列从主处理器传输到显示模块,图像数据的每条水平线作为一组连续像素发送。当 CM 为高电平时,显示模块应使用八种颜色显示图像数据,每个 R、G 和 B 颜色分量的 MSB。可以同时停止显示模块上所有不必要的电路,以降低显示模块的功耗。在主机处理器和显示模块之间传输有效像素时,控制信号 PCLK 和 Hsync 应始终按规定传输。

2023-04-15 16:15:20 1397

原创 MIPI 打怪升级之DCS篇

唯一的例外是 DBI 系统中 read_memory_continue、read_memory_start、write_memory_continue 和 write_memory_start 命令。DCS全称Display Command Set,即显示命令集,定义了符合MIPI规范的设备的显示模块的行为。一旦配置显示模块,制造商应禁用 MCS。我们可以从DSI IP的命令发送方式上看到,发送DCS的命令需要使用DCS方式,而发送私有的厂商自定义的命令需要使用Gen方式,即Data Type上有所区别。

2023-04-15 10:42:34 1349

原创 MIPI 打怪升级之DSI篇

MIPI DSI

2022-09-13 10:12:30 5060

原创 MIPI 打怪升级之D-PHY篇

MIPI D-PHY

2022-08-24 20:33:19 2860

原创 MIPI 打怪升级之概述篇

MIPI概述

2022-08-18 16:17:43 524

转载 FreeRTOS --(11)资源管理之临界区

目录 1、taskENTER_CRITICAL 2、vTaskSuspendAll 3、Mutexes 3.1、Usage   临界区的概念在任何的 SoC 都存在,比如,针对一个寄存器,基本操作为:读->改->写;在不带 OS 的系统下,普通代码希望对某个寄存器进行读->改->写,此刻,一个 IRQ 打断了这个操作,也同时对这个寄存器进行 读->改-...

2022-03-09 22:26:36 1047 1

转载 FreeRTOS --(9)信号量之概述

目录 1、Binary Semaphores 1.1、Usage 1.2、APIs 1.2.1、xSemaphoreCreateBinary 1.2.2、xSemaphoreTake / xSemaphoreTakeFromISR 1.2.3、xSemaphoreGive / xSemaphoreGiveFromISR 2、Counting Semaphores 2.1、Usag...

2022-03-09 22:11:16 3429 1

转载 FreeRTOS --(9)队列管理之概述

目录 1、Basic Feature 1.1、Access by Multiple Tasks 1.2、Blocking on Queue Reads 1.3、Blocking on Queue Writes 2、Usage And APIs 2.1、xQueueCreate() 2.2、xQueueSendToBack()/xQueueSend And xQueueSendToFront(...

2022-03-09 22:00:53 580

转载 FreeRTOS --(8)任务管理之空闲任务

创建完毕任务,启动调度器,任务控制,系统 SysTick 来临后判断是否需上下文切换; 如果没有其他任务执行的情况下,FreeRTOS 的 Idle 任务将被调度投入运行; 在启动调度器的时候,Idle 任务就被创建了,优先级为最低 0; void vTaskStartScheduler( void ){.....................xReturn = xTaskCreate( prvIdleT...

2022-03-06 17:17:58 1059

转载 FreeRTOS --(7)任务管理之任务切换

现在创建任务(xTaskCreate)、启动调度器(vTaskStartScheduler),任务控制(xTaskDelay),以及Tick 中断(xPortSysTickHandler),都分析完成了,SysTick,PendSV 中断已经使能,接下来第一个任务便可以自由的奔跑;等待下一次 SysTick 来临(1ms 后),调度器工作;   1、xPortSysTickHandler SysTi...

2022-03-06 17:00:34 1103 1

转载 FreeRTOS --(6)任务管理之系统节拍

前面有了创建任务、启动调度器、任务控制,接下来便开始分析一个 Tick 到来之后,FreeRTOS 即将有什么行为; 在启动调度器的时候,就已经配置好了 SysTick,它作为 OS 的心跳,每隔一个固定周期来一次 SysTick 中断,来驱动 OS 做事(任务调度); 以 STM32 为例,定义的 configTICK_RATE_HZ 为 1000,由《FreeRTOS --(9)任务管理之启动...

2022-03-06 00:32:08 464

转载 FreeRTOS --(5)任务管理之任务延时

目录 1、接口介绍 1.1、vTaskDelay 1.1.1、Usage 1.1.2、Implement 1.2、vTaskDelayUntil 1.2.1、Usage 1.2.2、Implement   在《FreeRTOS --(7)任务管理之入门篇》中讲过,如果有几个任务同时跑,但是又都不阻塞的话,那么最高优先级的任务将会占领整个 CPU,因为每次都会调度到它,一直处于 Read...

2022-03-06 00:03:38 2255

转载 FreeRTOS --(4)任务管理之启动调度器

目录 1、vTaskStartScheduler 2、xPortStartScheduler 3、vPortSetupTimerInterrupt 4、prvStartFirstTask 5、vPortSVCHandler   在使用 FreeRTOS 的时候,一般的,先创建若干任务,但此刻任务并没有被调度起来,仅仅是创建了,如果想要真正的跑起来,那么还需要调用让调度器跑起来的函数: ...

2022-03-03 22:23:11 843

转载 FreeRTOS --(3)任务管理之创建任务

目录 1、描述任务的结构 2、任务创建 2.1、xTaskCreate 2.2、prvInitialiseNewTask 2.3、pxPortInitialiseStack 2.4、prvAddNewTaskToReadyList 在《FreeRTOS --(7)任务管理之入门篇》文章基本分析了任务相关的轮廓后,我们知道使用什么接口来创建一个任务、怎么去开启调度器、以及根据宏配置,选择调度器的行为;...

2022-03-02 22:23:41 1417 1

转载 FreeRTOS --(2)任务管理之入门篇

目录 1、任务状态 2、任务创建 3、任务优先级 4、任务阻塞 5、任务挂起 6、空闲任务 5、任务调度 5.1、抢占式调度 5.2、协作式调度   任务管理是操作系统中重中之重,不管什么 OS ,任务的调度管理都是核心,FreeRTOS 也是一样;在深入到 FreeRTOS 任务管理的源码之前,鄙人觉得有必要先去从全局的角度进行把握,从全局到局部,从粗线条,到细节,鄙人觉得这样方...

2022-03-01 21:53:15 1074

转载 FreeRTOS --(0)简介

FreeRTOS 是一个嵌入式实时操作系统,具有相对(相对 Linux、Windows等)较小的体积,使用精简的代码实现了简单的进程调度,内存管理,消息发送,等,常常用在一些需要支持多任务的 MCU 上;在没有 RTOS 的嵌入式小系统中,代码都跑在 while 1 中,我们称之为 “裸机”,也没有任务的概念;而 RTOS 的出现,使得可以支持多任务执行(宏观并行,微观串行),任务与任务,中断与任务,之间可以通过消息传递数据; RTOS(Real Time Operation System)实时操作系统

2022-02-28 22:18:55 151

转载 FreeRTOS --(1)链表

Based On FreeRTOS Kernel V10.3.1 1、相关文件 链表结构是 OS 内部经常使用到的,FreeRTOS 自然也不例外,在深入分析各个模块的工作原理之前,首先来分析 FreeRTOS 的链表结构,和链表相关的代码被定义在: list.h list.c   2、数据结构 不得不说,FreeRTOS 另一个成功的因素,在于他的代码注释,非常的完备...

2022-02-28 22:14:36 706

原创 PDM

PDM——Pulse Density Modulation1 Protocols Introduction1.1 PDM Introduction1.2 PCM Introduction1.3 PDM To PCM2 PDM StructurePDM Structure2.1 Block Diagram2.2 Main Features2.3 PDM Timing2.4 Hardware Connect2.5 Application3 Functional Description3.1 Operation3

2021-01-26 20:59:46 7083 1

原创 DMA

DMA—Direct Memory Access1 Overview1.1 What is DMA1.2 Main Components1.3 Applications一级标题1 Overview1.1 What is DMADMA将数据从一个地址空间复制到另一个地址空间,提供外设和存储器之间、存储器和存储器、及外设和外设之前的高速数据传输。这个传输动作是由DMA控制器来完成的,且整个过程无需CPU直接控制传输,也没有中断方式那样保留现场和恢复过程,通过硬件为RAM和外设开辟一条直接传输数据的通道,使

2021-01-26 20:27:31 1029

转载 FreeRTOS前言----为什么选择FreeRTOS?

转载原文链接:https://blog.csdn.net/zhzht19861011/article/details/498191091.为什么学习RTOS?作为基于ARM7、Cortex-M3硬件开发的嵌入式工程师,我一直反对使用RTOS。不仅因为不恰当的使用RTOS会给项目带来额外的稳定性风险,更重要的是我认为绝大多数基于ARM7、Cortex-M3硬件的项目,还没复杂到使用RTOS的地步,使用状态机就足够了。对于现代的微处理器,特别是资源相对丰富ARM7、Cortex-M3硬件来说,RTOS占用

2020-07-15 19:25:54 425

转载 SPI总线

SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。其优点在于:支持全双工通信、通信简单、数据传输速率块,缺点也比较突出:没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据,可靠性上有一定的缺陷。特点:1):高速、同步、全双工、非差分、总线式...

2019-11-04 15:42:24 501

转载 IIC总线

IIC标准速率为100Kbit/s,快速模式400Kbit/s,支持多机通信,支持多主控模块,但是同一时刻只允许有一个主控。由数据线SDA和时钟SCL构成串行总线;每个电路模块都有唯一地址。I2C设备的操作可分为写单个字节存储,写多个字节存储,读单个存储字节和读多个存储字节,操作如下:a) 总线空闲状态I2C总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件...

2019-10-31 19:47:40 1207

原创 U-Boot客制化部分的跨平台实现

U-Boot客制化部分的跨平台实现架构描述客制化部分的跨平台实现的意义:对于使用linux方案的公司而言,在boot的客制化过程中,由于管控松懈,需求不稳定。导致客制化部分与原厂(芯片原厂与u-boot)的代码耦合性较高,也造成了切换新的平台(尤其是新的厂家)的时候,boot中有不少适配工作,极易漏掉曾经的patch、feature等,且极不方便前期方案评估的时候快速完成demo看效果。在后期...

2019-10-16 21:04:11 200

原创 同平台共固件方案

共固件做法

2019-09-05 20:54:21 166

原创 设备树简介

设备树简介一:设备树由来linux内核源码中,之前充斥着大量的平台相关(platform Device)配置,而这些代码大多是杂乱且重复的,这使得ARM体系结构的代码维护者和内核维护者在发布一个新的版本的时候有大量的工作要做,以至于Linus Torvalds 在2011年3月17日的ARM Linux邮件列表中宣称“Gaah.Guys,this whole ARM thing is a f*...

2019-08-14 21:06:56 6034

原创 Kernel5.0 字符设备驱动file_operations

struct file_operations 定义在#include <linux/fs.h>中,具体如下:struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char __use...

2019-05-13 23:05:59 309

原创 C++中父类Call子类独有的方法

偶然想到,如何通过父类来获取子类的一切内容?答案是否,子类存在的意义就是青出于蓝胜于蓝,肯定是有其区别其父类的(新加的函数,变量等)。而目前也没有想到类似的应用场景呢,更多的时候多态Public函数就能够应对。不过,天无绝人之路,如果通过子类函数返回子类的指针(引用同理)那就相当于拿到子类的对象了,具体如下:class Son; // 前置声明 class Father { public:...

2019-04-18 19:42:36 502

原创 linux中的自动锁(借鉴Mute::AutoLock)

Linux中实现自动上锁解锁 起因:最近由于遇见一个特别敏感的器件----在对其进行操作的时候不能有其他线程打扰(Nothing is allowed),而在API层的封装中,每个功能函数都几乎涉及了这个器件,也就意味着我API层的所有Public函数都得互斥(ALL),暂时结果就是我需要将相关的所有函数都上同一个互斥锁。 方案:由于每个函数的逻辑不尽相同,而跳转也挺多,挨个的在函数头加锁,函...

2019-04-18 11:55:41 544

原创 设计模式——工厂模式

一:简单工厂模式简单工厂模式是工厂模式中最简单的一种,它可以用比较简单的方式隐藏创建对象的细节,一般只需要告诉工厂类所需要的类型,工厂类就会返回需要的产品类,但客户端看到的只是产品的抽象对象,无需关心到底是返回了哪个子类。客户端唯一需要知道的具体子类就是工厂子类。除了这点,基本是达到了依赖倒转原则的要求。 优点 1.隐藏了对象创建的细节,将产品的实例化推迟到子类中实现。 2....

2018-06-21 22:55:42 136

原创 设计模式——单例模式

单例模式--保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的方法就是:让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它还可以提供一个访问该实例的方法。 既然构造函数是私有了,那么他就只能被类内部的成员函数调用,所以我们可以搞一个共有函数去供外部调用,然后这个函数返回一个对象,...

2018-06-19 21:25:23 165

翻译 ubuntu apt-get

Ubuntu下apt-get命令详解 本文列举了常用的APT命令参数:apt-cache search package 搜索软件包apt-cache show package 获取包的相关信息,如说明、大小、版本等sudo apt-get install package 安装包sudo apt-get install package --reinstall 重新安装包sudo apt-get

2017-12-08 16:42:16 268

原创 设计模式的设计原则

一:单一职责原则 二:里氏代换原则 三:开放-封闭原则 四:依赖倒转原则 五:合成/聚合复用原则 六:迪米特法则

2017-12-08 16:23:28 140

转载 String类

转载:http://blog.csdn.net/moxiaomomo/article/details/6411584面试的时候被问及了String类的实现,结果没写好… 就当是重新复习一下吧。 下面的程序并没有把String类的所有成员方法实现,只参考教程写了大部分重要的成员函数。 [cpp] view plain copy#include<iostream> #include<ioman

2017-07-21 19:25:16 210

原创 内存的几个小问题

先看问题,下面只我最近刷题发现的几个高频题char *GetMemory(void){ char p[] = "hello world"; printf("%s\n", p); return p;}void GetMemory1(char *p){ p = (char *)malloc(100);}void GetMemory2(char *&p, int

2017-07-21 19:24:16 180

原创 将一个有序整数数组放在一个二叉树中

#include <stdio.h>#include <windows.h>#include <iostream>using namespace std;struct student{ int vaule; struct student *lchild; struct student *rchild;};void arraytotree(int *a,int len,

2017-07-18 20:34:43 345

原创 c语言——按单词反转字符串

例如:Hi what your name result:name your what Hi#include <stdio.h>#include <windows.h>char *reverse_word(const char *str){ int len = strlen(str); char *restr = new char(len + 1); strcp

2017-07-18 16:23:40 1872

原创 约瑟夫环

约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。#include <iostream>using namespace std;struct node{ int data; node

2017-07-18 14:16:13 145

原创 C语言小函数—二进制与十六进制

#define SIZE 32char *dec_bin(long num){ int i = SIZE; char *buff = (char*)malloc(SIZE + 1); buff[SIZE] = '\0'; memset(buff, '0', SIZE); while (num) { buff[--i] = num %

2017-07-18 10:39:54 407

原创 C语言小函数——查找最长数字串

函数原型: unsignedint Continumax(char** pOutputstr, char* intputstr)输入参数: char* intputstr 输入字符串;输出参数: char** pOutputstr: 连续最长的数字串,如果连续最长的数字串的长度为0,应该返回空字符串;如果输入字符串是空,也应该返回空字符串; 以下是自己实现的代码#inc

2017-07-14 14:49:06 554

QT5的opencv编译好的库

亲自试用 没有问题

2017-07-14

基于stm32与NRF24L01的无线门禁(带RFID功能)

自己参加比赛作的,实际测量有效,希望给大家一点参考

2016-07-05

红外控制单片机通过gsm固定拨号

能通过红外控制单片机来控制gsm固定拨号 用于电子方面的单片机设计

2015-10-22

空空如也

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

TA关注的人

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