自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-04-09 15:26:08 373

原创 国密算法介绍

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

2024-01-12 13:45:33 1254

原创 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 1060

转载 拜耳阵列

拜耳阵列是实现CCD 或CMOS 传感器拍摄彩色图像的主要技术之一。它是一个4×4阵列,由8个绿色、4个蓝色和4个红色像素组成,在将灰度图形转换为彩色图片时会以2×2矩阵进行9次运算,最后生成一幅彩色图形。2012年末,一位对世界,特别是对蜂鸟网所有网友的生活,产生巨大影响的老人,进入了天堂,他的名字叫布莱斯·拜尔(Bryce Bayer)。拜尔在天堂遇见了上帝。上帝:拜尔,你这个骗子!看看你在下面做的好事,现在还有脸来见我?拜尔:我的主啊,我是您忠实的信徒,我怎么会是骗子呢?上帝:你在下

2020-07-29 15:57:34 804

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

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

2020-07-18 16:13:06 1960

原创 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 2100

转载 cJSON

1.JSON格式简述JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。 同时也方便了机器进行解析和生成。它是基于 JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。 JSON采用完全独立于程序语言的文本格式,但是也使用了类C语言的习惯 包括C, C++, C#, Java, JavaScrip...

2020-06-03 11:37:38 594

转载 共享内存

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

2020-05-29 09:27:36 2794

转载 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 783

原创 用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 3758

原创 工作队列使用心得

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

2019-12-04 14:37:54 289

转载 Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化

我们知道,SPI数据传输可以有两种方式:同步方式和异步方式。所谓同步方式是指数据传输的发起者必须等待本次传输的结束,期间不能做其它事情,用代码来解释就是,调用传输的函数后,直到数据传输完成,函数才会返回。而异步方式则正好相反,数据传输的发起者无需等待传输的结束,数据传输期间还可以做其它事情,用代码来解释就是,调用传输的函数后,函数会立刻返回而不用等待数据传输完成,我们只需设置一个回调函数,传输完成...

2019-10-29 11:51:54 360 1

转载 Linux SPI总线和设备驱动架构之三:SPI控制器驱动

通过第一篇文章,我们已经知道,整个SPI驱动架构可以分为协议驱动、通用接口层和控制器驱动三大部分。其中,控制器驱动负责最底层的数据收发工作,为了完成数据的收发工作,控制器驱动需要完成以下这些功能:1. 申请必要的硬件资源,例如中断,DMA通道,DMA内存缓冲区等等;2. 配置SPI控制器的工作模式和参数,使之可以和相应的设备进行正确的数据交换工作;3. 向通用接口层提供接口...

2019-10-29 11:47:26 168

转载 Linux SPI总线和设备驱动架构之二:SPI通用接口层

通过上一篇文章的介绍,我们知道,SPI通用接口层用于把具体SPI设备的协议驱动和SPI控制器驱动联接在一起,通用接口层除了为协议驱动和控制器驱动提供一系列的标准接口API,同时还为这些接口API定义了相应的数据结构,这些数据结构一部分是SPI设备、SPI协议驱动和SPI控制器的数据抽象,一部分是为了协助数据传输而定义的数据结构。另外,通用接口层还负责SPI系统与Linux设备模型相关的初始化工作。...

2019-10-29 11:45:24 165

转载 Linux SPI总线和设备驱动架构之一:系统概述

SPI是"Serial Peripheral Interface" 的缩写,是一种四线制的同步串行通信接口,用来连接微控制器、传感器、存储设备,SPI设备分为主设备和从设备两种,用于通信和控制的四根线分别是:CS 片选信号SCK 时钟信号MISO 主设备的数据输入、从设备的数据输出脚MOSI 主设备的数据输出、从设备的数据输入脚因为在大多数情况下,CPU或SOC一侧通常都是...

2019-10-29 11:40:28 146

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

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

2019-07-19 11:45:44 633

原创 压缩指定字符

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

2019-07-19 11:10:45 184

原创 automake生成库

最近改一个项目,项目使用C++实现的,以前的师兄们使用的是automake进行编译,上次学习了使用automake进行编译,觉得已经会了,可是一到实践的时候就发现很多问题,特别是使用链接库的时候发现不会了。后来学习了一下,现在将使用方法记录下来,以后复习,也希望可以让遇到问题的朋友找到参考。1、使用automake生成动态链接库假设我们现在有一个项目,目录为test...

2019-06-28 14:07:07 311

原创 点阵字体的旋转

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

2019-06-25 09:32:41 1918

翻译 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 326

转载 C语言内存管理

1.内存分区C源代码进过预处理、编译、汇编和链接4步生成一个可执行程序。程序在没有运行之前,也就是说程序没有被加载到内存前,可执行程序内部已经分好3段信息,分别是代码区(text)、数据区(data)和未初始化数据区(bss)三个部分。(部分人直接把data和bss合起来叫做静态区或全局区)。运行可执行程序,系统把程序加载到内存,除了根据可执行程序的信息分出代码区、数据区和未初始化数据区...

2019-03-07 09:27:17 1734

转载 使用Android Studio查看Android Lollipop源码

Android Studio作为Google的亲儿子,Nexus手机系列所收到的待遇大家有目共睹.Android5.0出来之后,Nexus5第一时间就升级到了最新的系统.那么作为Google亲儿子的Android Studio同样备受Google的重视,我也是第一时间从Eclipse转投到了Android Studio的怀抱中,从最初的测试版本一路升级到现在的1.0正式版本(今天发布了1.0....

2018-12-24 15:24:29 223

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

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

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

转载 Android Studio导入android源码技巧(源码无需编译即可导入)

上一篇文章ubuntu12.04(64bit)编译android4.4源码、sdk及kernel详细描述了如何编译源码、sdk及kernel,源码编译完成了,那么用什么来查看文件数量庞大的源码呢,有Source Insight、Eclipse、还有Android Studio 等,今天主要介绍Android Studio如何导入源码。 开始之前,我们需要一份已经编译过的源码,如果你还没有...

2018-12-17 21:16:53 1684

转载 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 138

转载 HTTP协议

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

2018-01-29 19:48:21 280

转载 linux分区方案

菜鸟方案“/”与swap两个分区就可以应付绝大多数的应用常用方案分为3个区 1. 挂载点/;主分区;安装系统和软件;大小为30G;分区格式为ext4; 2. 挂载点/home;逻辑分区;相当于“我的文档”;大小为硬盘剩下的; 分区格式ext4; 3. swap;逻辑分区;充当虚拟内存;大小等于内存大小(本人2G);分区格式为swap 4. /boot ;引导

2018-01-17 09:41:03 62043

转载 ubuntu16.04开发环境搭建

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

2018-01-14 17:00:02 17471

转载 关于TFTLCD硬件接口和驱动的问题

在设计TFTLCD液晶硬件驱动电路的时候,我们会发现TFTLCD裸屏(买来的最初元件)的接口并非相似,所以导致驱动电路设计需要有些差别。TFTLCD液晶的本质                                                                                                               本质

2017-09-07 21:41:02 10583

转载 使用avilib封装MJPEG数据应用实例

avilib 是一个很小的封装模块,它可以将一些图片数据封装成视频格式。在一些比较差的摄像头中,他们只支持V4L2_PIX_FMT_MJPEG 输出JPEG格式数据,以这种格式输出的数据,并不是标准的JPEG图片数据。因此,如果只是把MJPEG输出的所有文件存成一个文件,那么这个文件其实并不能播放。据网上的一些资料介绍,说是缺少Huffman 表,需要自己手动插入一个Huffman表。在一些嵌入式

2017-09-04 17:48:08 1439

转载 input系统

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

2017-09-03 17:29:19 533

转载 BMP图片格式

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

2017-08-31 15:32:27 450

原创 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 5385

转载 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 537

原创 制作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 756

转载 OOAD与UML笔记

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

2017-04-27 16:07:33 337

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

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

2017-04-27 09:41:19 257

原创 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 2474

原创 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 774

原创 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 5057 2

新唐N32926平台调试记录

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

2019-03-14

理解摄像头工作原理

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

2018-10-25

包含破解补丁的7yuv

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

2018-09-28

linux下如何编写nand flash驱动

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

2017-06-19

emmc-5.0.pdf

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

2016-12-20

空空如也

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

TA关注的人

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