自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yyfwd的博客

不比起步,只比进步。

  • 博客(27)
  • 收藏
  • 关注

原创 关于1553B总线通讯以及61580RAM存储详解

     最近在做卫星电源控制器软件开发系统,下位机软件和上位机软件之间的通讯采用的是航天高等级的1553B总线的通讯方式,在存储方面用的是61580片外RAM的存储方式,存储时序要严格按照1553B的通讯协议。1553B的RAM存储区分别有32个接收端子地址,32个发送端子地址,32个广播子地址,32个子地址控制字。现在主要对接受子地址和发送子地址。    在电源控制器端作为RT端,主要任务是将...

2018-03-15 20:17:54 10910 3

原创 Linux 设备驱动中的异步通知与异步 I/O(2)

AIO 概念与 GNU C 库函数 Linux 系统中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况下,I/O 请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步 I/O(AIO)应用

2016-07-13 19:37:55 1697

原创 zigbee&云服务器智能家居控制系统

现在正在做一个智能家居远控项目,我们选用的通信模块是zigbee模块,通过多功能遥控与Zigbee进行数据对接控制,为什么要用到云服务,因为我们市面上遥控器的类型太多,此次我们做到是Zigbee&红外遥控器,Zigbee遥控比红外传输距离远信号更稳定,只要在这个蜂窝信号内无论遥控指向何方都能准确控制。云端主要与手机APP方面对接。首先我们将每个电器上装上一个zigbee端口,然后遥控这

2016-07-07 12:06:29 4776 3

转载 Linux内核在S3C2410平台上移植

此教程适合2.6.38之前的版本,其中2.6.35之前使用同一yaffs补丁包,2.6.36--2.6.28 yaffs文件系统有所改变,2.6.39之后的暂时不支持,源码下载请到:http://www.kernel.org/1.解压linux-2.6.34.tar.bz2源码包#tar jxvf  linux-2.6.34.tar.bz22.修改linux-2.6.3

2016-04-01 11:33:31 815

原创 Linux中Uboot详解

在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。3. 文件系统。包括根文件系统和建立于 Flash

2016-03-30 15:40:55 7518 3

转载 WIFI模块分析

最近研究Wifi模块,查了不少的相关资料,但发现基本上是基于android2.0版本的的分析,而现在研发的android移动平台基本上都是2.3的版本,跟2.0版本的差别,在Wifi模块上也是显而易见的。2.3版本Wifi模块没有了WifiLayer,之前的WifiLayer主要负责一些复杂的Wifi功能,如AP选择等以提供给用户自定义,而新的版本里面的这块内容基本上被WifiSettings所代

2016-03-30 15:31:08 1680

原创 C语言中sizeof求结构体大小(让你真正了解结构体成员在内存中的分布情况)

今天我在写程序的时候我发现当一个结构体里面的成员变量相同的时候但是顺序不同的时候,所消耗的内存大小是不一样的,因为我对内存的消耗很敏感,我想它具体是怎么用的 ,于是我具体看了下关于结构体成员在内存里面的分布情况在这里我在这里记录下我的理解心得:我们都知道运算符sizeof可以计算出给定类型的大小,对于32位系统来说,sizeof(char) = 1; sizeof(short)=2;s

2016-03-14 15:50:48 5234 1

原创 Linux中的find命令精华版(你会用到爱不释手)

在我们初学者来说,如果你熟悉了find命令,你会发现你在茫茫的Linux系统中找你需要的文件太简单了。在此我深深的感受到了这个命令的强大之处,在此我在这里收集了一些比较精华的的,希望对于Linux爱好者有很大的帮助find命令的参数;pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print: find命令将匹配

2016-03-10 16:46:30 497

原创 Ubuntu中编写脚本

今天我在按照要求编译应用程序的时候,一起我都是根据文档上的要求一条条命令去敲,我觉得很麻烦,于是我突发奇想我干嘛不用一个脚本去写呢。在这里我简单的介绍下写脚本的规范:首先我们必须的创建一个脚本文件例如;vim  filename(文件的名字随便定)这里我之前想过这个脚本文件的属性有没有必要去定呢,于是我尝试了下,没有硬性要求,因为系统识别文件的属性是根据脚本里面的头来判

2016-03-10 15:59:31 5607

原创 Linux进程间共享内存通讯

今天在跑海思3520D应用程序的时候,发现视频解码的时候老是出现打开共享内存失败,于是自己好好了解了下共享内存的机制,于是自己在这里做了下笔记使用共享内存基本分四个步骤:获得共享内存:shmget()->映射共享内存shmat() -->解除映射shmdt()-->删除共享内存shmctl()于是自己在网上找来了一个例子看了下,并且用虚拟机单独跑了下共享内存的经典例程看了下,才

2016-03-08 15:07:05 585

转载 什么是I帧,P帧,B帧

视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。  简单地说,I帧是关键帧,属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜索的意思。B是双向搜索。他们都是基于I帧来压缩数据。  I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)P帧

2016-03-01 17:26:08 762

原创 Hi3520D SDK 安装以及升级使用说明

1、hi3520D SDK包位置    在"hi3520D_V100R001***/01.software/board"目录下,您可以看到一个 hi3520D_SDK_Vx.x.x.x.tgz 的文件,该文件就是hi3520D的软件开发包。2、解压缩SDK包    在linux服务器上(或者一台装有linux的PC上,主流的linux发行版本均可以),使用命令:tar -z

2016-02-25 11:11:23 2709

原创 Hi3511 VSSSDK 安装以及升级使用说明

首次安装SDK  (注意红帽子和Ubuntu的脚本不一样 ,我在这个上面吃了点苦头,要看清楚,不然编译会出错,红帽子:#!/bin/sh   Ubunt : #!/bin/bash)1、Hi3511 SDK包位置在"Hi3511 DMS V100R001C01B123/soft/Hi3511_VSSDK_V1.1.2.3"目录下,您可以看到一个 Hi3511_VSSDK_V1.

2016-02-25 11:07:51 698

原创 海思3520D芯片硬盘和SD卡挂载说明

2016--02--23    天气:阴今天想要将硬盘机里面的录像转移一部分录像放到SD卡里面做视频分析在Linux系统需要挂载才能转移文件:在这里做下笔记记录下挂载的方式,当内核和文件系统跑起来的时候我们进入到根文件系统目录下我们首先查下我们硬件的设备号;查看设备好的 命令有几种cat   /dev 或者 ls  /dev我们公司的产品挂载命令如下(不通的公司不同

2016-02-23 17:34:02 3972

原创 内存管理和使用分配

今天是16年2月28号,快过年了,今天闲来无事开了下内核方面的代码,以及一些脚本,突然很想弄懂内存是怎么管理的,怎么分区的。这里我凭自己的理解做了下笔记。应用程序主要分为三个段,data,text,bss应用程序未运行的静态状态下: text ,bss ,data(存放用户代码)应用程序在运行状态下:堆,栈,text,bss,data;堆和栈只有在应用程序在运行状态下才存在。

2016-02-03 08:55:33 483

转载 linux下文件的读写操作(openreadwrite)

open(打开文件) 相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen 表头文件 #include#include#include 定义函数 int open( const char * pathname, int flags);int open( const char * pathname,i

2016-01-27 09:18:50 393

转载 statfs获取硬盘使用情况函数详解

今天在写海思3520D视频文件保存和读取时,遇到一个问题直接读取硬盘里面的文件用那个函数,当时准备使用fopen,fwrite,fread,函数去实现,但是比较麻烦。于是我自己度娘了一下发现了 statfs函数可以实现,自己在这里看了下,做了下笔记。先说statfs结构:#include     /* 或者 */int statfs(const char *path, str

2016-01-25 11:47:45 4518

原创 HI3520D高清机器系统移植详解

今天公司来了50块样机新板,然后硬件工程师拿了一块样机让我调试和系统移植下去验证板子的硬件是不是有问题,之前在学校移植过三星S3C2410,因此对过程有些了解,其实不同的开发板都是大同小异的,无非就是FLASH大小不同,以及分区不同而已,下面我把自己移植的过程做了下笔记希望能为一些遇到相似问题的人有你帮助。首先移植的时候如果你用的是TFTP协议的话,要一个TFTP传输软件,软件文件设置为你

2016-01-25 11:02:00 2846 1

原创 线程通讯中的mutex线程控制详解

今天在编写多线程通讯的时候,关于共享资源的操作不冲突,应用互斥锁方面有些不是很清楚,通过编写一些例子和看书的解释说明,在这里我做下我对这方面的总结:mutex 是一种简单的加锁的方法来控制对共享资源的存取。这个互斥锁只有两种状态,也就是上锁和解锁,可以把互斥锁看作某种意义上的全局变量。在同一时刻只能有一个线程掌握某个互斥上的锁,拥有上锁状态的线程能够对共享资源进行操作。若其他线程希望上

2016-01-20 16:56:28 478

原创 C语言中exit(0)与exit(1)有什么区别

C语言中_exit(),exit(0)与exit(1)有什么区别今天天气有点冷,当我在写消息队列的程序的时候,遇到了结束进程的这个问题,突然脑海里有点混乱,我是用_exit(),还是用exit(1),还是用exit(0)呢,然后自己度娘了一下,整理了一下稍微做了一个总结吧。_exit();和exit()主要区别是一个退出进程会清理I/O缓冲区,一个直接结束进程进入到内核中。下面

2016-01-20 15:12:47 61396 8

转载 stm32的三种编程下载方式

stm32的三种编程下载方式 2011-04-24 12:55:23分类: 嵌入式J-link几乎可以调试所有的arm芯片,不得不说是个好东东。这里记录三种stm32的下载程序方式:1.J-Flash下载(需要用到J-link)2.MDK配置下载(需要用到J-link)3.ISP下载(串口下载,需要用到官配串口下载软件,用过stc51的对这个都不

2016-01-13 15:46:52 565

原创 Linux中的stat函数用法

stat函数讲解表头文件:    #include              #include 定义函数:    int stat(const char *file_name, struct stat *buf);函数说明:    通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值:      执行成功则返回0,失败返回-1,错误代码存于er

2016-01-12 11:36:49 604

转载 pthread_join函数及linux线程

pthread_join函数及linux线程pthread_join使一个线程等待另一个线程结束。 代码中如果没有pthread_join主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了。加入pthread_join后,主线程会一直等待直到等待的线程结束自己才结束,使创建的线程有机会执行。 所有线程都有一个线程号,也就是Thread ID。其类型为p

2016-01-06 10:35:02 359

原创 #define和typedef区别中的理解

#typedef   char *  pstr1#define    pstr2  char *pstr1 s1,s2;pstr2 s3,s4;我们会发现s1,s2,s3,都是char *,而s4是char 。结果还原如下:char *s1 ,*s2;char *s3,s4;比如说:#define  PI  3.1415926起到的作用就是,如果出现

2015-12-21 15:04:20 374

转载 嵌入式I2C协议详解

I2C总线详细介绍2010-10-30 18:26:44| 分类: 面试总结 | 标签: |字号大中小 订阅I2C是一种串行总线的外设接口,它采用同步方式串行接收或发送信息,两个设备在同一个时钟下工作。I2C总线只用两根线:串行数据SDA(Serial Data)、串行时钟SCL(Serial Clock)。由于I2C只有一根数据线,因此其发送信息和接收

2015-12-21 14:31:06 869

转载 嵌入式I2C协议详解

I2C总线详细介绍2010-10-30 18:26:44| 分类: 面试总结 | 标签: |字号大中小 订阅I2C是一种串行总线的外设接口,它采用同步方式串行接收或发送信息,两个设备在同一个时钟下工作。I2C总线只用两根线:串行数据SDA(Serial Data)、串行时钟SCL(Serial Clock)。由于I2C只有一根数据线,因此其发送信息和接收

2015-12-21 14:29:33 2817

原创 Linux中opendir的函数结构体详解

#include #include DIR *opendir(const char *name);DIR *fdopendir(int fd);struct __dirstream      {       void *__fd;        char *__data;        int __entry_data;        cha

2015-12-17 11:59:18 3483

空空如也

空空如也

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

TA关注的人

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