自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangpengqi的专栏

希望我的博客可以给你带来财富

  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

转载 检测按键

硬件说明按键KEYINT3 练到s3c6410的GPN2脚,且键按下时,GPN2脚为低电平。GPN配置寄存器GPNCON的地址为0x7F008830, 且[5:4] 位配置为00时,表示GPN2脚用于输入功能。GPN数据寄存器GPNDAT的地址为0x7F008834,且读取[2]位就能得到GPN2脚的电平状态。GPN上拉控制寄存器GPNPUD 的地址为0

2012-11-27 20:40:16 511

转载 “手把手教你学linux驱动开发”OK6410系列之01---模块编程

一、实验环境 开发机环境          操作系统:ubuntu 9.10          交叉编译环境:arm-linux-gcc 4.2.2 ,安装位置 /usr/local/arm/4.3.2/          6410板子内核源码路径:/work/linux-2.6.36.2-v1.05/     目标板环境:OK6410-A     linu

2012-11-27 20:36:25 501

转载 “手把手教你学linux驱动开发”OK6410系列之03---LED字符设备驱动

上一篇文章我们介绍了字符设备驱动程序的框架,本篇文章我们将操作真实的硬件---LED。       作者:沧海猎人   出处:http://blog.csdn.net/embedded_hunter  转载请注明出处   嵌入式技术交流QQ群:179012822  一、实验环境 开发机环境          操作系统:ubuntu 9.10

2012-11-27 20:33:58 409

转载 “手把手教你学linux驱动开发”OK6410系列之02---虚拟字符设备

上一篇文章我们介绍了如何在linux下编写一个模块,并加载到内核空间。通过实验我们了解了大体的流程以及模块的工作原理。本篇文章我们将介绍如何编写一个虚拟的字符设备驱动程序。       之所以称之为虚拟字符设备驱动程序,主要原因是该驱动程序并没有真正操作外部设备,只是一个字符设备驱动程序框架,这为后面我们开发正是设备的驱动程序(LED、蜂鸣器等)奠定了基础。       作者:沧海

2012-11-27 20:33:00 448

转载 音视频同步-时间戳

媒体内容在播放时,最令人头痛的就是音视频不同步。从技术上来说,解决音视频同步问题的最佳方案就是时间戳:首先选择一个参考时钟(要求参考时钟上的时间是线性递增的);生成数据流时依据参考时钟上的时间给每个数据块都打上时间戳(一般包括开始时间和结束时间);在播放时,读取数据块上的时间戳,同时参考当前参考时钟上的时间来安排播放(如果数据块的开始时间大于当前参考时钟上的时间,则不急于播放该数据块,直到参考时钟

2012-11-27 20:20:31 817

转载 音视频同步原理[ffmpeg]

音视频同步原理[ffmpeg]output_example.c 中AV同步的代码如下(我的代码有些修改),这个实现相当简单,不过挺说明问题。阅读前希望大家先了解一下时间戳的概念。/* compute current audio and video time */if (pOutputVars->pOutAudio_st)//存在音频流 pOutputVars->audio_pts

2012-11-27 20:18:12 897

转载 ARM11---中断---向量中断控制器(VIC)---结合s3c6410

今天看了看ARM1176手册关于中断的那部分,感觉挺有意思的。记下来! (一)、首先说一下PL192向量中断控制器          一个中断控制器是用来处理多个中断源的外围设备,通常包含以下几个特性:          1.为每个中断源分配一个中断请求输入端口。为每个中断请求分配一个中断请求输出端口,以能连接到处理器的VIC端口。

2012-11-27 15:09:28 761

转载 OK6410裸机程序---hello world

上面已经解决 了几个问题。现在我们的状态:可以在PC - OK6410 之间进行tftp传输,确定了一下可用的地址 空间,下面我们来说一下printf调试 、因为没有jlink,只能用printf调试,你也许会问,我们自己实现printf么?答曰:不是,我们只是弄个hello world,何必那么认真呢?printf函数是uboot 实现的,我们只需要调用就行了。当然了,这个首先得到你

2012-11-27 13:05:33 474

转载 getopt函数应用

相关函数表头文件#include定义函数int getopt(int argc,char * const argv[ ],const char * optstring);使用方法:在while循环中反复调用,直到它返回-1。每当找到一个有效的选项字母,它就返回这个字母。如果选项有参数,就设置optarg指向这个参数。

2012-11-26 19:43:43 393

转载 DMA(direct memory access)控制方式

1、DMA控制方式的引入       中断方式是以字节(字)为单位进行I/O的, 每完成一个字节(字) CPU要处理一次中断, 这种方法用于块设备效率极低, 为了进一步减少CPU对I/O的干预, 提高CPU与I/O设备的并行度引入DMA控制方式。    DMA方式的特点为: 数据传送的基本单位是数据块。 数据是直接在设备─内存之间传送的。 仅在传送一个或多个数据块的开始和结束时

2012-11-25 13:38:23 1657

转载 DMA工作原理

DMA控制方式  当高速外设要与系统内存或者要在系统内存的不同区域之间,进行大量数据的快速传送时,查询方式和中断方式可能不能满足要求;直接存储器存取(DMA)就是为解决这个问题提出的;采用DMA方式,在一定时间段内,由DMA控制器取代CPU,获得总线控制权,来实现内存与外设或者内存的不同区域之间大量数据的快速传送。   DMA 的传送工作过程:  1)DMAC 发出DMA 传送请求;

2012-11-25 13:16:07 3910

转载 关于I2C和SPI总线协议

关于I2C和SPI总线协议IICvs SPI         现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影。原因是这两种通信协议非常适合近距离低速芯片间通信。Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需求制

2012-11-24 19:01:19 709

转载 SPI总线协议介绍

SPI总线协议介绍一、技术性能        SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构;支持多slave模式应用,一般仅支持单Master。时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平

2012-11-24 18:26:34 507

转载 SPI时序详解

SPI时序详解             SPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO;用于 CPU与各种外围器件进行全双工、同步串行通讯。SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。

2012-11-24 18:26:04 559

转载 典型的SPI控制器的结构

典型的SPI控制器的结构         一个典型的SPI控制器的结构,主要又波特率发生器、主控逻辑、收发缓冲、控制部分等几大部分组成。如下图所示:

2012-11-24 18:25:33 447

转载 S3C2440的SPI控制器

S3C2440包含有两个串行外围设备接口(SPI口),每个SPI口都有两个分别用于发送和接收的8位移位寄存器,在一次SPI通信当中数据被同步发送(串行移出)和接收(串行移入)。8位串行数据的速率由相关的控制寄存器的内容决定。如果只想发送,接收到的是一些虚拟的数据。另外,如果只想接收,发送的数据也可以是一些虚拟的“1”。结构框图如下:1、SPI接口特性:与SPI接口协

2012-11-24 18:25:06 599

转载 单片机软件模拟SPI接口—加深理解SPI总线协议

单片机软件模拟SPI接口—加深理解SPI总线协议          SPI(Serial Peripheral Interfacer 串行外设接口)是摩托罗拉公司推出的一种同步串行通讯接口,用于微处理器臌控制器和外围扩展芯片之间的串行连接,现已发展成为一种工业标准,目前,各半导体公司推出了大量的带有SPI接口的具有各种各样功能的芯片,如RAM,EEPROM,FlashROM,A/D转换器、D/

2012-11-24 18:24:23 575

转载 详解SPI中的极性CPOL和相位CPHA

详解SPI中的极性CPOL和相位CPHA           SPI由于接口相对简单(只需要4根线),用途算是比较广泛,主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。即一个SPI的Master通过SPI与一个从设备,即上述的那些Flash,ADC等,进行通讯。而主从设备之间通过SPI进行通讯,首先要保证两者之间时钟SCLK要一致,互相要商量

2012-11-24 18:23:49 448

转载 SPI总线协议介绍

SPI总线协议介绍一、技术性能        SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构;支持多slave模式应用,一般仅支持单Master。时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平

2012-11-24 17:57:05 528

转载 I2C总线学习—查缺补漏—S3C2440的I2C控制器

I2C总线学习—查缺补漏—S3C2440的I2C控制器                 学习了IIC总线协议的理论部分,觉得应该学习具体操作2440的IIC控制器,毕竟最终都是为了学习S3C2440,所以就把这一部分补上。 S3C2440的I2C接口有四种工作模式:主机发送器、主机接收器、从机发送器、从机接收机。其内部结构如下图所示。          从上图可以看出,

2012-11-23 23:58:53 636

转载 I2C总线学习—查缺补漏—应答信号ACK

I2C总线学习—查缺补漏—应答信号ACK          IIC协议规定,当主机作为接收设备时,主机对最后一个字节不应答,以向发送设备(从设备)标识数据传送结束。这是因为每次传输都应得到应答信号后再进行下一个字节传送。如果此时接收机应答了,那它就接收的不是最后一个字节了。如果是最后一个字节,第9个时钟周期发送的是非应答信号(此时发送的不是应答信号就是非应答信号),最后发送停止信号。

2012-11-23 23:57:40 1128

转载 I2C总线学习—查缺补漏—对数据有效性的思考

I2C总线学习—查缺补漏—对数据有效性的思考IIC协议规定:SDA上传输的数据必须在SCL为高电平期间保持稳定,SDA上的数据只能在SCL为低电平期间变化。IIC期间在脉冲上升沿把数据放到SDA上,在脉冲下降沿从SAD上读取数据。这样的话,在SCL高电平期间,SDA上的数据是稳定的。在脉冲下降沿之后的保持时间以后,SDA上的数据可以变化,直到脉冲上升沿之前。

2012-11-23 23:55:32 903

转载 I2C总线时序模拟(二)-加深理解总线协议

/********************************************************************此程序是I2C操作平台(主方式的软件平台)的底层的C子程序,如发送数据及接收数据,应答位发送,并提供了几个直接面对器件的操作函数,它很方便的与用户程序连接并扩展..... 注意:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作

2012-11-23 23:52:22 1063

转载 I2C总线串行串行输入输出结构

I2C总线串行串行输入输出结构                本文章以8XC552(飞利浦的一款微控制器)的IIC总线串行串行输入输出结构为例,深入理解IIC总线协议:                           IIC总线的串行输入输出结构保证了IIC总线的数据寄存器中能保存总线上的最新数据。SDAT和ACK组成一个9为的移位寄存器,它组成一个环状结构。串行输出的同时不断

2012-11-23 23:51:20 1047

转载 对I2C总线的时钟同步和总线仲裁的深入理解

对I2C总线的时钟同步和总线仲裁的深入理解        每一个IIC总线器件内部的SDA、SCL引脚电路结构都是一样的,引脚的输出驱动与输入缓冲连在一起。其中输出为漏极开路的场效应管、输入缓冲为一只高输入阻抗的同相器[1]。这种电路具有两个特点: ①由于SDA、SCL为漏极开路结构,借助于外部的上拉电阻实现了信号的“线与”逻辑;②引脚在输出信号的同时还将引脚上的电平进行检

2012-11-23 23:42:17 970

转载 51单片机IIC总线编程

#include#define uchar unsigned charsbit sda=P2^0;sbit scl=P2^1;//用单片机的两个I/O口模拟I2C接口uchar a;***************************************************************************void delay()//简单延时函数{ ;; }

2012-11-23 23:40:37 1511 1

转载 对I2C总线协议的一些理解

1、无论读与写,都是在时钟线为低时把数据送到数据总线上,在高时采样数据,把数据锁存到内部,所以读之前先把时钟线拉低,做好准备(数据线为高表示释放数据线),为接下来读数据做好准备。也就是时钟信号为低时,数据线上的高低电平才允许变化,时钟信号为高时,数据总线上的数据必须保持稳定。2、起始信号产生后,总线为被占用状态(SDA拉低);终止信号产生后,总线为空闲状态(SCL被释放了)。

2012-11-23 20:15:44 696

转载 I2C总线信号时序总结

I2C总线信号时序总结总线空闲状态   I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 启动信号   在时钟线SCL保持高电平期间,数据线SDA上的电平被拉低(即负跳变),定义为I2C总线总线的启动信号,它标志着一次数据传输的开始。

2012-11-23 20:10:50 943

转载 单片机片外程序存储器数据存储器操作命令

说明:单片机片外程序存储器数据存储器操作命令与通常所说的存储器不同,和I2C总线的AT24C02不同,SPI协议的也不同,是指采用专用接口电路,应用P0口P2口地址总线和控制线的“三总线”方式访问的。关于编程的时候,和访问内部程序存储器,数据存储器不同是:1对外部程序存储器,和内部一样,程序不用改。2,.对片外的数据存储器,汇编要用MOVX   DPTR 什么的,我也不懂,C语言相关的部分比如:变

2012-11-22 13:26:49 7907 1

转载 ARM开发步步深入之NandFlash 4KB突围

实验目的:突破4KB的Steppingstone存储空间限制,读取NandFlash中4KB后的代码实现“点灯大法”,借此掌握NandFlash的操作。 实验环境及说明:恒颐S3C2410开发板H2410。H2410核心板的NandFlash选用的是三星片上(SOP)K9F1208U0M,该NandFlash容量为64MB。 实验思路:开发板上电启动后,自动将NandFlash开始的4K数

2012-11-22 09:19:47 541

转载 从Nand Flash启动U-BOOT的基本原理

从Nand Flash启动U-BOOT的基本原理前4K的问题 如果S3C2410被配置成从Nand Flash启动(配置由硬件工程师在电路板设置), S3C2410的Nand Flash控制器有一个特殊的功能,在S3C2410上电后,Nand Flash控制器会自动的把Nand Flash上的前4K数据搬移到4K内部RAM中,并把0x00000000设置内部RAM的起始地址,CPU

2012-11-22 09:08:58 613

转载 利用ffmpeg提供的库(API)进行音频与视频的编码并生成文件

Output example.c目录 [隐藏]1 概述2 音频输出2.1 add_audio_stream2.2 open_audio2.3 get_audio_frame2.4 write_audio_frame2.5 close_audio3 视频输出3.1 add_video_stream3.2 alloc_pictur

2012-11-19 17:14:43 2308

转载 Ffmpeg快速应用开发

Ffmpeg 中的Libavformat 和 libavcodec库是访问大多数视频文件格式的一个很好的方法。不幸的是,在开发您自己的程序时,这套库基本上没有提供什么实际的文档可以用来作为参考(至少我没有找到任何文档),并且它的例程也并没有太多的帮助。这种情况意味着,当我在最近某个项目中需要用到 libavformat/libavcodec 库时,需要作很多试验来搞清楚怎样使用它们。这里是

2012-11-19 17:06:33 581

转载 我从创立3家科技公司的经历中学到了什么

我从创立3家科技公司的经历中学到了什么引自:http://www.36kr.com/p/38490.html1999年以来,我已亲手创立和经营了3家科技公司,我现在正在经营的公司是Fabulis.com。一路走来,我学到了很多,据我个人的创业经历,我认为以下36个方面对创业者来说非常重要。1.要想创业,首先要对创业有火一样的激情。2.良好的用户体验至关重

2012-11-19 14:25:59 732

转载 ubuntu下ffmpeg编译安装

ubuntu下ffmpeg编译安装 解决库链接不上的问题ubuntu下ffmpeg编译安装  1、ffmpeg是什么东西?相信很多人第一次接触这个东西,我先在这里做个简单的介绍。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec等。 libavformat :用于各种音视频封

2012-11-19 13:31:13 878

转载 IPC通信:Posix消息队列的属性设置

IPC通信:Posix消息队列的属性设置Posix消息队列的属性使用如下结构存放:struct mq_attr { long mq_flags; /*阻塞标志位,0为非阻塞(O_NONBLOCK)*/ long mq_maxmsg; /*队列所允许的最大消息条数*/ long mq_msgsize; /*每条消息的最大字节数*/

2012-11-14 15:54:18 766

转载 linux系统getopt函数详解

getopt()函数就是用来解析命令行参数调用形式一般如下:while((c = getopt(argc, argv, "xy:z::")) != -1){      switch(c){      case 'x':   ... ...      case 'y':   ... ...      case 'z':   ..

2012-11-14 14:58:56 12931

转载 Linux线程属性及优先级设置

Linux线程属性及优先级设置【原文引自】http://hikesoso2010.spaces.eepw.com.cn/articles/article/item/86413#线程的属性由pthread_attr_t结构类型表示。  在使用pthread_attr_t之前,需要调用pthread_attr_init对其初始化。pthread_attr_init为pt

2012-11-13 20:07:11 1113

转载 第二篇 模拟电子技术基础

第二篇 模拟电子技术基础第六章 半导体二极管及其整流电路半导体二极管和三极管是最常用的半导体器件。它们的基本结构、工作原理、特性和参数是学习电子技术和分析电子电路必不可少的基础,而PN结又是构成各种半导体器件的共同基础。本章从讨论半导体的导电特性和PN结的基本原理(特别是它的单向导电性)开始,然后介绍二极管特性参数及基本应用。§6-1 半导体的导电特性在自然界中,物质按其导电能力的

2012-11-11 18:10:46 3419 1

ICMP ping 实现

ping 实现 ICMP

2015-06-01

candence16.6安装破解文件

自己安装candence16.6过程中使用的破解文件,希望可以给大家有帮助。哈哈

2013-04-06

candence16.6安装破解记录

个人安装candence16.6记录,已经破解成功,希望给大家做参考

2013-04-06

空空如也

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

TA关注的人

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