自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

瑞风轻拂

Record, Summarize, Share

  • 博客(110)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux平台如何获取储存设备唯一标识符

通常情况可以通过vendorID和productID来标识,但是同时插入多个u盘或移动设备到Linux设备平台,就无法通过VID和PID来区分,因为同一个厂商和型号的u盘或移动存储设备的vid和pid是相同的。所以得通过其他方法来唯一标识存储设备,如下方式即可。U盘和其他移动存储设备都有唯一标识设备的序列号,注意usb 3G或4G卡不一定有,因厂商而定。所以可以通过序列号来唯一识别u盘或移动存

2015-12-08 10:27:55 12920 1

原创 SNMP相关

snmp配置1. lan/wan端访问终端设备(网元)2. 设置读写团体名,一般public对应read, private对应write3. 设置Trap测试1. 软件:Manage Engine MibBrowser Free Tool2. 设置ip、端口号,已经对应的读写团体名称3. 执行get getBulk等等操作Bug:执行getBul

2014-11-25 11:08:38 1229

转载 makefile学习——编译生成动态库文件

Linux下生成动态库文件:         之前已经介绍了.o,.a,.so文件类型的含义,.so后缀的文件是动态库文件。        下面介绍在编译过程中链接到动态库文件的方法:一.   源码文件:so_test.h:void test_a();void test_b();void test_c();

2014-10-12 23:03:59 1660

转载 makefile学习——编译生成静态库文件

Lunix下编译静态库文件:.o后缀文件:编译生成的中间代码文件;.a后缀文件:静态库文件,编译的时候会合到可执行程序中,文件比较大;.so后缀文件:动态库文件,只是一个指向,不会合到可执行程序中,当要调用函数库的时候才使用; 用一个简单的例子阐述下在lunix环境下生成静态库文件的过程:一.   源码文件:so_test.h:voi

2014-10-12 15:53:33 1373

转载 Linux下静态库和动态库(共享库)的制作与使用

Linux下静态库和动态库(共享库)的制作与使用 Linux操作系统支持的函数库分为静态库和动态库,动态库又称共享库。linux系统有几个重要的目录存放相应的函数库,如/lib /usr/lib。 静态函数库:  这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需

2014-10-11 23:13:15 907

转载 嵌入式linux应用程序移植方法总结

前段时间一直在做openCapwap的移植和调试工作,现在工作已接近尾声,编写本文档对前段工作进行一个总结,分享下openCapwap移植过程中的经验和感悟。江浩写的《CAPWAP移植进展.docx》对openCapwap的移植过程有了比较详细的描述,所以在此就不涉及技术细节了,本文档主要以openCapwap的移植为例,总结嵌入式linux应用程序移植的一般方法和步骤,为以后可能需要的移植工作提

2014-10-08 19:07:56 1097 1

转载 交叉编译库依赖问题的解决方法

http://jianbo.de/b/archives/503在交叉编译移植程序的时候,我们常常会遇到这样的情况:要编译的程序依赖于某个动态/静态链接库。而这个库也需要我们编译移植。在编译没有别的依赖的链接库的时候很简单,设置好交叉工具链、目标架构就可以了。而在编译有依赖需求的程序的时候,我们常常遇到找不到头文件、找不到库文件的问题。很是烦人。要解决这个问题,其实还是很

2014-10-08 18:49:29 8087

转载 Linux中select()函数分析

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式

2014-09-24 19:28:52 624

原创 Process与Socket,Select与Accept关系

Socket只是一个系统函数接口,Process

2014-09-24 17:37:20 5133

原创 Include文件易犯编译错误

项目中编译总是报include文件编译错误,ru

2014-09-19 17:55:57 2689

原创 Vlan相关知识杂记

划分Vlan的目的还真就以为划分VLAN的目的就是为了隔离不同VLAN不让他们互访(其实这是非常多人的误区,当然这可以通过ACL做到,但并不是划分VLAN的目的,这个最多可以理解成这是划分VLAN之后的一种应用并不是最终目的)。其实划分VLAN的目的就两个:1.提高安全性----------举个例子:没有划分VLAN前,交换机端口连接下的所有PC都处于一个VLAN中即一个广播域

2014-09-13 21:34:10 854

原创 避免使用不当pthread_create函数造成内存泄露

pthread_create使用不当会造成内存泄漏,

2014-09-05 15:07:31 3513 2

原创 linux进程之内存泄漏分析

目的:总结linux进程内存泄漏导致crash的分析方法及解决过程背景:简单使用dlna,但对其源码并无了解关键节点:1.问题复现2.寻找突破口3.分析日志4.分析主进程及子进程代码过程:节点1——

2014-09-03 22:47:40 3155

原创 samba系列问题之分析解决过程

目的:讲述linux应用进程开发过程中问题:

2014-08-31 17:20:13 4144

原创 转义字符及字符串示例

function: revert ' to \' on the string varValue when include 'void cgiRevertStr(char* varValue){   char *tmp = NULL;   char *tmpMov = NULL;   char tempVar[BUFLEN_1024] = {0};   char de

2014-08-22 19:48:59 987

原创 Linux内核之GDB基本调试方法

一般单板软件Linux内核出现crash如何采用GDB工具进行调试? 基本方法过程如下:1. 为了测试GDB操作,故意在kernel/linux/fs/ioctl.c文件的do_vfs_ioctl方法中加入空指针操作代码,然后编译image烧入单板,启动单板,内核crash,部分log如下:CPU 0 Unable to handle kernel paging request a

2014-07-31 17:23:07 11753 1

转载 Linux服务器开发初步

服务器开发需要考虑的内容很多,比如服务器的架构、稳定性、性能以及负载能力等等。事实上,在开发服务器的过程中,需要综合考虑各种因素,比如就客户端连接时间较短却又比较频繁的服务器(例如HTTP服务器)而言,在可选的服务器结构中,预先派生进/线程的结构就要比并发式结构高效,这一点将在后续的文章中对其进行详细的介绍。然后就是服务器实现方面的细节,比如是否需要支持跨平台的能力、采用什么样的开发语言和开发工具

2014-05-30 17:29:44 910

转载 linux中fork函数详解

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来

2014-05-30 15:30:08 769 1

原创 SPI防火墙及应用测试

SPI防火墙设置,防火墙的作用防外不防内,也就是说对不是由你向internet发出的连接一律拦截。他可保证你的计算机的相对安全。如果你已经有软件防火墙了,如瑞星,诺顿什么的,你完全可以不用设置,因为现在的软件防火墙的功能远远比硬件防火墙的功能要高,当然设置更好。SPI(StatefulPacket Inspection) 为全状态数据包检测型防火墙,说明路由器自带全状态数据检测。SPI全状

2014-05-23 17:43:43 3887 2

原创 hotplug启动过程之call_usermodehelper分析

背景:系统启动后,应用层

2014-05-21 19:45:02 3792

原创 Ubuntu13.10 安装Chrome

一、添加PPA从Google Linux Repository(http://www.google.com/linuxrepositories/)下载安装Key,或把下面的代码复制进终端,回车,需要管理员密码wget -q -O -https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add

2014-05-21 13:29:28 1194

转载 Linux内核态与用户态通信的常用方法

前言最近做的事情很多地方用到Linux驱动层与应用层的通信,在此总结下常见的并且在我工作中用到的通信方法。总结由于每种方法都可以找到大量的示例代码,同时还有详细的函数手册,我就不贴代码了。只列下相关的方法和一个链接。procfsnetlinksyscallsyscall的范围就广了,通过注册字符设备可以使用mmap和ioctl等来进行操作,要注意

2014-05-04 09:47:36 20678 1

原创 linux与android架构基础

我们以下图为基础,说明Linux的架构(architecture)。 最内层是我们的硬件,最外层是我们常用的各种应用,比如说使用firefox浏览器,打开evolution查看邮件,运行一个计算流体模型等等。硬件是我们的物质基础,而应用是我们所要奋斗的目标,但在两者之间,还要经过一番周折。还记得我们在Linux启动的时候。首先会启动内核 (kernel),内

2014-04-27 15:41:42 1926

转载 UPnP基本原理以及在NAT中的应用

1      摘要随着计算机产业以及计算机网络技术的迅猛发展,越来越多嵌入式设备的出现和家庭网络的发展,实现各种设备的互联互通已经成为人们的迫切需求,而实现家庭网络互联互通的关键是家庭网络的中间件技术。业界各大厂商都提出了自己的解决方案,其中以微软提出的UPnP最具有发展前途,也获得了最广泛的支持,目前UPnP基本是家庭网络设备必须支持的特性之一。UPnP是通用即插即用(Universal

2014-04-17 11:31:22 1750 5

转载 简单服务发现协议SSDP

SSDP:Simple Sever Discovery Protocol,简单服务发现协议,此协议为网络客户提供一种无需任何配置、管理和维护网络设备服务的机制。此协议采用基于通知和发现路由的多播发现方式实现。协议客户端在保留的多播地址:239.255.255.250:1900(IPV4)发现服务,(IPv6 是:FF0x::C)同时每个设备服务也在此地址上上监听服务发现请求。如果服务监听到的发现请

2014-04-16 14:23:06 3328

原创 WDS、WPS及WIFI2.4/5G相关

WEP是Wired Equivalent Privacy的简称,有线等效保密(WEP)协议是对在两台设备间无线传输的数据进行加密的方式,用以防止非法用户窃听或侵入无线网络。

2014-04-04 14:40:22 11244 1

原创 Chinese En/Decode for filesystem

1.        En/Decode for Chinese pathFor theusb storage service on router UI, there may be Chinese path when access somefolder on usb disk, it will show messy code if there is no related deal work.

2014-01-28 15:44:40 854

转载 宽字符和多字节字符(mbtowc/wctomb)

C 语言原本是在英文环境中设计的,主要的字符集是7 位的ASCII 码。从此开始,8 位的byte(字节)变成最常见的字符编码单位,但是国际化软件必须能够表示不同的字符,而这些字符数量庞大,无法使用一个字节编码,于是世界上使用各式 各样多字节的字符编码集合已经有数十年了,比如用来表示“非拉丁字母”以及“非字母”的中、日、韩文字系统。在1994 年,“Normative Addendum 1”(基准

2014-01-09 17:22:13 3984 1

转载 html文件的中文乱码问题与在浏览器中的显示

在网页中,中文乱码的问题时常出现。以前我遇到乱码问题时,就是不停的尝试不同的编码方式,直到成功。昨天项目又遇到了这个问题,我于是做了简单的测试。    html文件是有编码方式的,比如"UTF-8"、"GBK"等等。这些在记事本中或许看不出来,但是在eclipse中,可以设置html文件的编码方式,以下的图片中会有说明。    测试一:    以"UTF-8"方式保存html文件,

2014-01-03 17:05:13 1719

转载 TCP连接、Http连接与Socket连接

1、TCP连接手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。建立起一个TCP连接需要经过“三次握手”:第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须

2013-09-25 17:28:09 4837 3

转载 Linux GCC常用命令

1简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译成可执行文件5.2链接5.3强制链接时使用静态链接库1简介GCC 的意思也只是 GNU C Compiler 而已。

2013-08-20 15:12:32 581

转载 Linux Shell编程入门

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。Linux的She

2013-08-15 22:07:32 593

原创 嵌入式开发中格式化usb设备为ext3/4文件格式及文件系统掉电修复

1. 首先移植e2fsprogs1.41.4源码,new一个文件夹build或者release,在该目录下进行交叉编译。2.在misc目录下会生成可执行文件blkid, fsck, mke2fs,tune2fs等,编译image时将需要用到的可执行文件cp到开发板根文件系统的/sbin或者usr/sbin等目录下。完成上面两步之后,启动板子,在shell控制台输入mke2fs会有使用说明,

2013-08-15 19:00:25 4553

转载 FAT文件系统学习

转自http://blog.chinaunix.net/uid-23141914-id-211775.html这些天在看关于FAT文件系统的一些资料,思路有时混乱,有时又变得清晰起来。我想大抵学习的过程就是这样子吧。首先在深入的了解FAT的linux源码之前,需要了解一些FAT的原理。http://www.sjhf.net/pdf/fat.pdf  《FAT文件系统原理》从这个

2013-07-31 20:06:43 1436

转载 linux文件系统之mount流程分析

本质上,Ext3 mount的过程实际上是inode被替代的过程。例如,/dev/sdb块设备被mount到/mnt/alan目录。那么mount这个过程所需要解决的问题就是将/mnt/alan的dentry目录项所指向的inode屏蔽掉,然后重新定位到/dev/sdb所表示的inode索引节点。在没有分析阅读linux vfs mount代码的时候,我的想法是修改dentry所指向的inod

2013-07-29 17:56:33 20758 2

原创 html中出现%u554a和%E5%95%8A之类的字符串编码

在html页面中加入如下代码:结果还是同时出现%u554a和%E5%95%8A之类的表示中文的字符串编码,导致出现乱码。“啊” 的unicode编码表示为%u554a,utf-8编码表示为%E5%95%8A,该编码也成为URI编码。为了方便存储和显示中文,一般都采用charset=UTF-8方式,如碰到上述情况,可使用js方法encodeURI ()将unicode

2013-07-25 17:01:35 6820

转载 GB2312 Unicode转换表

源程序编辑软件将中文转化为GB2312编码,再下列的GB2312 Unicode转换表转为unicode。实现2维数值,GB2312编码为递增,适合用二分法查找由GB2312码找Unicode码。 只含基本的汉字,符号未包括。说明unit16 为16位的无符号整数unsigend short int#typedef  unsigned short int   u

2013-07-24 09:04:13 6470 2

转载 Unicode和UTF-8之间的转换详解

通过这几天的研究,终于明白了Unicode和UTF-8之间编码的区别。Unicode是一个字符集,而UTF-8   是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode  占有的字节比UTF-8占用的字节少1个字节。Unicode为双字节,而UTF-8中汉字占三个字节。                        网魂

2013-07-23 19:12:57 1622

转载 Busybox支持中文的解决办法

在嵌入式linux系统中,busybox是最常见的用来构建文件系统的。可是从busybox1.17.0以上之后,对ls命令不做修改是无法显示中文的。就算是内核设置了支持中文的话,在shell下用ls命令也是无法显示中文的,这是因为busybox1.17.0以后版本对中文的支持进行了限制。现在就来讲讲如何修改让busybox1.17.0以上版本支持中文,要想让busybox1.17.0以上支持中文,

2013-07-22 18:57:39 1120

转载 linux 之fdisk分区及格式化操作

一、fdisk 的介绍;  fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文文档;其实就是分区工具;  fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux 、fat32、 linux 、linux swap 、fat16 以及其实类Un

2013-07-04 22:55:26 1190

Java面试精华

Java面试题大全.pdf

2012-03-23

Android平台phoneGap源码下载

Android平台上的phoneGap源码

2012-03-23

空空如也

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

TA关注的人

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