自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (14)
  • 收藏
  • 关注

转载 live555 交叉编译移植到海思开发板

本文章参考了。http://blog.csdn.net/lawishere/article/details/8182952,写了hi3518的配置说明。特此感谢1、首先到它的主页下载一个源码包:http://www.live555.com/liveMedia/public/我下载的是latest的,具体什么版本还真不清楚2、放到linux目录下解压:root@kubunt...

2019-07-17 11:20:46 688

转载 DTS1

一.什么是DTS?为什么要引入DTS?DTS即Device Tree Source 设备树源码, Device Tree是一种描述硬件的数据结构,它起源于 OpenFirmware (OF)。在Linux 2.6中,ARM架构的板极硬件细节过多地被硬编码在arch/arm/plat-xxx和arch/arm/mach-xxx,比如板上的 platform设备、resource、...

2019-07-12 15:45:19 700

转载 yocto 创建层并添加自己的程序包

1 首先是设置环境#source oe-init-build-env2 创建层#bitbake-layers create-layer ../meta-mylayer这时可以看到系统会创建一个文件夹meta-mylaer,文件目录结构如下3 添加层#bitbake-layers add-layer ../meta-mylayer...

2019-06-28 17:11:16 1869

转载 Python 中的 if __name__ == '__main__' 该如何理解

程序入口  对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等。如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始。同样,Java 和 C# 必须要有一个包含 Main 方法的主类来作为程序入口。  而 Python ...

2019-06-24 14:13:16 156

转载 [ubuntu]yocto的安装配置与开发

转载请注明来自:秦时明月_whuyocto官网:http://www.yoctoproject.org在这里有很多英文文档:http://www.yoctoproject.org/documentation我下面的这些方法都是看完这些文档总结的。1.安装yocto参考:http://www.yoctoproject.org/docs/current/yocto-project-qs/yoc...

2019-06-14 14:16:08 647

转载 Linux signal 信号列表

我们运行如下命令,可看到Linux支持的信号列表:$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEG...

2019-06-09 11:00:35 315

转载 Linux 信号(signal)

对于 Linux来说,实际信号是软中断,许多重要的程序都需要处理信号。信号,为 Linux 提供了一种处理异步事件的方法。比如,终端用户输入了 ctrl+c 来中断程序,会通过信号机制停止一个程序。信号概述 信号的名字和编号: 每个信号都有一个名字和编号,这些名字都以“SIG”开头,例如“SIGIO ”、“SIGCHLD”等等。 信号定义在signal.h头文件中,信号名都定义为正整...

2019-06-09 10:37:21 594

转载 sigemptyset、sigaddset、sigprocmask的用法 信号未决,信号阻塞 信号的捕捉

下图表明了在linux系统中,信号的大致关系:下面介绍一个简单的小例程:该例程解释如下:先设置两个信号集参数,s psigemptyset是将s的信号集先清空,sigaddset就是把SIGINT加入到s的信号集中,即该位设为1,堵塞。sigprocmask函数中的参数SIG_BLOCK 的作用是将s集合与set集合相或操作,于是set的信号集中的第二位被设...

2019-06-08 09:54:20 342

转载 信号集函数 sigemptyset()、sigprocmask()、sigpending()、sigsuspend()

我们已经知道,我们可以通过信号来终止进程,也可以通过信号来在进程间进行通信,程序也可以通过指定信号的关联处理函数来改变信号的默认处理方式,也可以屏蔽某些信号,使其不能传递给进程。那么我们应该如何设定我们需要处理的信号,我们不需要处理哪些信号等问题呢?信号集函数就是帮助我们解决这些问题的。有关Linux进程间使用信号通信的更多内容,可以参阅我的另一篇文章,Linux进程间通信 -- 信号量函数 ...

2019-06-08 09:50:30 863

转载 条件变量、pthread_cond_init

1.初始化条件变量pthread_cond_init#include <pthread.h>int pthread_cond_init(pthread_cond_t *cv,const pthread_condattr_t *cattr);返回值:函数成功返回0;任何其他返回值都表示错误初始化一个条件变量。当参数cattr为空指针时,函数创建的是一个缺省的条件变量。否则...

2019-06-06 17:16:48 159

转载 Linux线程同步之条件变量pthread_cond_t

一直以来都天真的认为线程间同步的方法只有信号量,互斥量,邮箱,消息队列,知道最近开始研究一些Linux方面的代码才发现自己是多么的很傻很天真。在Linux中还存在这一种叫做条件变量的东西。必须承认我在理解这个概念上花了很多时间,查阅了很多资料。这里主要分析如下几个问题:1. 条件变量是什么;2.为什么要和互斥量配合使用,互斥量保护的是什么;3.为什么条件变量经常会和while配合使用。1. ...

2019-06-06 16:43:56 107

转载 MAS库架构和相关API介绍

起始 11 Overview 22 MSA Library API 1 OverviewThis section describes the system design of MAS and MTK MAS Block.In Figure 1-1, MAS Structure is composed of 5 parts:...

2019-06-06 16:00:52 1198

转载 ALSA音频工具amixer,aplay,arecord

ALSA音频工具编译安装========================================================================1.官网http://www.alsa-project.org下载alsa-lib和alsa-utils我的版本:alsa-lib-1.0.27.2.tar.bz2 和alsa-utils-1.0.27.2.tar.bz2...

2019-06-06 15:57:23 386

转载 详解coredump

一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。 通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆...

2019-06-05 17:24:08 455

转载 uboot 中内存测试,内存检测方法

在 U-Boot中,Denx(U-Boot的开发商)针对常见的DDR内存故障进行了严格的检测处理,下图描述了该检测处理过程的三个步骤:检测数据线、地址线和DDR物理存储部件,主要涉及这三个步骤的处理过程和方法,对于DDR子系统,是很容易出故障并且是很难debug检测出来的,而Denx所针对 DDR内存故障设计的检测方法是非常严谨,值得学习研究的。下面主要是相关的检测处理思路及问题:1、...

2019-05-21 10:22:05 590

转载 linux 同步IO: sync、fsync与fdatasync

传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写(delayed write)(Bach ...

2019-04-28 10:49:40 21411 1

转载 Linux下进程退出的几种形式

阅读目录进程退出 几种退出方式的比较 exit()和_exit()函数回到目录进程退出Linux 下进程的退出分为正常退出和异常退出两种:1.正常退出a. 在main()函数中执行return 。b.调用exit()函数c.调用_exit()函数2.异常退出a.调用about函数b.进程收到某个信号,而该信号使程序终止。不管是哪种退出方式,系统...

2019-03-30 16:07:21 365

转载 父进程退出后如何通知子进程退出

Linux 中创建子进程是相当方便的,通过fork调用即可。当子进程退出时,要给父进程发送SIG_CHLD信号,是为了父进程回收子进程的资源,方便管理的目的。 但是当父进程退出后,一般是不会通知子进程的,父进程会将自己的所有子进程过继给init进程。但是,在实际的项目中,我们有这样的需求: 如果父进程退出后,希望能通知子进程退出。我们知道,可以利用进程间通信机制,在父进程退出前主动发送信号...

2019-03-30 16:06:28 1874

转载 Linux 下串口编程 编程实现

在 Linux 下串口文件是位于 /dev 下的打开串口是通过使用标准的文件打开函数open操作:#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #inclu...

2019-03-30 16:05:07 145

转载 STM32开发 -- Keil使用(1)

面已经把STM32开发环境搭建,keil的安装和工程新建讲完了。参看:Keil uVision4使用总结参看:STM32开发 – 开发环境搭建接下来看一下 keil 软件的使用。参看:ybhuangfugui 博客专家参看:zhzht19861011 博客专家这位大神写的keil专栏,讲的已经很详细了。但如果我只是看看的话,是记不住的。还是自己跟着来做一遍吧。...

2019-03-12 10:15:59 885

转载 数字签名是什么?

作者: 阮一峰日期: 2011年8月 9日今天,我读到一篇好文章。它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。文中涉及的密码学基本知识,可以参...

2019-02-12 08:45:37 144 1

转载 FreeRTOS 临界段和开关中断

以下转载自安富莱电子: http://forum.armfly.com/forum.php临界段代码的临界段也称为临界区,一旦这部分代码开始执行,则不允许任何中断打断。为确保临界段代码的执行不被中断,在进入临界段之前须关中断,而临界段代码执行完毕后,要立即开中断。FreeRTOS 临界段相关知识补充FreeRTOS 的源码中有多处临界段的地方, 临界段虽然保护了关键代码的执行不被打断,...

2019-01-31 08:40:50 409

转载 详解卡尔曼滤波原理

 详解卡尔曼滤波原理  在网上看了不少与卡尔曼滤波相关的博客、论文,要么是只谈理论、缺乏感性,或者有感性认识,缺乏理论推导。能兼顾二者的少之又少,直到我看到了国外的一篇博文,真的惊艳到我了,不得不佩服作者这种细致入微的精神,翻译过来跟大家分享一下,原文链接:http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/  我不得...

2019-01-04 08:18:38 194

转载 STM32调用C库自带函数

在MDK5的安装路径中:D:\MDK5\ARM\ARMCC\include,可以看到很多C库头文件,在程序中只要包含了相应的头文件,编译器就会自动把相应的代码编译链接进去。下面介绍在STM32可能会用到的函数: include "math.h"1、 三角函数double sin(double);正弦double cos(double);余弦double tan(do...

2018-12-19 14:04:54 11440

转载 stm32 堆和栈(stm32 Heap & Stack)【worldsing笔记】

关于堆和栈已经是程序员的一个月经话题,大部分有是基于os层来聊的。 那么,在赤裸裸的单片机下的堆和栈是什么样的分布呢?以下是网摘:  刚接手STM32时,你只编写一个int main(){while(1);}BUILD://Program Size: Code=340 RO-data=252 RW-data=0 ZI-data=1632 编译后,就会发现...

2018-12-19 13:30:28 400

转载 基本操作之-keil5在原有工程上修改工程名

导:keil建立工程,需要添加启动文件,需要修改魔术棒设置,需要添减文件和文件路径等等......,不难,倒是很麻烦;如果有现成的工程(往往都会有现成的工程),只需要稍微修改工程信息,借助这个基础工程会节省很大的开发周期;故,说明下如何简单快速的修改工程;简单3个步骤 很实用!!!1.在工程文件目录中,将old.uvoptx和old.uvprojx名字改成new.uvoptx和new.uvpr...

2018-12-17 13:35:46 354

转载 [图解]ARP协议(一)

一、ARP概述如果要在TCP/IP协议栈中选择一个"最不安全的协议",那么我会毫不犹豫把票投给ARP协议。我们经常听到的这些术语,包括"网络扫描"、"内网渗透"、"中间人拦截"、"局域网流控"、"流量欺骗",基本都跟ARP脱不了干系。大量的安全工具,例如大名鼎鼎的Cain、功能完备的Ettercap、操作傻瓜式的P2P终结者,底层都要基于ARP实现。 听上去这么"逆天

2018-11-08 16:08:26 148

转载 既然存在IP,为何还需要MAC?

作者:向往美链接:https://www.zhihu.com/question/21546408/answer/53576595来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 我来说说我的理解吧。 举例说明: 我们知道,出于历史的原因,世界上出现了很多的国家和民族,他们都使用不同的语言。 比如,要和法国人通信就要学会法语,和日本人通信就要学会日语,同理,...

2018-11-08 15:33:28 198

转载 ADI深度丨行波管可休矣,高带宽、大功率RF功放是谁的天下?

半导体技术的进步使高功率宽带放大器功能突飞猛进,GaN革命席卷了整个行业,并且可以让MMIC在几十种带宽下生成1 W以上的功率,因此,这个过去由行波管主导的领域已经开始让步于半导体设备。本文将简要描述支持这些发展的半导体技术的状态、实现最佳性能的电路设计考虑因素,还列举了展现当今技术的GaAs和GaN宽带功率放大器(PA)。在电信行业,基站的工作频率为450 MHz至3.5 GHz左右,并...

2018-11-02 14:12:48 914

转载 pixhawk ArduPilot_main启动与运行分析

上节分析2个系统启动脚本,一个是ardupilot/mk/PX4/ROMFS/init.d里的rcS,另一个是rc.APM,这个脚本在rcS里得到了调用,也就是说,rcS就是为Nuttx的启动文件。查看rc.APM的最低端,调用ArduPilot_main echo Starting ArduPilot $deviceA$deviceC$deviceDif ArduPilot ...

2018-09-18 13:32:41 338

转载 开源三轴云台

 目前市场上开源云台主要有下面几个:    1,EVVGC    基于STM32单片机开发的控制板,其资料和硬件设计可以在github上找到,不过都是几年前的,已经很久没有更新过了,感兴的可以看一下,详细资料在这:https://github.com/EvvGC/Firmware   2,brushless-gimbal-BruGi   基于Arduino平台开发。源码资料可在这里...

2018-08-21 15:04:15 7928 4

转载 RGB色彩空间和HSV色彩空间的理解

RGB色彩空间和HSV色彩空间的理解本文的结构如下:1、RGB色彩空间2、HSV色彩空间(附HSV颜色分量范围表)3、RGB到HSV的转换的Demo  使用OpenCV实现RGB转HSV,并通过滑动条动态设定HSV阈值  自己写程序,实现RGB转HSL 1、RGB色彩空间RGB色彩空间源于使用阴极射线管的彩色电视,RGB分别代表三个基色(R-红色、G-绿色、B-蓝色),具...

2018-08-17 15:38:19 2288

转载 旋转变换(二)欧拉角

旋转变换(二)欧拉角2017年03月28日 17:00:56阅读数:9157欧拉角(Euler Angles)是一种描述三维旋转的方式,其他的方式还包括矩阵、四元数、旋转轴和旋转角等方式。之所以可以用它来描述旋转是来自于欧拉旋转定理。该定理指出:任何一个旋转都可以用三个旋转的参数来表示。1. 欧拉角的描述欧拉角的描述方式有很多种,由于关于如何定义欧拉角目前并没有一个标准。因此不...

2018-08-07 08:35:06 854

转载 旋转变换(一)旋转矩阵

1. 简介计算机图形学中的应用非常广泛的变换是一种称为仿射变换的特殊变换,在仿射变换中的基本变换包括平移、旋转、缩放、剪切这几种。本文以及接下来的几篇文章重点介绍一下关于旋转的变换,包括二维旋转变换、三维旋转变换以及它的一些表达方式(旋转矩阵、四元数、欧拉角等)。2. 绕原点二维旋转首先要明确旋转在二维中是绕着某一个点进行旋转,三维中是绕着某一个轴进行旋转。二维旋转中最简单的场景是绕着...

2018-08-07 08:15:24 9199

转载 磁力计(电子罗盘)

ST对磁力计的介绍       电子罗盘(磁力计)是重要的导航工具,能实时提供移动物体的航向和姿态。随着半导体工艺的进步和手机操作系统的发展,集成了越来越多传感器的智能手机变得功能强大,很多手机上都实现了电子罗盘的功能。而基于电子罗盘的应用(如Android的Skymap)在各个软件平台上也流行起来        要实现电子罗盘功能,需要一个检测磁场的三轴磁力传感器和一个三轴加速度传感...

2018-08-02 12:02:44 1735

转载 Pixhawk源码笔记八:添加新的参数

 如何向代码中添加新的参数,对应了MissionPlanner 中的可配置参数,从而实现一些新的功能?本节对此进行讲解。如有问题,可以交流[email protected]。新浪@WalkAnt,转载本博客文章,请注明出处,以便更大范围的交流,谢谢。第九部分 添加新的参数        英文参考:http://dev.ardupilot.com/wiki/code-overview-add...

2018-08-01 08:47:37 844

转载 Pixhawk源码笔记七:姿态控制预览

 这里,我们以高度保持模式为例,对姿态控制程序调用关系进行了详细介绍。如有问题,可以交流[email protected]。新浪@WalkAnt,转载本博客文章,请注明出处,以便更大范围的交流,谢谢。第八部分 姿态控制预览        英文参考:http://dev.ardupilot.com/wiki/apmcopter-programming-attitude-control-2/ ...

2018-08-01 08:46:23 395

转载 Pixhawk源码笔记六:源码预览与APM:Copter程序库

这里,我们对 APM 源码调用做一个简要介绍,并对APM 程序库做详细讲解。如有问题,可以交流[email protected]。新浪@WalkAnt,转载本博客文章,请注明出处,以便更大范围的交流,谢谢。第七部分 源代码预览与APM:Copter程序库        英文参考:http://dev.ardupilot.com/wiki/apmcopter-code-overview/  ...

2018-08-01 08:45:23 318

转载 Pixhawk源码笔记五:存储与EEPROM管理

        这里,我们对 APM EEPROM存储接口进行讲解。如有问题,可以交流[email protected]。新浪@WalkAnt,转载本博客文章,请注明出处,以便更大范围的交流,谢谢。第六部分 存储与EEPROM管理        详细参考:http://dev.ardupilot.com/wiki/learning-ardupilot-storage-and-eeprom...

2018-08-01 08:44:13 637

转载 Pixhawk源码笔记四:学习RC Input and Output

        这里,我们对 APM RC Input Output接口进行讲解。如有问题,可以交流[email protected]。新浪@WalkAnt,转载本博客文章,请注明出处,以便更大范围的交流,谢谢。第五部分 学习RC Input and Output        参考:http://dev.ardupilot.com/wiki/learning-ardupilot-rc-...

2018-08-01 08:42:20 1298

软件工程学习.rar

不错的软件工程学习资料,值得收藏学习,不错的软件工程学习资料,值得收藏学习

2019-07-18

RTP_RTSP_ONVIF协议规范.rar

Onvif 最新中文协议 RTP英文协议 RTSP英文协议 开发网络音视频传输必备

2019-07-17

Linux下Shell编程

Shell是一种具备特殊功能的程序, 它是介于使用者和 UNIX/Linux 操作系统之核心程序(kernel)间的一个接口。 为了对用户屏蔽内核的复杂性,也为了保护内核以免用户误操作造成损害,在内核的周围建了一个外壳(shell)。用户向shell提出请求,shell解释并将请求传给内核。 使用较广的shell有标准的Bourne shell (sh)、Korn Shell(ksh)、C shell (csh)、Bourne Again Shell(bash)等。

2018-07-26

xilinx_ISE_教程

使用ISE13.1完成一个数字系统的设计,其内容包括: 工程的建立; 三位计数器的设计; 设计综合和查看综合结果; 三位计数器设计仿真; 分频器的设计; 用户约束的添加和设计实现; 布局布线结果的查看; 设计下载到FPGA芯片 PROM文件的生成和下载到PROM中

2018-07-26

verilog教程

Verilog HDL是一种用于数字逻辑电路设计的硬件描述语言(Hradware Description Language ),可以用来进行数字电路的仿真验证、时序分析、逻辑综合。 用Verilog HDL描述的电路设计就是该电路的Verilog HDL模型。 Verilog HDL 既是一种行为描述语言也是一种结构描述语言。 Verilog HDL是一种用于数字逻辑电路设计的硬件描述语言(Hradware Description Language ),可以用来进行数字电路的仿真验证、时序分析、逻辑综合 既可以用电路的功能描述,也可以用元器件及其之间的连接来建立Verilog HDL模型。

2018-07-26

FPGA运算资料

FPAG verilog 主要是FPGA矩阵乘法运算资料 一般的快速乘法器通常采用逐位并行的迭代阵列结构,将每个操作数的N位都并行地提交给乘法器。但是一般对于FPGA来讲,进位的速度快于加法的速度,这种阵列结构并不是最优的。所以可以采用多级流水线的形式,将相邻的两个部分乘积结果再加到最终的输出乘积上,即排成一个二叉树形式的结构,这样对于N位乘法器需要lb(N)级来实现。

2018-07-26

xilinx原语

xilinx原语的一些资料

2016-07-31

verilog中值算法

使用verilog编写的3x3中值处理算法

2016-07-31

The C Programming Language (2nd Edition).pdf

C语言编程书,学习和查询必不可少的资料.希望能够有用.

2015-12-03

C语言与指针

C语言的书,讲的非常好,适合初学者.希望对大家有用.

2015-12-03

ISE使用详解

ISE使用详解,适合新手或工程师.FPGA xilinx ISE 教程.

2015-12-03

Matab图像处理教程

对于研究图像处理算法有一定的帮助,Matab 图像处理

2015-12-03

Linux make资料

Linux 下如何编写makefile 详细的文件资料 开发必备

2013-06-19

scsi primary commands-4

scsi primary commands

2013-05-15

空空如也

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

TA关注的人

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