自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(416)
  • 资源 (10)
  • 收藏
  • 关注

转载 Linux下Gcc生成和使用静态库和动态库详解

一、基本概念1.1什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。  1.2库的种类linux下的库有

2015-04-23 16:47:31 714

转载 snprintf容易误解的使用方法

自从snprintf代替了sprintf,相信大家对snprintf的使用都不会少,函数定义如下:int snprintf(char *str, size_t size, const char *format, …);但是大家在使用snprintf的时候是否真的清楚参数里size的意思呢?看下面的例子:假设我想将一个char类型的变量打印成2进制,我应该怎么

2015-04-21 16:04:11 1245

转载 c语言常量

常量:(不可以定义结构型常量) 常量包括字面常量,符号常量,契约型常量,枚举常量这几种类型。字面常量包括:整形常量,字符型常量,字符串常量。注意:不存在数组常量,结构体常量等结构型的字面常量。但是存在结构型的符号常量符号常量:(可以定义结构型常量) 用#define和const定义的常量!这两种常量之间的区别:#define定义的常量,除了字符串字面常量外都不占内存,所以无法取常量的地址,

2015-04-20 22:34:29 773

转载 gpio接口编程实例

一、GPIO    gpio(general purpose ports)通用输入/输出端口    gpio的操作是所有硬件操作的基础,这是底层开发人员必须掌握的        以三星公司的s3c2410/s3c2440为例做一下简要说明    s3c2410有117个i/o        分为A~H 8组    s3c2440有130个i/o        分为A~J 9

2015-04-17 14:48:33 3319

转载 Kernel 中的 GPIO 定义和控制

转自:http://blog.csdn.net/jscese/article/details/16823519最近要深一步用到GPIO口控制,写个博客记录下Kernel层的GPIO学习过程!一、概念     General Purpose Input Output (通用输入/输出)简称为GPIO,或 总线扩展器。也就是芯片的引脚,当微控制器或芯片组没有足够的I

2015-04-17 13:43:41 840

原创 GPIO介绍

GPIO,通用输入输出(General Purpose I/O)接口的简称,功能类似8051的P0—P3,其接脚可以供使用者由程控自由使用,PIN脚依现实考量可作为通用输入(GPI)或通用输出(GPO)或通用输入与输出(GPIO),如当clk generator, chip select等。既然一个引脚可以用于输入、输出或其他特殊功能,那么一定有寄存器用来选择这些功能(通过操作寄存器来

2015-04-16 18:10:27 2676

转载 linux驱动程序ioctl函数用法

一、 什么是ioctl     ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下:int ioctl(int fd, ind cmd, …);     其中fd是用户程序打开设备时使用open函数返回的文件标示符,cmd是用户程序对设备的控制命令,至于后面的省略号,

2015-04-14 17:58:27 11690 3

转载 ethtool 在 Linux 中的实现框架和应用

Linux 的一个显著特点就是其强大的网络功能,Linux 几乎支持所有的网络协议,并在这些协议基础上提供了丰富的应用。对 Linux 网络管理的重要性不言而喻,这些管理依赖于网络工具,比如最常用的 ifconfig,route,ip,ethtool 等,其中 ethtool 提供了强大的网卡及网卡驱动管理能力,其具体的实现框架和网络驱动程序及网络硬件关系紧密,容易修改和扩展,能够为 Linux

2015-04-14 16:40:20 998

转载 Ethernet基础知识之一

***所有内容均选自不同达人,本人整理而已,仅供参考学习***一、网卡、MAC控制器和MAC地址  提到MAC不得不涉及网卡的工作原理,网卡工作在OSI参考模型的数据链路层和网络层。这里又出现了一个概念“OSI参考模型”,在这个模型中定义了网络通讯是分层的,分别是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。以太网数据链路层其实包含MAC(介质访问控制)子层和LLC(

2015-04-14 16:17:59 821

转载 Linux和dos下的换行符

^M,神奇的字符!相信很多人写 Shell 脚本的时候都被这个字符坑过,我自己也至少被坑过两次。最近周围的好几个小伙伴又被 ^M 坑,花了好几个小时检查脚本的错误,结果发现是 ^M 导致的。所以写了这篇文章讲一下什么是 ^M,当 ^M 出现的时候一般会伴随着什么样的现象,出现了我们可以用什么手段去解决。^M 是何方神圣这个得先从 Windows 和 Unix 下的换行符开始说起

2015-04-13 11:16:21 1202

转载 windows和linux换行规则的区别

在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做"回车",告诉打字机把打印头定位在左边界;另一个叫做"换

2015-04-13 10:57:43 882

转载 C语言堆栈入门——堆和栈的区别

在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教

2015-04-09 11:12:02 3662

转载 大端模式和小端模式

在 各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正 确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:Big-Endian和Little-Endian,下面先从字节序说起。一、什

2015-04-08 23:22:59 397

转载 DHCP的工作原理、怎么检测IP地址冲突

原帖地址:http://7658423.blog.51cto.com/7648423/1270601理解DHCP的雏形BOOTP(Bootstrap Protocol)DHCP的为什么要替代BOOTP;它们的区别在哪里?理解DHCP的工作原理与每个过程的数据帧取证Offer消息到底是以单播的方式进行发送,还是以广播的方式进

2015-04-07 14:47:31 13131 2

转载 C语言的那些秘密之---函数返回局部变量

原文地址:http://blog.csdn.net/haiwil/article/details/6691854 一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内

2015-03-27 10:26:51 450

转载 linux下动态链接库(.so)的显式调用和隐式调用

进入主题前,先看看两点预备知识。一、显式调用和隐式调用的区别        我们知道,动态库相比静态库的区别是:静态库是编译时就加载到可执行文件中的,而动态库是在程序运行时完成加载的,所以使用动态库的程序的体积要比使用静态库程序的体积小,并且使用动态库的程序在运行时必须依赖所使用的动态库文件(.so文件),而使用静态库的程序一旦编译好,就不再需要依赖的静态库文件了(.a文件)。

2015-03-26 16:25:22 1139

原创 SSL/TLS in Detail(重点部分有翻译)

Applies To: Windows Server 2003 with SP1This section provides a detailed explanation of the SSL/TLS protocol, specifically the handshake protocol, its associated messages and alerts, and the r

2015-03-25 12:48:50 1733

转载 php使用curl访问https示例分享

curl是利用URL语法在命令行方式下工作的开源文件传输工具,下面介绍一下php使用curl访问https的示例,大家参考使用吧为方便说明,先上代码吧复制代码代码如下:/**  * curl POST  *  * @param   string  url  * @param   array   数据  * @param  

2015-03-24 23:56:03 982

转载 SSH HTTPS 公钥、秘钥、对称加密、非对称加密、 总结理解

目录[-]DES:DSA:RSA:公钥、私钥 的解释签名:指纹:公钥登陆 errorSSH基本原理和免密码登录公钥认证的原理非对称加密SSL/TLS协议https 非对称+对称作者:shede333 主页:http://my.oschina.net/shede333 && http://blog.sina.com.cn/u

2015-03-24 17:14:34 3125

转载 图解HTTPS

原文地址:http://limboy.me/tech/2011/02/19/https-workflow.html我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。HTTPS简介HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务

2015-03-24 17:11:07 864

转载 Wireshark基本介绍和学习TCP三次握手

之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS。 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实。有了wireshar

2015-03-24 11:06:51 557

转载 Virtualbox虚拟机网络配置(NAT + Host-only - Bridged)

日常工作中,常常会用虚拟机,在里面安装Server,搭建服务端环境供开发调试,这种使用场景一般都需要虚拟机能够正常访问外部网络,同时宿主机必须可以访问虚拟机。在Virtualbox中,虚拟机访问外部网络一般是使用配置起来最简单的NAT模式,但纯NAT模式下,宿主机不能访问虚拟机,必须使用Bridged或者Host-only模式才可以。在这两个模式下,虚拟机都可以获得一个可用的IP地址,宿主机通过该

2015-03-23 17:11:25 2622

转载 VirtualBox 主机与虚拟机互相访问且均上外网

VirtualBox中有4中网络连接方式:NATBridged AdapterInternalHost-only AdapterVMWare中有三种,其实他跟VMWare 的网络连接方式都是一样概念,只是比VMWare多了Internal方式。要让自己(或别人)理解深刻,方法就是做比较和打比方,比较之间的不同和相同,拿熟知的事物打比方。先来一张图,通过这张图就很容易

2015-03-23 16:48:39 1045

转载 Linux(centos)系统各个目录的作用详解 推荐

文件系统的类型 LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。 普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来察看内容,用mv来改名。 目录文件:包括文件名、子目录名及其指针。它是LINUX储存文件名的唯一地方,可用ls列出目录文件。 连

2015-03-19 15:09:03 476

转载 打patch失败:Hunk #1 FAILED at 1. What's that mean?

6down votefavorite1I get the following error when running make, and I have no idea what it means or what to do about it. Can anyone illuminate me or point me in the right directi

2015-03-18 18:06:02 23462

转载 Nand Flash原理分析与编程

NAND Flash 在嵌入式系统中的地位与PC机上的硬盘是类似的。用于保存系统运行所必需的操作系统,应用程序,用户数据,运行过程中产生的各类数 据,系统掉电后数据不会护丢失。现在的Flash主要有两咱,一种是NAND Flash 一种是Nor Flash。NOR Flash是由Intel公司于1988年发明的,用以代替EERPOM,NAND Flash由Toshiba 公司在1989年发明的。

2015-03-18 10:26:39 1236

转载 GDB动态库搜索路径

笔记:当GDB无法显示so动态库的信息或者显示信息有误时,通常是由于库搜索路径错误导致的,可使用set sysroot、set solib-absolute-prefix、set solib-search-path来指定库搜索路径。1. set sysroot 与 set solib-absolute-prefix 是同一条命令,实际上,set sysroot是set solib-abso

2015-03-12 20:27:47 512

转载 solib-absolute-prefix 和solib-search-path的区别

solib-absolute-prefix 和solib-search-path是 gdb比较常用的选项,用来设置符号文件的位置。那么,它们有什么区别呢?solib-absolute-prefix设置的是被搜索文件路径的前缀,solib-search-path设置的是被搜索文件的路径。solib-search-path可以有多个路径,中间按用:隔开, solib-absolute-pr

2015-03-12 20:19:26 1756

转载 嵌入式的gdb调试

在开发过程中有很多问题如果用gdb进行调试跟踪会大大提高效率,但是我发现不少同事对于gdb调试概念比较模糊,特别是跨平台的调试,以至于放弃用gdb调试而影响排除bug的效率。 因此我这里主要对跨平台调试做一个简要的说明。 我们对机顶盒上的软件进行调试主要有两种方式,本地调试和远程调试。 首先说一下本地调试。本地调试就是gdb、可执行程序和源代码全部在目标机器的文件系统上,也就是说要么他

2015-03-11 15:56:36 1755

转载 mips交叉环境下gdb的建立与使用

条件:主机 192.168.1.102    开发板:192.168.1.103    nfs目录:/opt/work/nfs1.编译gdb6.8下载解压,这不用说了吧:)#cd gdb-6.8配置#./configure --target=mipsel-linux --prefix=/usr/local/mipsel-gdb-6.8有文章介绍在后面加上 -v

2015-03-11 15:44:35 3336

转载 什么是Segmentation fault(Core Dump)? + 我遇到的实例问题

什么是Core Dump?Core的意思是内存, Dump的意思是扔出来, 堆出来.开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped).这时候可以查看一下有没有形如core.进程号的文件生成, 这个文件便是操作系统把程序down掉时的内存内容扔出来生成的,它可以做为调试程序的参考.core dump又叫核心转储

2015-03-10 11:17:05 953

转载 stdout 与 stderr 的区别

一直没有注意 stdout 与 stderr 的区别,以为只是不同的描述方式。看来不是这样的。stdout 主要处理的是使用者输出stderr 主要处理的错误信息输出相比stdout, stderr没有缓冲设置将"正常输出"和"错误信息输出"加以分离,可以让程序以不同的方式对待两种不同的输出,例如可以将错误信息显示在控制台上,而正常输出重新定向到某个文件上。Example#in

2015-03-06 19:50:09 1977

转载 带有可变参数的宏

在1999年版本的ISO C 标准中,宏可以象函数一样,定义时可以带有可变参数。宏的语法和函数的语法类似。下面有个例子:#define debug(format, …) fprintf (stderr, format, __VA_ARGS__)这里,‘…’指可变参数。这类宏在被调用时,它(这里指‘…’)被表示成零个或多个符号,包括里面的逗号,一直到到右括弧结束为止。

2015-03-06 17:36:14 452

转载 C语言宏的特殊用法和几个坑

总结一下C语言中宏的一些特殊用法和几个容易踩的坑。由于本文主要参考GCC文档,某些细节(如宏参数中的空格是否处理之类)在别的编译器可能有细微差别,请参考相应文档。宏基础宏仅仅是在C预处理阶段的一种文本替换工具,编译完之后对二进制代码不可见。基本用法如下:1. 标示符别名#define BUFFER_SIZE 1024预处理阶段,foo = (cha

2015-03-06 16:17:28 1586

转载 linux进程知识 程序存储、crontab、fork与vfork、exec、_exit()、wait()与waitpid()、孤儿和僵尸

一、程序存储      经常被问到进程与线程的区别,今天有人问程序与进程的区别,一下子还真没反应过来   。程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。进程是一个动态的实体,它有自己的生命周期。反映了一个程序在一定的数据集上运行的全部动态过程。   二、crontab

2015-03-05 16:25:17 1001

转载 fork与vfork、exec与system

比较fork与vfork之间的区别:都为创建一个子进程,1、前者是将父进程的内存数据copy到子进程中,而后者则是共用父进程的内存数据2、vfork:创建过子进程之后,阻塞父进程,当子进程调用exit()或者exec()后父进程开始往下运行。。注:vfork返回只能调用exit而不能使用return,,因为子进程与父进程共享一片内存,子进程return之后,释放局部变量、弹

2015-03-05 16:18:45 710

转载 system/WIFEXITED/WEXITSTATUS函数-linux

system:感性认识:systerm两层含义:1、正确退出后。还需要再判断,操作成功或者操作失败。2、错误退出。[cpp] view plaincopy#include     #include     #include     #include         int

2015-03-05 15:48:04 1657

转载 深入浅出---unix多进程编程之wait()和waitpid()函数

Wait和waipid函数 当一个进程正常或异常终止的时候,内核就像其父进程发送SIGCHLD信号,因为子进程是个一步事件,所以这种信号也是内核系那个父进程发的异步通知。父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用执行的函数。对于这种信号的系统默认动作是忽略它。现在要知道调用wait或waitpid的进程可能会发生什么情况:  如果其所有子进程

2015-03-05 15:44:11 439

转载 Linux exec

exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(.def)所实现,如cd、history、exec等等。

2015-03-03 12:57:09 543

转载 cat 输出文件内容

功能:把一个或者多个文件(或者标准输入)连接在一起,并标准输出。(Concatenate FILE(s), or standard input, to standard output.)cat命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示。它常与重定向符号配合使用。cat是Concatenate的缩写。Linux 有三个特别文件,分别1

2015-02-27 14:57:59 6282

LTE—UMTS长期演进理论与实践

LTE方面最权威的著作,系统、深入、全面地介绍了LTE的背景、动因和技术内容,涵盖了基本理论基础、物理层技术设计、网络协议架构以及系统部署和性能分析等方方面面。

2011-11-17

M进制的MQAM调制的matlab仿真程序

M进制的MQAM调制的matlab仿真程序,很全,很详细

2011-05-24

ASK BPSK QPSK调制等的matlab仿真程序

ASK BPSK QPSK调制等的matlab仿真程序,很全,运行速度快

2011-05-24

LDPC的matlab 仿真 BP算法 BPSK调制

LDPC仿真,matlab BP算法 LDPC的matlab 仿真 BP算法 BPSK调制

2011-05-24

LDPC编译码 matlab快速仿真,BP算法

LDPC编译码 matlab快速仿真,BP算法

2011-05-08

LDPC编译码 matlab仿真,BP算法

LDPC编译码 matlab仿真,BP算法

2011-05-08

LDPC编译码 matlab仿真,BPSK调制

LDPC编译码,matlab仿真,BPSK调制

2011-05-08

EDA技术实用教程(第三版)答案

用74283 加法器和逻辑门设计实现一位8421BCD 码加法器电路,输入输出均是BCD 码,CI 为 低位的进位信号,CO 为高位的进位信号,输入为两个1 位十进制数A,输出用S 表示。 解:如果二进制的和大于9,需要再加上6 来补成BCD 码

2010-05-24

通信原理笔记卡萨科技

通信原理笔记北邮的发声空间发生会计拉斯加开了卢卡斯的

2010-04-01

空空如也

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

TA关注的人

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