自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (5)
  • 收藏
  • 关注

原创 SecureBoot 方案

常用的SecureBoot方案介绍。

2025-11-18 15:50:48 279

转载 浅析安全启动(Secure Boot)

安全启动的根本目的是为了防止消费者从软硬件层面对产品的部分关键系统进行读写、调试等高权限的操作。以限制消费者的能力,来达到保护产品的商业机密、知识产权等厂家权益的目的。当然,厂家是不会这样宣传 Secure Boot 的。他们的文案通常都是通过这项技术保护用户的隐私,防止恶意软件修改系统软硬件等等。不过不论如何,随着 ARM 架构的广泛授权,基于 TrustZone 的 Secure Boot 也越来越普遍了。

2024-04-09 15:26:08 779

原创 国密算法介绍

国密算法是指由中国国家密码管理局发布的密码算法标准,旨在保障国家信息安全。目前,国家密码管理局已发布了一系列国产商用密码标准算法,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9以及祖冲之密码算法(ZUC)等。通过在金融、电子政务及安防等领域广泛应用国密算法,在对敏感数据进行机密性、完整性和可用性保护的同时,减少对外部密码产品的依赖,提升国家信息安全水平。

2024-01-12 13:45:33 1664

原创 LCD接口模式

Frame Buffer DriverLCD 接口模式enum lcdc_lcd_mode { TFT_24BITS, TFT_18BITS, TFT_16BITS, TFT_8BITS_SERIAL, TFT_8BITS_DUMMY_SERIAL, TFT_MIPI, SLCD_6800, SLCD_8080, SLCD_MIPI, SLCD_SPI_3LINE, SLCD_SPI_4LINE,};LCD接

2020-12-28 17:14:13 1289

原创 camera理论基础和工作原理

一、摄像头模组(CCM) 1、camera特写 摄像头模组,Camera Compact Module,简写为CCM,是影响捕捉的重要元器件,我的理解就是硬件上的摄像头。如下图: 2、摄像头内部分解 摄像头硬件结构图: (1)、工作原理 光线通过镜头Lens进入摄像头内部,然后经过IR Filter过滤红外光,最后到达sensor(传感器),senor分为按照材质可以分为CMOS和CCD两种,可以将光学信号转换为电信号,再通过...

2020-07-18 16:13:06 2400

原创 lrzsz的交叉编译与使用

1.平台(君正x1830),交叉工具链为mips-linux-gnu-2.软件下载wgethttps://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz3.配置脚本#!/bin/bashCUR_DIR=`pwd`HOST=mips-linux-gnuBUILD=mips-linux-gnuINSTALL_PREFIX=${CUR_DIR}/lrzsz_outmkdir -p ${INSTALL_PREFIX}echo "ac_c..

2020-06-19 15:41:35 2542

转载 共享内存

下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc()分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访问同一段共享内存的任何其他进程。特别提醒:共享

2020-05-29 09:27:36 3220

转载 Ubuntu 16.04下8051单片机开发环境搭建

工作需求,准备学习单片机,加上以后准备学习嵌入式Linux,而且最近烦透了Win10的自动更新,遂放弃Windows环境,准备在Linux环境下从51单片机开始折腾起,学单片机和Linux两不误。本人是单片机和Linux系统双料新手,学习过程中碰壁不断,遂将过程做一下笔记,也分享到网上,高手见笑,新手且看,希望能帮到一些朋友。系统:   Ubuntu 16.04 LTS amd64单片机:  某宝¥149开发板,芯片STC90C51,板子自带USB转串口芯片CH340G。Ubuntu好像自带了.

2020-05-20 14:22:18 876

原创 用UltraEdit把bin文件转换成16进制数组

1、首先准备好要转换的bin文件和目标(txt或者C,C++)等文件,本文用sst4.bit和fpga_code.c作为示例。2、用UltraEdit打开两个文件3、在sst4.bit中,选中要转换的部分,在“编辑->十六进制函数(X)->十六进制复制查看(V)。4、粘贴到fpga_code.c中。5、在“列块模式”下,删去没用的部分。6、在十六进制前添加...

2020-02-20 11:31:27 4415

原创 工作队列使用心得

最近调试一个音频问题很是奇葩,在比较极端的测试条件下会造成串口丢失数据。问题是这样的当应用层频繁的播放一段短音频文件并且串口不断的在传输数据,此时串口会比较频繁的丢失一些数据。后面查找问题发现是由于频繁的播放短音频文件会导致频繁的开流关流操作,而音频的开流和关流操作会关闭中断,最致命的问题是开流关流时有个很耗时的操作(等待硬件寄存器状态)大概2ms,耗时这么久还把中断关了,这肯定会有问题的。一开始...

2019-12-04 14:37:54 341

原创 使用命名管道实现单机双人聊天

/********************************************************************************** 命名管道 (FIFO) 利用命名管道实现单机双人聊天提示: 父进程创建子进程,实现多任务。父进程负责发信息(向FIFO里写数据),子进 程负责接收信息( ...

2019-07-19 11:45:44 674

原创 压缩指定字符

最近做热敏打印机功能,根据打印协议系统的不断的往打印板发送数据,每次得发送152字节。由于使用的是串口通信,数据量太大的话会导致数据丢失,这样就导致热敏打印机的走纸速度受到很多的限制。而客户需求的速度却大于这个速度,为了解决这个问题只能减少单次发送数据的数据量,观察每次发送的152字节数据发现,这152字节的数据中大部分数据都是0,而且还是连续的一片0。于是想到了写个压缩算法将这些0压缩一下。对于...

2019-07-19 11:10:45 236

原创 点阵字体的旋转

最近由于工作原因一直在编写热敏打印应用相关的代码,其中就涉及到中文打印。对于中文打印大概涉及三个方面的内容:中文输入、汉字编码与转码、点阵字体的处理。对于这三个方面涉及的知识还是挺多的,在此就对点阵字体相关的内容做一个小结。一、点阵字体概述做过单片机点阵开发的同学肯定不会陌生,对于16x16的点阵,当某些位点亮某些位熄灭时就可以显示文字或图片。对于点阵字体其实就是将这些位的亮灭信息保存在一...

2019-06-25 09:32:41 2142

翻译 YUV format

YUV is a class of pixel formats used in video applications, includingVLC media player.YUV is actually the name of the color space that is common to all "YUV" pixel formats. Contrary to RGB formats ...

2019-03-11 14:28:34 393

原创 SDK、JDK、JRE 和JVM 之间的关系

摘要:  SDK(SoftwareDevelopKit,软件开发工具包),用于帮助开发人员的提高工作效率。各种不同类型的软件开发,都可以有自己的SDK。Windows有WindowsSDK,DirectX有DirectX9SDK,.NET开发也有Microsoft.NETFrameworkSDK。JAVA开发也不含糊,也有自己的JavaSDK。JavaSDK最早叫JavaSoftwareDevel...

2018-12-18 09:46:51 872 1

转载 qt下载地址

记录下Qt各版本的下载地址,便于后期查找及下载1. 所有Qt版本下载地址:http://download.qt.io/archive/qt/2. 所有Qt Creator下载地址:http://download.qt.io/archive/qtcreator/3. 所有Qt VS开发插件下载地址:http://download.qt.io/archive/vsaddin/4....

2018-11-01 17:02:59 171

转载 HTTP协议

HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信

2018-01-29 19:48:21 326

转载 ubuntu16.04开发环境搭建

1 简介Ubuntu 16.04安装完后,还需要做一些配置才能愉快的使用,包括添加软件源、安装搜狗输入法、Chrome浏览器、网易云音乐、配置快捷键、安装git等等,下面就跟着我来配置吧,just do it2 版本选择如果你是小白,不想折腾,可以直接选择安装deepin linux,中文名”深度Linux”,这个是国内目前最好用的Linux之一,开箱即用,常用软件都安装好了,甚至连最...

2018-01-14 17:00:02 17571

转载 input系统

第一章、了解linux input子系统       Linux输入设备总类繁杂,常见的包括有按键、键盘、触摸屏、鼠标、摇杆等等,他们本身就是字符设备,而linux内核将这些设备的共同性抽象出来,简化驱动开发建立了一个input子系统。子系统共分为三层,如图1所示。图1  input输入子系统       驱动层和硬件

2017-09-03 17:29:19 596

转载 BMP图片格式

因为公司的主要业务是图像识别相关的,因此对图像处理、识别是我学习的重点。虽然写程序也不少年了,但是对于图像处理领域,我还是一个新兵。对很多基础的概念也还是存在盲区,所以想在边学边做的过程中,对一些概念的梳理和学习心得进行记录。BMP文件格式BMP(Bitmap-File)图形文件,又叫位图文件,是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持B

2017-08-31 15:32:27 503

原创 RAW RGB与RGB

网上关于RGB Raw data的介绍的比较混乱,现整理了一下给大家发出来,先看看网上的一种说法“摄像头的数据输出格式一般分为CCIR601、CCIR656、RAW RGB等格式,此处说的RGB格式应该就是CCIR601或CCIR656格式。而RAW RGB格式与一般的RGB格式是有区别的。”大嘴评述:这里的摄像头严格来说应该是传感器(sensor),个人觉得CCIR601和CCI

2017-08-22 14:30:31 5548

转载 linux SD卡驱动分析

1. 硬件基础:SD/MMC/SDIO 概念区分概要SD (Secure Digital )与 MMC (Multimedia Card )SD 是一种 flash memory card 的标准,也就是一般常见的 SD 记忆卡,而 MMC 则是较早的一种记忆卡标准,目前已经被 SD 标准所取代。 SDIO 是目前我们比较关心的技术,SDIO 故名思义,就是 SD

2017-07-12 15:48:16 605

原创 制作linux启动logo

1、linux启动logo可以通过配置内核来选择通过选项可以选择不同颜色的小企鹅。但是内核提供的图片比较单一,为了使得开机logo更加的多样,下面介绍如何自定义开机logo。2、生成格式为ppm的图片对于ubuntu系统可以先安装一下工具: sudo apt-get install netpbmbmp图片使用bmptoppm。jpeg、png、gif都有相应的t

2017-06-29 16:23:12 840

转载 OOAD与UML笔记

UML基础介绍1.UML的定义统一建模语言(UML)是一种图形化的语言,它可以帮助我们在OOAD过程中标识元素、构建模块、分析过程并可通过文档说明系统中的重要细节2.OOADOOAD是根据OO的方法学,对软件系统进行分析和设计的过程—— OOA 分析阶段—— OOD 设计阶段3.面向对象面向对象( Object-Orientation ,简称OO)是一种系统建模技术

2017-04-27 16:07:33 373

转载 UML类图与类的关系详解

在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。基本概念类图(Class Diagram): 类图是面向对象系统建模中最常用

2017-04-27 09:41:19 289

原创 openGL指定着色模式

#include const GLdouble Pi = 3.1415926536;void myDisplay(void){int i;// glShadeM odel(GL_FLAT);glClear(GL_COLOR_BUFFER_BIT);glBegin(GL_TRIANGLE_FAN);glColor3f(1.0f, 1.0f, 1.0f);glVertex2f(0.0

2017-03-17 16:13:02 2543

原创 openGL正交矩阵转屏幕矩阵

void display(){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(1.0, 0, 0, 0); //指定视口 glViewport(0, 0, 400, 400); //指定投影矩阵 glMatrixMode(GL_PROJECTION); //指定以下的操作针对投影矩阵,不能少否则显示

2017-03-17 15:40:32 823

原创 openGL绘制正弦曲线

const GLfloat factor = 0.1f;void display(){ GLfloat x; glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_LINES); glVertex2f(-1.0, 0.0); glVertex2f(1.0, 0.0); glVertex2f(0.0, -1.0); glVertex2f(0.0, 1

2017-03-16 17:18:00 5158 2

原创 openGL绘制圆

const int n = 3;const GLfloat R = 0.5f;const GLfloat pi = 3.1415926536f;void display(){ int i = 0; glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); for (i = 0; i < n; i++) { glVertex2f(

2017-03-16 17:01:26 22726

原创 第一个opengl程序

最近使用ffmpeg制作播放器,刚开始在自己的pc电脑中实现播放器的解码、yuv转RGB、图片的缩放、、、、、一切看起来还算胜利,播放器最终能够很好的播放视频,以为可以松一口气了,当我将我的播放器交叉编译到全志T3平台上(一款后视镜)发现播放视频时有点卡顿,经过一翻打印测试后发现,播放过程中丢帧比较严重,导致这种现象的主要原因是由于在视频帧更新绘制时比较耗时(20ms),还有就是yuv

2017-03-16 16:24:14 444

原创 openGL基本绘图

OpenGl 是一套3D 绘图函数库, 在三维空间绘图是他的功能,可惜人和电脑的沟通方式还不够发达,不然是不是艺术家可以通过一些程序用意识凭空在空间里作画,是不是很酷(科幻电影看多了)而现在我们仍然只能通过传统的笛卡尔坐标系这种一板一眼的方式 将我的脑中的图形量化,和数字化。在这一点上OpenGl的对空间事物的体现方式无疑是完善的,在opengl中,也有一个内建的坐标系,就如我们的视野有限一样,o

2017-03-16 11:26:54 647

原创 Linux下openGL编程

OpenGL是一个工业标准的三维计算机图形软件接口,它由SGI公司发布并广泛应用于Unix、OS/2、Windows/NT等多种平台,当然也包括Linux。在Windows/NT平台上,一般的开发工具如VC、BC、Fortran Powerstation等都支持直接的OpenGL应用的开发;在商用Unix平台上,Motif同样很好的支持OpenGL(毕竟OpenGL最初是工作站上的东西);那么在L

2017-03-16 11:25:32 1133

原创 openGL--GLUT

"GLUT"[I] 全称为 OpenGL Utility Toolkit.[/I] Mark J. Kilgard 创作的 GLUT 库, 是我们创建完全独立于窗口系统的 OpenGL 程序成为可能. 感谢 GLUT, 我们能够在不了解 X Windows 或者 Microsoft Windows 窗口系统本身的情况下编写3D应用程序. Kilgard 编写了GLUT的 X Windows 版

2017-03-16 11:23:34 527

原创 openGL坐标变换

三维观察原理类似于拍一张照片的过程。(类似于red book )系列框图的左右对照来看,照相的第一步是将照相机调整位置置于三角架上;第二步是将物体调整位置放在相机的视野当中。实际上,相机和三维物体是相对位置,相机移动位置也可以理解为物体反向移动位置,因此这两步可以理解为一步,即调整三维物体和视点的位置,将世界坐标系下的物体变换到观察坐标系下。在计算机图形学中,定义模型矩阵(Modeli

2017-03-16 11:17:26 368

转载 三维绘图之OpenGL和Qt的结合

OpenGL是绘制三维图形的标准API。Qt应用程序可以使用QtOpenGL模块绘制三维图形,该模块依赖于系统的OpenGL库。Qt OpenGL模块提供QGLWidget类,可以通过对它子类化,并使用OpenGL命令开发出自己的窗口部件。对许多三维应用程序来说,这就足够了。         这节假设大家都已经学过OpenGL,这样我们就无后顾之忧了。         在Qt中绘制Open

2017-03-13 15:47:25 7142 1

原创 Xplayer

1、锁/解锁功能锁/解锁功能功能的实现是通过更改视频文件名,即“锁”在文件名后加上_lock,“解锁”即将_lock去除,所以在给视频加锁或解锁涉及到两种情况,即视频文件是否处于打开状态。当视频文件处于关闭状态时比较好处理直接修改名字,而如果视频处于打开状态时就不能直接更改名字了,需要等视频关闭再更改名字。1.1 程序流程图:1.2 相关代码 if (!v

2017-03-08 16:40:28 824

原创 eclipse中的常用快捷键

一、eclipse 中的一些常用的快捷键(给才学java的同学用)Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。   1. 【ALT+/】   此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,   多体验一下【ALT+/

2017-03-01 13:57:10 826

转载 在不开启事件循环的线程中使用QTimer

引入QTimer是Qt自带的定时器类,QTimer运行时是依赖于事件循环的,简单来说,在一个不开启事件循环(未调用exec() )的线程中,QTimer是无法使用的。通过分析Qt源码可发现,调用QTimer::start()后仅仅是在系统的定时器向量表中添加了一个定时器对象,但定时器并没有真正开启。定时器的开启需要通过processEvent()开始的一系列调用后才会真正得开启,这个过程中

2017-02-28 20:27:59 892

原创 qt窗口透明

一、父子窗口全透明正常情况:透明处理后:代码实现:SettingWin::SettingWin(QWidget *parent) : QWidget(parent){ resize(1280, 320); setWindowOpacity(0.5);}二、父窗口透明子窗口不透明处理前前与第一种情况的图一一样。处理后:处理

2017-02-24 17:18:07 698

原创 qt5添加日志文件

为了方便调试,可以在程序中添加一定的打印信息,这样可以通过串口打印进行查看,但是这种方式只适合开发阶段中的开发人员,对于测试人员可能不会接串口来查看程序运行过程中的打印信息。这时我们可以将打印信息以文本的形式保存起来,方便出问题时查看打印日志,对已QT可以很方便实现。代码实现如下:#ifdef DEBUG_LOGvoid customMessageHandler(QtMsgTy

2017-02-23 14:22:38 1478

linux下如何编写nand flash驱动

本文档详细介绍了在Linux环境下编写nand flash驱动程序,还讲解了nand flash的工作原理和一些术语的解释

2017-06-19

理解摄像头工作原理

该文档详细描述了摄像头的工作原理,包括摄像头成像、数据处理、、、

2018-10-25

新唐N32926平台调试记录

本文档记录笔者在使用新唐N32926平台时碰到的一些问题,以及解决方法。

2019-03-14

包含破解补丁的7yuv

7yuv破解版(图像查看助手)是一款功能强大的图像查看软件。支持对可视化的原始数据进行编辑,支持多个视图,拥有多种编辑模式。

2018-09-28

emmc-5.0.pdf

本文档描述了emmc5.0的一些使用标准和协议

2016-12-20

空空如也

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

TA关注的人

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