什么是插入排序

插入排序一、思想1、插入排序,就像玩扑克牌一样,按照玩法规则(顺子),拿到一张牌,将其插入到已经理好的牌中。2、插入排序算法的思想就是:维护一个有序区,把元素一个一个插入到有序区的适当位置,直到所有的数据元素有序位置。二、算法步骤(从小到大排序)1、给定无序数据(数组);2、把数组的首元素作为有序区,此时有序区只有一个元素;3、第一轮,有序区有且只有一个元素,将第二个元素取出作为待插...
分类: 其他 发布时间: 10-14 22:28 阅读次数: 0

openssl-p12证书

p12证书导出pem格式证书一、来由-决定思路1、最近有个数据要用到SHA256withRSA算法进行签名,用的是openssl中的算法,使用的pem格式的证书;但是证书来源的格式为xxx.p12;是p12格式的。2、因此就需要将p12格式的证书导出为pem格式的。3、因为此p12证书有密码,因此需要传入密码。二、导出命令openssl pkcs12 -in bestpay.p12 -...
分类: 其他 发布时间: 10-14 22:28 阅读次数: 0

openssl-cer证书

cer证书导出pem格式证书一、来由-决定思路1、最近有个数据要用到SHA1withRSA算法进行验签,用的是openssl中的算法,使用的pem格式的证书;但是证书来源的格式为xxx.cer;是cer格式的。2、因此就需要将cer格式的证书导出为pem格式的。二、导出命令openssl x509 -inform der -in bestpay.cer -pubkey -noout &g...
分类: 其他 发布时间: 10-14 22:27 阅读次数: 0

openssl-RSA签名和验签

openssl-私钥签名(SHA256withRSA)、公钥验签(SHA1withRSA)一、来由-决定思路1、近期调试的一个客户端,为了防止接口请求被劫持、 篡改, 需通过证书对请求数据进行签名操作, 来确保请求数据的完整性;要用私钥对数据进行RSA签名,用的SHA256withRSA, 然后使用 Base64 封装签名结果,将数据发送到服务器,服务器对数据进行验签。2、针对服务器返回结果...
分类: 其他 发布时间: 10-14 22:27 阅读次数: 0

数据结构基本理解

数据结构概述1、什么是结构,我理解为一种规则,为了达到一种特定的目的,而进行的一项操作。2、我们如何把现实中大量而复杂的问题以特定的数据类型和特定存储结构保存到住存储器(内存)中,以及在此基础上为实现某个功能、(比如查找某个元素、删除某个元素、对所有元素进行排序)而执行的相应操作,这个相应的操作也叫算法。3、线性结构连续存储-数组离散存储-链表线性结构的两种常见应用之一 栈线性结构的...
分类: 其他 发布时间: 10-14 22:27 阅读次数: 0

静态库使用另一个静态库

静态库使用一、来由-决定思路1、近期调试一个模块源码编译调用另一个静态库(B.a),最后生成静态库(C.a),最后用最终生成的静态库(C.a)编译出可执行文件的时候,提示报错了:在静态库(C.a)中,对‘fun’未定义的引用,很郁闷啊。2、但是整成动态库,就不存在这个问题,为此检查了几遍CMakeList.txt文件,还是没能调出来。3、最后就秉着你所遇到的问题,大多数已经被别人解决了原则...
分类: 其他 发布时间: 10-14 22:27 阅读次数: 0

链表-单链表创建

写在前面1、在写链表之前,说实话一直很模糊,觉得理解了,但是一直没有自己敲出来,要用到链表了,一时又没有,特别是调试的时候,也会有时间,再次让我坚定了实践是检验标准的唯一真理。2、记录是一种优秀的品质。我理解的单链表1、什么是单链表,我理解为就是一个链子,只要你抓住了链子的头,你就可以为所欲为。当然这个链子只有一个头。2、每个链子都有固定的样子,也就是一个模板,模板里面有一个线,就是要把...
分类: 其他 发布时间: 10-14 22:26 阅读次数: 0

ARM的几种版本号

不知道大家是否纠结过自己所见过的各种ARM有关的版本号?我是纠结过很久,感觉很多而且混乱,希望有个权威而又准确的人来告诉我各版本号区别于联系。其实等你了解之后,你就是标准。或是接收新事物需要一个过程,因此,经过各种差资料及其学习,进行了以下的总结:1、针对于ARM相关的,一共有三类版本号:ARM内核版本、SOC版本号、芯片型号。因此,要记住有三种。2、ARM内核版本:这个版本号是由ARM公司规定的。3、SOC版本号 :这个版本号也是ARM公司规定的。4、芯片型号 :是由半导体厂商定义的
分类: 其他 发布时间: 10-14 22:26 阅读次数: 0

CPU和指令集之间的友谊

@TOC我喜欢大家一起讨论那么我就来先说一说自己的体会和感悟。希望大家也能积极高谈阔论,也可指出我理解的不足。以下我会分别从CPU和指令集的功能的角度来说明。一、什么是CPU?1、一直都在思考CPU的实质是什么?为什么给指令就会工作?2、这个问题也思考了很久,也有了一些自己的理解,因此,我将其记录下来。3、CPU是一种特殊的电路,各个电路有特殊的功能,比如这些功能为加、减、乘、比较等等,当然还有其他的一些功能,这些电路集成在一起,将其无限缩小,浓缩成我们现在看见的芯片。4、可以理解为CPU是
分类: 其他 发布时间: 10-14 22:26 阅读次数: 0

什么是地址映射

ARM体系结构-地址映射一、什么是地址映射1、ARM Cortex-A8架构,32位CPU,CPU设计时就有32根地址线和32根数据线。2、32根地址线决定了CPU的地址空间为4G,那么这4G空间如何分配使用?这个问题就是地址映射问题?我的理解就是这些地址空间是如何分配使用的。二、地址映射规则1、芯片外接外部RAM和外部ROM的时候,RAM和ROM器件都是独立器件,并没有地址一说,或者说都只有自己的绝对地址,且从0x00开始。而对于CPU来说,0x00地址只能有1个,所以外接器件挂到CPU上时只能
分类: 其他 发布时间: 10-14 22:26 阅读次数: 0

寄存器和GPIO

一、什么是GPIO1、GPIO的英文全称General-Purpose Input /Output Ports,中文意思是通用I/O端口。2、GPIO就是芯片的引脚(芯片上的引脚有些不是GPIO,只有一部分是),作为GPIO的这类引脚,他的功能和特点是可以被编程控制它的工作模式,也可以编程控制他的电压高低等。3、在嵌入式系统中,经常需要控制许多结构简单的外部设备或者电路,这些设备有的需要通过CPU控制,有的需要CPU提供输入信号。并且,许多设备或电路只要求有开/关两种状体就够了,比如LED的亮与灭。对
分类: 其他 发布时间: 10-14 22:25 阅读次数: 0

神秘的栈

一、什么是栈?1、首先就是ARM提供一个机制,能实现栈的功能,本身自带的,我理解为与生俱来的,不要过于纠结。2、其次满栈,假如你有一个书架,书架共有十层,现在里面都是空的,从上到下依次标记为1到10,然后你再十层放了个圆,你方便记忆,在十层做了个箭头标记(红色箭头)。理解它是满的。3、假如你再次放进去一个圆,箭头移动了,就是说始终指向你放进去的位置,可以理解为满的。4、你把它当做栈就是满栈,同时那个序号在减小,变小了,所以叫满减栈。5、空栈就是它指向那个地方一直是空的。6、满栈是它指向那个地方
分类: 其他 发布时间: 10-14 22:25 阅读次数: 0

看门狗与定时器关系

ARM体系结构-看门狗一、什么是看门狗1、看门狗,又叫 watchdog,一般有一个输入和一个输出,其中输入叫做喂狗,输出一般连接到另外一个部分的复位端,一般是连接到CPU系统。 看门狗的功能是定期的查看芯片内部的情况,一旦发生错误就向芯片发出重启信号。看门狗命令在程序的中断中拥有最高的优先级。2、可以想象一下,系统在运行的时候,系统怎么判断自己是否允许正常?一个思路就是,设备在一般正常情况下,会重复做一件事情,假如检测到这个事情没有做了,就认为系统异常,就会执行相应的操作。比如说有个模块设备在计数,
分类: 其他 发布时间: 10-14 22:25 阅读次数: 0

什么是代码重定位

ARM体系结构-代码重定位一、为什么会有重定位1、程序的运行过程就是CPU不断的从内存中取出指令,然后执行指令的过程。2、那么CPU是如何从内存中去去这些指令的呢?当然是通过内存地址来获取。3、以前使用单片机时,没有仔细思考过这个问题,都是认为程序是烧写到芯片内部的flash中的,也没有仔细思考过,程序是怎么跳转到flash取指令并执行的。4、对于嵌入式系统来说,它的程序可能会比较大,超出它内部的flash大小,我们的程序无法整个放入到芯片内部的flash中;甚至有些SoC芯片内部根本就没有fla
分类: 其他 发布时间: 10-14 22:25 阅读次数: 0

ARM-按键定义及其功能

ARM外设-按键一、什么是按键1、按键可以理解为一种开关。2、平时每人按的时候,弹簧吧按键按钮弹开,此时内部断开的。3、一般的按键都有四个引脚,这四个引脚成两对,其中一对是常开触点(不按则断开,按下则闭合);一对是常闭触点(不按时闭合,按下是断开的)4、按键的电路连接分析:平时按钮没有按下时,按钮内部断开,GPIO引脚处电压为高电平;当有人按下按钮时,按钮内部导通,外部VDD经过电阻和按钮连接到地,形成回路,此时GPIO引脚处电压就变成了低电平,此时VDD电压全部分压在了电阻上(这个电阻就叫分压电
分类: 其他 发布时间: 10-14 22:24 阅读次数: 0

PWM定时器及其蜂鸣器

ARM体系结构-PWM定时器及其蜂鸣器一、什么是PWM1、一般SOC中产生PWM信号都是靠定时器模块产生的。也就是说SOC有个定时器专门生产PWM信号的。2、PWM(pulse wide modulation 脉宽调制),也就是这是一种信号,这个信号有特定的波形。3、PWM波形是一个周期性波形,周期为T,在每个周期内波形是完全相同的。每个周期内由一个高电平和一个低电平组成。4、PWM波形有2个重要参数:一个是周期T,另一个是占空比duty(占空比就是一个周期内高电平的时间除以周期时间的商)。5、
分类: 其他 发布时间: 10-14 22:24 阅读次数: 0

通信的基本定义及其相关概念

ARM体系结构-通信一、什么是通信1、有信息交换就是通信,但是这个信息是怎么交换的?发送者会把数据发出,接收者会把数据接收到。理论上来说数据传输都是电信号,那么又如何来判断传输的信息是什么信息呢?2、我想最开始的时候就是双方进行一定的约定,以特定的动作或是标志规定。比如说在比赛时的枪声,就可以传递信息。3、根据发展后来应该就有了协议,大家都按照规定协议来收发数据,以特定的协议发,然后按照特定的协议接收数据。二、同步和异步通信1、同步通信(1)同步通信是一种比特同步通信技术,要求发收双方具有同频
分类: 其他 发布时间: 10-14 22:24 阅读次数: 0

什么是串口通信协议

ARM体系结构-串口通信一、什么是串口通信1、串口通信属于基层基本性的通信规约,收发双方事先规定好通信参数。2、它自己本身不会去协商通信参数,需要通信前通信双方事先约定好通信参数来进行通信。3、因此,若是收发方的任何一个关键参数设置错误,都会导致通信失败。譬如波特率调错了,发送方发送没问题,接收方也能接收,但是接收到全是乱码。4、信息以二进制流的方式在信道上传输,串口通信的发送方每隔一定时间(时间固定为1/波特率,单位是秒)将有效信息(1或者0)放到通信线上去,逐个二进制位的进行发送。5、接收方
分类: 其他 发布时间: 10-14 22:24 阅读次数: 0

什么是I2C通信

ARM体系-I2C通信一、什么是I2C1、I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的设备之间传送信息。2、主设备用于启动总线传送数据,并产生时钟以开放传送的设备,此时任何被寻址的设备均被认为是从设备.总线上主设备和从设备、发数据设备和收数据设备的关系不是恒定的,而取决于此时数据传送方向。3、如果主设备要发送数据给从设备,则主设备首先要寻址从设备,然后主动发送数据至从设备,最后由主设备终止数据传送;如果主设备要接收从设备的数据,首先由主设
分类: 其他 发布时间: 10-14 22:23 阅读次数: 0

什么是AD转换

ARM体系-ADC一、什么是ADC1、ADC:analog digital converter,AD转换,模数转换(也就是模拟转数字)2、模拟信号只有通过A/D转化为数字信号后才能用软件进行处理,这一切都是通过A/D转换器(ADC)来实现的。与模数转换相对应的是数模转换,数模转换是模数转换的逆过程。3、CPU本身是数字的,而外部世界变量(如电压、温度、高度、压力···)都是模拟的,为了用数字技术来处理外部的模拟物理量,所以需要用CPU来处理这些外部的模拟变量的时候就需要做AD转换。4、模拟量:模拟
分类: 其他 发布时间: 10-14 22:23 阅读次数: 0