自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(829)
  • 资源 (4)
  • 收藏
  • 关注

原创 所谓的稳定,不过是在浪费生命?

二十五岁之前,你想象的人生,应该是有讲不完的故事,挣不完的钱和出不尽的风采。简单来说,就像所有的电视剧安利的偶像人生,一路拼搏,历经磨难,终于当上CEO,赢取白富美,走向人生巅峰,虽然会经历大风大浪,但那都是成功人士必经之路。那时的你,最瞧不起的,就是稳定,你认为那不过是在浪费生命。然而,仅仅过了几年,你就会发现。仅仅为了稳定,你已精疲力尽。刚刚工作,业务能...

2019-10-31 22:04:09 258 1

原创 男人不装

墙壁再次被刷白的时候,我知道我们要离开了。与四年前不同,此刻心中多了几分不舍。追逐风景,亦成为风景。我们每个人的故事或许都有所不同,但我们都在这里如竹子拔节般成长起来.

2015-08-06 22:36:21 1224 1

原创 来 不 及 认 真 的 年 轻

曾有人说起,上大学的时候,是个文艺青年,理想做个作家或记者,那时候好吃香啊,如果再能写点小诗,谈点吉他,女生们都被迷倒了。你看看现在,女生们再也不中意这些了,她们中意的是……我说,那你们还写点小诗,谈点吉他么?他说,……所以说,这个世界就是这样的,男性改变世界,女性改变男性的世界观,但总有一些世界观,是傻逼呵呵地矗在那里的。无论多么的现实,多少的打击,多少的嘲讽,多少的鸽子都改变不了。我们总是要怀...

2015-08-02 18:38:08 523

原创 linux shell中>/dev/null 2>&1

重定向绑定>/dev/null 2>&1。这条命令其实分为两命令,一个是>/dev/null,另一个是2>&1。1. >/dev/null这条命令的作用是将标准输出1重定向到/dev/null中。 /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。那么执行了>/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。2. 2>&1这条命令用到了重定向绑定,采用&a

2021-04-23 10:42:12 17

原创 dpkg命令的用法

dpkg是Debian package的简写,为“Debian”操作系统专门开发的套件管理系统,用于软件的安装,更新和移除。所有源自"Debian"的Linux的发行版都使用dpkg,例如"Ubuntu" 安装软件: 命令:dpkg -i <.deb file name>列出与该包先关联的文件: 命令:dpkg -L package 安装完包后,可以用此命令查看软件安装到什么地方显示包的版本: 命令:dpkg -l package移除软件(保留...

2021-01-04 09:02:39 70 2

原创 GDB调试基本命令

GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。一般来说,GDB主要帮忙你完成下面四个方面的功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序;2、可让被调试的程序在你所指定的调置的断点处停住;(断点可以是条件表达式)3、当程序被停住时,可以检查此时你的程序中所发生

2020-07-12 20:24:14 157

原创 性能测试分析及调优原理

性能测试的目的就评估当前系统性能的指标,分析定位解决性能瓶颈,预防规避性能风险。性能分析是为了确定导致性能瓶颈的原因,而调优就是用来解决性能瓶颈。通过某些手段让系统性能得到提高,是性能调优的主要目的。性能分析主要有两种方法:1.将测试结果与用户需求做比较,如果达到用户需求,则测试通过。*系统满足10万注册用户(其中1万为活跃用户)的访问*系统处理能力,20个注册/秒,45个并发浏览/秒,35个登录操作/秒。*服务器资源利用率在满负荷的情况下,忙时峰值cpu负载不超过75%,内存占

2020-06-30 21:01:44 191

原创 操作系统原理总结

made by @杨领well(yanglingwell@sina.com)一、基础知识点1. 操作系统的资源管理技术资源管理解决物理资源数量不足和合理分配资源这两个问题。操作系统虚拟机为用户提供了一种简单、清晰、易用、高效的计算机模型。虚拟机的每种资源都是物力资源通过复用、虚拟和抽象而得到的产物。虚拟机提供进程运行的逻辑计算环境。从概念上来说,一个进程运行在一台虚拟机上,可以认为一个进程就是一台虚拟机,一台虚拟机就是一个进程。 复用:空分复用共享和时分复用共享。 a. 空分..

2020-06-16 22:12:03 177

原创 select、poll、epoll三者的区别

(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,但是它没有最大连接数的限制,原因是它是基于链表来存.

2020-06-07 17:27:09 175

原创 什么情况下异步操作使用消息队列而不是多线程

Redis提供了两种方式来作消息队列。一个是使用生产者消费模式模式,另一个就是发布订阅者模式。前者会让一个或者多个客户端监听消息队列,一旦消息到达,消费者马上消费,谁先抢到算谁的,如果队列里没有消息,则消费者继续监听;’后者也是一个或多个客户端订阅消息频道,只要发布者发布消息,所有订阅者都能收到消息,订阅者都是平等的。一、异步处理选择1.消息队列和多线程两者并不冲突,多线程可以作为队列的生产者和消费者。使用外部的消息队列时,第一是可以提高应用的稳定性,当程序fail后,写入外部消息队列的...

2020-06-07 16:11:11 776

原创 H.264编码原理以及I帧B帧P帧

前言----------------------- H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中, 一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段变化不大图像画面,我们可以先编码出一个完整 的图像帧A,随后的B帧就不编码全部图像,只写入与A帧的差别,这样B帧的大小就只有完整帧的1/10或更小!B帧之后的C帧如果变化...

2020-06-03 21:32:56 152

转载 Linux网络编程-很全面

注:作者王晓,本人认为总结得很好,故记之,绝无侵权之意。1. LINUX网络编程基础知识11.1. TCP/IP协议概述11.2. OSI参考模型及TCP/IP参考模型11.3. TCP协议31.4. UDP协议51.5.协议的选择62.网络相关概念62.1. socket概念72.2. socket类型82.3. socket信息数据结构82.4.数据存储优先顺序的转换82.5.地址格式转化92.6.名字地址转化10...

2020-05-11 22:47:09 201

原创 以太网交换机工作原理

共享式/交换以太网的区别在早期的共享式的以太网中,各个主机之间用的是同轴电缆进行通信,并且是共用一条同轴电缆,共用一条同轴电缆也就意味着这些主机都处在同一个冲突域中,何为冲突域?现在把同轴电缆比作一条车道,把终端比作车辆,但这条车道同时只能允许一台车辆通过,两台车辆同时上路是不是会撞车?是不是只能等这台车辆通过了才让下一辆车辆通过,上路的车辆越多通行的速度越慢,这就是为什么在冲突域网络中接入的...

2020-04-28 17:14:04 177

原创 DFI、DPI、端口识别技术

DFI以及DPI简单通俗以自己的理解来将就是网络带宽的一种检测技术,既然是检测技术也就是说其可以进行查看流量情况,那么最简单的企业应用也就是拿来看DDOS攻击情况之类的了。DFI(Deep/Dynamic Flow Inspection,深度/动态流检测) 它与DPI(Deep Packet Inspection,深度包检测)进行应用层的载荷匹配不同,采用的是一种基于流量行为的应用识别技术,...

2020-04-26 15:35:21 671

原创 贪心算法

一、基本概念:所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。...

2020-04-23 14:54:33 150

原创 统一软件开发过程(RUP)

更详细的见:http://www.ibm.com/developerworks/cn/rational/r-rupbp/本文引用:http://baike.baidu.com/view/2235832.htm#sub2235832统一软件开发过程(Rational Unified Process,RUP)是一个面向对象且基于网络的程序开发方法论。它是用例驱动的,以架构为核心,迭代和增量的软...

2020-04-13 22:33:24 268

原创 atof()函数,将字符串转换成浮点数

#include<iostream>#include<stdlib.h>#include<string>using namespace std; double change(char *input){ int i=0,count1=1; double input_int1=0,input_xs1=0,input_1=0; whi...

2020-04-13 15:52:23 283

原创 FreeRTOS常用资源

1.FreeRTOS官网的学习资料:http://www.freertos.org/index.htmlFreeRTOS现有的项目资料(github 源代码):http://www.osrtos.com/rtos/freertos2.源代码下载地址:官网下载地址1(sourceForage):http://sourceforge.net/projects/freertos/fi...

2020-04-11 22:38:56 375

原创 嵌入式操作系统FreeRTOS的原理与实现

摘自:http://xilinx.eetrend.com/article/7828摘要:FreeRTOS是一个源码公开的免费的嵌入式实时操作系统,通过研究其内核可以更好地理解嵌入式操作系统的实现原理.本文主要阐述FreeRTOS系统中的任务调度机制、时间管理机制、任务管理机制以及内存分配策略的实现原理,并指出FreeRTOS在应用中的优缺点。在嵌入式领域中,嵌入式实时操作系统...

2020-04-11 22:36:51 287

原创 FreeRTOS操作系统介绍

第3章FreeRTOS(读作"free-arr-toss")是一个嵌入式系统使用的开源实时操作系统。FreeRTOS被设计为“小巧,简单,和易用”,能支持许多不同硬件架构以及交叉编译器。FreeRTOS自2002年Richard Barry开始开发以来,一直都在积极开发中。至于我,我不是FreeRTOS的开发人员或贡献者,我只不过是一个最终用户和爱好者。因此,这章...

2020-04-11 22:35:32 295

转载 数据结构–七大查找算法总结

查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以归为一类——插值查找。插值查找和斐波那契查找是在二分查找的基础上的优化查找算法。树表查找和哈希查找会在后续的博文中进行详细介绍。  查找定义:根据给定的某个值,在查找表中确定一个其关键字等于...

2020-04-10 14:11:49 341

转载 RPC服务和HTTP服务对比

很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单地介绍一下两种形式的C/S架构,先说一下他们最本质的区别,就是RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看...

2020-04-10 12:47:40 107

原创 IO --BIO、NIO、AIO

IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到...

2020-04-10 12:45:31 105

原创 用户态和内核态的理解

1、linux进程有4GB地址空间,如图所示:3G-4G大部分是共享的,是内核态的地址空间。这里存放整个内核的代码和所有的内核模块以及内核所维护的数据。2、特权级的概念:对于任何操作系统来说,创建一个进程是核心功能。创建进程要做很多工作,会消耗很多物理资源。比如分配物理内存,父子进程拷贝信息,拷贝设置页目录页表等等,这些工作得由特定的进程去做,所以就有了特权级别的概念。最关键的工作...

2020-04-10 12:18:22 69

原创 TCP&HTTP区别和联系

TCP是传输层协议,定义数据传输和连接方式的规范。握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。HTTP 超文本传送协议(Hypertext Transfer Protocol )是应用层协议,定义的是传输数据的内容的规范。HTTP协议中的数据是利用TCP协议传输的,特点是客户端发送的每次请求都需要服务器回送响应,它是TCP协议族中的一种,默认使用 ...

2020-04-10 11:47:16 53

转载 面试题汇总

基础问题linux和网络基础(1)linux系统内核态和用户态是什么,有什么区别?(2)BIO、NIO、AIO都是什么,有什么区别?(3)TCP和UDP的区别?(4)详细叙述TCP3次握手,TCP和HTTP的区别,其中字节面试官问的最细,他会具体问TCP底层的3次握手的具体实现逻辑,第三次握手如果失败会怎样。建议把TCP关闭时的4次挥手也看看,敖丙的文章就有,看了至少表面的东...

2020-04-09 21:21:42 374

原创 网站集锦

2020-04-02 21:32:24 76

原创 Linux中/proc目录下文件详解

Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用。可以使用的文件随系统配置的变化而变化。命令procinfo能够显示基于其中某些文件的多种系统信息。以下详细描述/proc下的文件。/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提...

2020-04-02 21:27:09 155

原创 智能家居无线方案ZIGBEE、Z-Wave、WIFI、蓝牙、红外、GPRS以及NB-IOT对比

社会的不断发展,无线的优点已经逐步显现。如:无线通信覆盖范围大,几乎不受地理环境限制;无线通信可以随时架设,随时增加链路,安装、扩容方便;无线通信可以迅速(数十分钟内)组建起通信 链路,实现临时、应急、抗灾通信的目的;而有线通信则有地理的限制、较长的响应时间。无线通信在可 靠性、可用性和抗毁性等方面超出了传统的有线通信方式,尤其在一些特殊的地理环境下,更能体现其优越性。随着无线技术的成熟,工业、医...

2020-04-01 21:21:03 2113

原创 LTE L1/L2/L3

参考OSI七层模型,层一是物理层,层二是数据链路层,层三是网络层。例如MAC地址属于层二,IP属于层三。由此而来的二层交换机和三层交换机的不同就在于:二层交换机属于链路层设备,识别MAC地址,根据MAC地址转发数据包,维护MAC地址表。三层交换机还有部分网络层功能,也就是能识别IP。1.在WDMA里,按照OSI参考模型的定义,L1层软件支持在物理介质上传输bit数据流所要求的...

2020-03-30 21:57:55 2430

转载 STM32程序调试技巧

Table of Contents前言调试原理软件调试​硬件调试前言这一篇博客主要讲解STM32F1开发板如何进行调试,分别是硬件调试(STLINK)调试和软件调试。调试原理STM32的调试原理核心是比较复杂的,但是我们了解的东西可以简单一些。首先STM32支持JTAG和SWJ调试,其中JTAG需要五个接口,SWJ仅需要两个接口,所以在之后的大部分调试我们优先选择S...

2020-03-30 21:48:45 972

原创 数据结构之二叉树(C语言实现)

定义之前四篇博客分别介绍了线性结构中的顺序表、链表、栈、队列。从难度来讲,顺序表到链表是递增的。从实现来讲,栈和队列基于顺序表和链表(之前栈采用了顺序表的存储结构,队列采用了链表的存储结构)。此次介绍的二叉树虽是非线性结构的树形结构分支,但在其各个结点遍历的实现上,使用到了栈和队列的特性。二叉树是一种特殊的线性结构,每个结点最多只有两个分支,称左孩子结点和右孩子结点。更多关于二叉树的特性,...

2020-03-29 22:12:19 1119

原创 数据结构之栈(C语言实现)

定义在线性表中,根据存储结构可分为:顺序表和链表。顺序表和链表可以访问任意位置结点,在任意位置插入和删除结点。倘若对上述操作加以限制,如:1. 在线性表的一端插入、删除、访问结点。2. 在线性表的一端插入结点、另一端删除、访问结点。*注:对线性表操作的限制有很多,上述只介绍两种主流的限制,在数据结构中叫做栈和队列。栈的概念比较抽象,举个栗子(对,就是板栗的栗子)。一群人依次走进...

2020-03-29 20:56:51 146

原创 数据结构之队列(C语言实现)

定义在栈中提到,队列是操作受限制的特殊的线性表。在队列的一端只能插入元素,这一端叫做队尾。在队列的另一端只能删除元素,这一端叫做队首。举个栗子,在食堂排队打饭,跑的快的同学排在队列的前面,最先打到饭菜。后续到的同学只能依次排列在队尾。买到饭菜的同学离开队列叫做出队,进入队列等候叫做入队。食堂阿姨给队列中第一个同学打饭叫做访问队首元素。总结:队列有先进先出的特性,FIFO(First...

2020-03-29 20:53:36 120

原创 数据结构之链表(C语言实现)

定义相对于顺序表而言,“勤拿少取”这是对链表最形象的描述。意指,它需要一个结点,就在内存中分配一块内存单元。比顺序表不足的是,链表的每个结点中,需要一个存储单元保存指向下一个结点的地址。链表的访问需要从第一个结点(或称头结点)开始寻找,(顺序表可以根据下标直接访问)。链表的插入和删除只需对指定位置的结点操作即可。常见的链表,根据指向下个链表的指针可分为单向链表,双向链表。根据第一个结...

2020-03-29 20:47:13 104

原创 数据结构之顺序表(C语言实现)

定义数据结构是相互之间存在一种或多种特定关系的数据元素的集合。根据数据元素之间关系的不同特性,通常有如下4类基本结构:集合:结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他的关系。如:广义表。 线性结构:结构中的数据元素之间存在一个对一个的关系。如:链表。 树形结构:结构中的数据元素之间存在一个对多个的关系。如:二叉树。 图(网)状结构:结构中的数据元素之间存在多个对多个的...

2020-03-29 10:44:36 216

原创 Wifi系统框架

一:Android Wifi框架图二:Android Wifi源码结构1 Wifi Settings层原生机目录:packages/apps/Settings/src/com/android/settings/wi...

2020-03-22 15:51:18 204

原创 为何 Wi-Fi 6 会成为您的竞争优势?

来源:RF技术社区 (https://rf.eefocus.com)Q:随着 Wi-Fi 6 普及,人们需要知道些什么?市场正在呈现哪些趋势?A:Wi-Fi 6 也被称为 802.11ax,是下一代 Wi-Fi 技术标准。Wi-Fi 6 的亮点在于,它在 802.11ac 或 Wi-Fi 5 标准的基础上进行了扩展,提高了数据容量、每个节点连接的用户设备数量,并提高了整个 RF 范围...

2020-03-20 22:28:56 275

原创 MTK6797 双摄帧同步问题确认(软同步)

涉及模块: Hwsync,相关代码:1.vendor\mediatek\proprietary\hardware\mtkcam\drv\src\sensor\common\v1\ hwsync_drv.cpp2.W:\kernel-4.9\drivers\misc\mediatek\imgsensor\src\common\v1* 相关驱动代码原理: hwsync 会从n3d 那边获取帧...

2020-03-19 21:59:57 730

转载 PCI9054 学习小结

PCI的基本协议这里就不介绍了,因为一般的芯片协议都是集成好的,我只需要大体了解就行,不需要做芯片,我感觉就不需要太了解协议。这里讲解是基于PLX 的9054(9052)芯片为基础的,本人只是入门,望批评指正。一、地址映射与数据传输上图中间部分是9054的内部结构图,9054实际上充当了一个“桥”的作用,即所谓的“桥片技术”。9054的作用其实是把LOCAL总线端管理的一片...

2020-03-18 22:41:45 96

视频监控服务器端代码

视频监控编解码应用部分代码,对各个流程有详细的代码说明

2019-04-10

linux多线程手册

多线程编程手册,帮助读者尽快掌握多线程编程技术

2015-08-17

嵌入式Linux应用开发完全手册

韦东山老师所著嵌入式软件开发教程,讲解环境搭建,最小系统,嵌入式开发流程及外围设备,以及常见驱动开发

2019-04-10

国嵌高级项目实验手册

几个项目实践过程,对项目的描述分析,流程图规划,代码详解,结果分析

2019-04-10

空空如也

空空如也

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

TA关注的人 TA的粉丝

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