- 博客(83)
- 资源 (2)
- 收藏
- 关注
转载 数据公钥加密和认证中的私钥公钥
加密和认证 首先我们需要区分加密和认证这两个基本概念。 加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。两者的侧重点是不同的。 公钥和私钥 其次我们还要了解公钥和私钥的
2014-04-21 09:44:53
1054
转载 nmap命令使用详解
[Ping扫描(Ping Sweeping)] [端口扫描(Port Scanning)] [隐蔽扫描(Stealth Scanning)] [UDP扫描(UDP Scanning)] [操作系统识别(OS Fingerprinting)] [Ident扫描(Ident Scanning)] [选项(Options)] [小结]
2014-04-16 11:11:08
7877
转载 基于Linux ALSA音频驱动的wav文件解析及播放程序
本设计思路:先打开一个普通wav音频文件,从定义的文件头前面的44个字节中,取出文件头的定义消息,置于一个文件头的结构体中。然后打开alsa音频驱动,从文件头结构体取出采样精度,声道数,采样频率三个重要参数,利用alsa音频驱动的API设置好参数,最后打开wav文件。定位到数据区,把音频数据依次写到音频驱动中去,开始播放,当写入完成后,退出写入的循环。 注意:本设计需要alsa
2013-10-24 11:07:19
907
1
转载 僵尸进程和孤儿进程
僵尸进程:一个子进程在其父进程还没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。僵尸进程将会导致资源浪费,而孤儿则不会。每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看有
2013-09-25 21:33:56
627
转载 C语言的内存布局问题
1 。 每次都会遇到这个问题,一直是看了又忘,忘了又看。本文主要简介一下c中的内存类型和布局问题。 2。内存的类型 (1)栈区(stack):由编译器自动分配和释放的,存放函数的参数值、局部变量的值等。操作方式类似数据结构中的栈。 在函数参数和地址入栈情况中,一般是从左向右将变量入栈,最后函数的地址入栈。 (2)堆区(hea
2013-09-22 16:35:04
690
转载 linux设备驱动归纳总结(一):内核的相关基础概念
原文地址:linux设备驱动归纳总结(一):内核的相关基础概念 作者:diytvgylinux设备驱动归纳总结(一):内核的相关基础概念xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx一.linux设备驱动的作用内核:用于管理软硬件资源,并提供运行
2013-09-11 14:42:18
554
转载 FIMD架构分析
转自:http://www.embedu.org/Column/Column431.htmFIMD架构分析作者:邹南,华清远见嵌入式学院讲师。一、名称含义(FIMC& FIMD)FIMC : Fully Interactive Mobile Camera (完全交互式移动摄像机) FIMD:
2013-09-11 14:40:47
984
转载 LCD驱动分析(二):framebuffer结构的介绍
原文地址:LCD驱动分析(二):framebuffer结构的介绍 作者:huabinbin00基于S5PV210下Framebuffer驱动的分析1. 知道Framebuffer的工作原理2. 了解Framebuffer的架构3. Framebuffer的注册,驱动实现的机制Frame:你所看到的屏幕的图像,或者在一个窗口中的图像
2013-09-11 14:39:59
788
转载 LCD驱动分析(三): framebuffer驱动的注册
原文地址:LCD驱动分析(三): framebuffer驱动的注册 作者:huabinbin00这里最好牵涉到几个文件S3cfb.c、S3cfb_fimd6x.c setuo-fb.c fb_mem.c在这里之前最好知道pci,和memio一些术语的意思S3cfb.c中的s3cfb_probe设备探测,是驱动注册的主要函数 点击(此处)折叠或打开
2013-09-11 14:39:57
766
转载 LCD驱动分析(一):时序的分析
原文地址:LCD驱动分析(一):时序的分析 作者:huabinbin00第一次调试lcd驱动的话是不是对下面的结构有点陌生,不知道那些值是如何得来的,当然我就属于其中的一个点击(此处)折叠或打开 static struct s3cfb_lcd lte480wv = { .width = 1024,//800, .height
2013-09-11 14:38:18
1953
转载 基于S3c6410触摸屏驱动分析(一)
首先说明一下,本文使用的环境是S3C6410(Tiny6410),Linux-2.6.38(友善之臂提供),触摸屏驱动位于drivers/input/touchscreen/目录下。好吧,就让我们开始我们的触摸屏之旅。。。一.硬件简介 S3C6410触摸屏接口与ADC接口集成在一起,触摸屏X、Y坐标所产生的模拟信号通过通道7、5输入如下图示,6410提供触摸屏接口有
2013-09-11 14:23:42
890
转载 Linux-2.6.38的LCD驱动分析(四)
Linux-2.6.38的LCD驱动分析(四)参考自:http://blog.chinaunix.net/uid-11114210-id-2907026.html四、s3cfb_ops变量详解 在上面的文字中,较为详细的解释了platform device相关的代码,通过上面的代码的执行,一个platform设备(framebuffer被当作了platform设备
2013-09-11 14:20:25
809
转载 Linux-2.6.38的LCD驱动分析(二)
Linux-2.6.38的LCD驱动分析(二)参考自:http://blog.chinaunix.net/uid-11114210-id-2907026.html二、s3cfb_probe函数分析2.1 驱动的入口点 摆在面前的第一个问题相信应该是,这个函数是从那里开始运行的。这里就应该从long long ago 开始了,打开linux-2.
2013-09-11 14:19:51
744
转载 Linux-2.6.38的LCD驱动分析(三)
Linux-2.6.38的LCD驱动分析(三)参考自:http://blog.chinaunix.net/uid-11114210-id-2907026.html三、解剖s3cfb_driver变量 s3cfb_driver变量有什么作用呢?在前面的2.2节提到了它的定义,从它的原型可以看出s3cfb_driver是个platform_driver类型的变量,前面的几
2013-09-11 14:19:37
812
转载 Linux-2.6.38的LCD驱动分析(一)
inux-2.6.38的LCD驱动分析(一)参考自:http://blog.chinaunix.net/uid-11114210-id-2907026.html一、让LCD显示可爱的小企鹅还是先说说环境吧,处理器为S3C6410,linux的版本是2.6.38(友善之臂提供的)。下面先说说怎样让LCD上显示出可爱的小企鹅。最直接的步骤如下(记住不要问为什么哈~_~,一步一步跟着
2013-09-11 14:19:00
1018
原创 驱动相关问题
有转载有摘抄驱动笔记FIQ和IRQ区别 向量中断控制器VIC具有32个中断请求输入,可将其编程分为3类,FIQ,向量IRQ和非向量IRQ。FIQ快速中断请求要求具有最高优先级。如果分配给FIQ的请求多于一个,VIC将中断请求相或后向ARM处理器产生FIQ信号。当只有一个中断被分配为FIQ时可实现最短的FIQ等待,但如果分配给FIQ级的中断多于1个,FIQ服务程序需要读取F
2013-09-08 20:46:01
1488
转载 堆 和 栈的 区别(经典)
转自 :堆 和 栈的 区别(经典)堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与
2013-08-20 09:52:07
422
转载 snd_soc_codec_device 之 snd_soc_new_pcms
转自:snd_soc_codec_device 之 snd_soc_new_pcms以wolfsen的wm8900 codec为例,在wm8900.c中可以看到struct snd_soc_codec_device soc_codec_dev_wm8900 = {.probe = wm8900_probe,.remove = wm8900_remove,.sus
2013-07-19 15:27:11
851
转载 两个C++编译错误及解决办法--does not name a type和field `XX' has incomplete type
编译错误一:XX does not name a type 编译错误二:field `XX' has incomplete type 编译错误一:XX does not name a type, 中文意思为“XX没有命名一个类型“拿个例子来讲,如果两个类定义如下:class B{public:B(){}~B(){}private:A a;};
2013-07-19 08:51:30
692
原创 ALSA的理解
以mini210-wm8960参考,学习alsa驱动相关注册及流程笔记记录如下,部分内容参考linux audio(alsa) 驱动注册的简明流程.大体结构: cpu_dai-------指的是I2C通路.codec_dai-----codec的功能,如录音放音参数。codec_dev-----解码设备,重点platform------据我看只是做了pcm的操作
2013-07-18 14:38:04
1401
转载 Linux ALSA声卡驱动之八:ASoC架构中的Platform
1. Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音信信号。在具体实现上,ASoC有把Platform驱动分为两个部分:snd_soc_plat
2013-07-01 14:25:44
975
转载 Linux ALSA声卡驱动之七:ASoC架构中的Codec
1. Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的对音频信号做出相应的处理,例如音量控
2013-07-01 14:25:03
693
转载 Linux ALSA声卡驱动之六:ASoC架构中的Machine
前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结
2013-07-01 14:24:06
961
转载 Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)
1. ASoC的由来ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性: Codec驱动与SoC CPU的底层耦合过于紧密,这种不理想会导致代码的重复,例如,仅是wm8731的驱动,当时Lin
2013-07-01 14:22:58
464
转载 Linux ALSA声卡驱动之四:Control设备的创建
本内容均由http://blog.youkuaiyun.com/droidphone原创Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口的API来实现的。
2013-07-01 14:11:13
623
转载 Linux ALSA声卡驱动之三:PCM设备的创建
本内容均由http://blog.youkuaiyun.com/droidphone原创1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值
2013-07-01 14:08:11
608
转载 Linux ALSA声卡驱动之二:声卡的创建
本内容均由http://blog.youkuaiyun.com/droidphone原创1. struct snd_card 1.1. snd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体。正因为
2013-07-01 14:03:27
613
转载 Linux ALSA声卡驱动之一:ALSA架构简介
本内容均由http://blog.youkuaiyun.com/droidphone原创一. 概述 ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。 在内核设备驱动层
2013-07-01 13:59:37
610
转载 Qt中QTableWidget用法总结
转自:http://hi.baidu.com/fightiger/item/693aaa0f0f87d8103b53eec8QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类,主要的区别是QTableView可以
2013-06-19 09:37:56
495
转载 控制QLineEdit的输入范围
控制QLineEdit的输入范围1.使用正则表达式检验QLineEdit的输入范围(代码如下):#include #include QLineEdit *lineEdit = new QLineEdit(this);QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}"); //^[1-9][0-9]*$ 和 ^[1-9]{1}[/d]*
2013-05-29 21:01:36
713
转载 Qt基本常识(转载)
1.实现out输出流的实现。 QTextStream out(stdout); out 2.创建命名空间: namespace AQP{ class QStringList;创建类。 创建成员函数,创建其他的函数,变量等等都可以! } 3.QString中变量"正则表达式"的应用。 messa
2013-05-21 12:55:11
982
转载 单件模式【C++】【转载】
单例模式也称为单件模式、单子模式。使用单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出等。单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到这一点,但这样的代码显得很不优雅。《设计模式》一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有
2013-05-21 12:45:00
532
转载 struct nand_ecclayout 之解义 ,eccbytes,eccpos,eccfree
【转帖请注明出处:blog.youkuaiyun.com/lanmanck】内核的nand flash驱动真可谓用“日新月异”来形容,今儿个刚写完的驱动,等到明天下个新内核放进去,又不好使了,shit!这里讨论下struct nand_ecclayout,即nand 的ecc布局问题,基于2.6.32-rc2.该结构体定义如下:struct nand_ecclayout {
2013-05-17 15:38:02
677
转载 【简介】如何编写linux下nand flash驱动
转自 :http://www.cnblogs.com/shenhaocn/archive/2011/03/10/1980310.html1. 硬件特性:【Flash的硬件实现机制】Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。
2013-05-15 20:10:24
575
转载 Linux I2C驱动分析 S3C6410
转自:http://www.linuxidc.com/Linux/2011-08/39948p1.htmLinux中I2C体系结构如下图所示(图片来源于网络)。图中用分割线分成了三个层次:用户空间(也就是应用程序),内核(也就是驱动部分)和硬件(也就是实际物理设备,这里就是6410中的i2c控制器和at24xx)。这个够清晰了吧?我们主要研究的是中间那一层。中间一层又分为i2c
2013-05-11 21:29:45
1160
转载 container_of 用法解析
在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer to the
2013-05-11 17:15:17
494
转载 实例解析linux内核I2C体系结构(2)
转自 :http://blog.youkuaiyun.com/hongtao_liu/article/details/5260739四、在内核里写i2c设备驱动的两种方式前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这里分别称这两种方式为“Adapte
2013-05-09 10:52:30
451
转载 实例解析linux内核I2C体系结构(1)
转载:http://blog.youkuaiyun.com/hongtao_liu/article/details/4964244一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有: ●
2013-05-09 10:50:45
607
转载 I2C设备驱动的编写
前面我们说了如何I2C用户模式驱动,这种驱动基于I2C子系统,但是他对于应用程序开发人员的要求较高,需要应用程序开发人员了解硬件的一些东西,比如时序,地址等等,而多数时候应用程序开发人员是按照操作文件的方法操作设备,所以我们更希望用一些更简单的接口去访问。也就是我们今天的内容——基于I2C子系统的字符驱动。I2C子系统的代码分为三部分如图:Host:主机控制器驱动Device:
2013-05-09 10:30:21
627
转载 Linux I2C驱动源码分析(二)
转自 http://www.cnblogs.com/nick123/archive/2010/09/06/1819037.html下面开始分析linux/drivers/i2c/busses/i2c-s3c2410.c,在设备与驱动匹配成功后,会执行s3c24xx_i2c_probe()函数,此处传给s3c_i2c_probe 的参数就是 我们注册的i2c 平台设备 s3c_device_
2013-05-08 14:20:34
621
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人