自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我不是大神

记录学习与开发的点滴~

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

原创 Wireshark抓包工具使用教程

1. 抓包环境搭建关键需要一个集线器。将入口网线连到集线器,再从集线器分出两条线,一条线连接盒端,一条线连接电脑。硬件上需要准备的完成后,就可以开始使用wireshark抓包工具抓包。2. 详细抓包教程2.1 进入wireshark主菜单 首先启动程序看到主菜单(图1) 图1界面菜单简单介绍如下:1. 菜单——用于开始操作。2. 主工

2014-12-30 10:01:08 9096

原创 CDN——内容分发网络简介

1、CDN概述CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。

2014-12-08 10:40:49 802

原创 使用tcpdump和wireshark进行网络抓包与分析

网络抓包与分析方法1、hub+wireshark使用hub+wireshark抓包保存为文件,然后再使用wireshark来分析。该方法适用大多数情况。2、tcpdump+wireshark在linux下使用tcpdump来抓包非常方便,而且tcpdump也能简单分析。但是最方便还是用wirewhark来分析抓包命令:tcpdump -i wlan0 -s 0

2014-12-04 14:54:57 2916

转载 Linux负载均衡软件LVS之一(概念篇)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ixdba.blog.51cto.com/2895551/552947一、 LVS简介LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirt

2014-12-02 08:53:05 598

原创 建立git仓库及同步SDK

建立git仓库服务器:a@ubuntu:/home/git$ su - git$ cd /home/prj_git$ mkdir teamwork.git$ cd teamwork.git$ git init --bare开发者:若没有git仓库情况下,需要先建立仓库:cd my_project git init git add . -f //将

2014-12-01 10:12:49 2141

原创 git常见操作命令

git常见操作命令在工作目录初始化git仓库git init从现有仓库克隆git clone [url]查看文件状态git status跟踪新文件git add 暂存已修改文件git add删除暂存文件git rm --cached提交修改到仓库git commit,然后vim提交信息。

2014-12-01 10:06:28 787

原创 Linux服务器用户管理

服务器开通帐户增加用户:adduser username增加samba用户:smbpasswd -a username用户与用户组管理增加现有用户到指定组:sudo usermod [username] -G [groupname]修改用户所属组:sudo usermod [username] -g [groupname]

2014-12-01 09:55:39 1209

原创 svn常用场景命令使用

1. svn恢复版本svn没有恢复旧版本的直接功能,不过可以使用svn merge命令恢复。 如:把svn 493版本的改动还原到492:svn upsvn merge -r 492:491svn ci -m "revert 492 to 491" 2. svn解决冲突svn resolve --accept working [filename]

2014-12-01 09:31:34 1041

原创 svn prop配置ignore与change log

svn prop配置svn属性配置相关命令propdel (pdel, pd) propedit (pedit, pe)propget (pget, pg)proplist (plist, pl)propset (pset, ps)1. 配置svn:ignore忽略指定文件增加:svn pe svn:ignore packages/amlogic/Lib

2014-12-01 09:25:57 932

转载 linux shell 字符串操作(长度、查找、替换)详解

注:原文转自http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html,仅供学习参考!在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的

2014-01-22 17:03:43 669

转载 shell脚本调试方法

在编程过程中难免会出错,有的时候,调试程序比编写程序花费的时间还要多,shell程序同样如此。shell程序的调试主要是利用bash命令解释程序的选择项。调用bash的形式是:    bash -选择项 shell程序文件名几个常用的选择项是:-e:如果一个命令失败就立即退出-n:读入命令但是不执行它们-u:置换时把未设置的变量看作出错-v:当读入she

2014-01-22 16:58:32 922

原创 shell脚本中的 if 判断总结

shell脚本中的 if 判断总结if [ command ];then   符合该条件执行的语句  elif [ command ];then   符合该条件执行的语句  else   符合该条件执行的语句fi[-d DIR ]     如果DIR存在并且是一个目录则为真 [ -f FILE ]   如果FILE存在且是一个普通文件则为真 

2014-01-22 16:57:21 1205

转载 Android中添加启动脚本

Android中添加启动脚本  Android默认的启动脚本有init.rc init.xxx.rc init.xxx.sh (1)执行特定Linux程序 service bin path/binservice wpa_supplicant /system/bin/wpa_supplicant (2)执行特定脚本service scriptn

2014-01-22 16:46:50 3364

原创 Android启动脚本init.rc简介

在 Android中使用启动脚本init.rc,可以在系统的初始化过程中进行一些简单的初始化操作。这个脚本被直接安装到目标系统的根文件系统中,被 init可执行程序解析。 init.rc是在init启动后被执行的启动脚本,其语法主要包含了以下内容:  Commands:命令  Actions: 动作  Triggers:触发条件  Services:服务  Options:选项

2014-01-22 15:58:35 2304

原创 Android开机执行shell脚本

往往需要在Android启动过程中去对系统做一些设置,如修改某些文件夹的属主和文件的权限,可在init.rc中增加service执行shell脚本,从而可在shell脚本中完成大部分操作。1、在system/bin/下创建一个shell脚本init.mbx.sh,以修改mtd权限为例,内容如下:#!/system/bin/shbusybox chmod 666 -R /dev/

2014-01-22 15:54:06 25490 1

转载 Linux下压缩工具和压缩算法的比较

注:本文转自http://blog.csdn.net/waverider2012/article/details/8514949,仅供学习参考!压缩工具GZIP,BZIP2和LZMASH的比较:1. 压缩效率(压缩后的文件越小,效率越高)GZIP 2. 压缩时间:GZIP 3. 解压缩时间:GZIP 参考文献:A Quick Benchmark: Gzip

2013-12-27 14:29:52 2832

转载 uboot启动过程完全分析(mini2440)

注:原文转自http://www.cnblogs.com/heaad/archive/2010/07/17/1779829.html。 1.1       U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下:       (1)第一阶段的功能Ø  硬件设备初始化Ø  加载U-Boot第二阶段代码到RAM空间Ø  设置好栈Ø  跳

2013-11-07 13:48:54 10156 2

转载 makefile中的phony使用

注:转自http://www.2cto.com/os/201109/103587.html       install:foo       install   -m  644 foo  /usr/bin.PHONY: install 看以上makefile的片段,使用了.PHONY这个目标,下面详细介绍她的用法.来源:点击打开链接.PHONY是一个特殊工作目标(specia

2013-10-23 11:01:44 1494

转载 Makefile与Kconfig和.config使用

注:转自http://blog.sina.com.cn/s/blog_4a70d5d90101261k.html 内核源码树的目录下都有两个文档 Kconfig (2.4版本是Config.in)和 Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。   在内核配置make me

2013-10-23 10:52:14 996

转载 Android的编译过程(二)

注:转自http://www.hackbase.com/tech/2012-05-09/66426.html通过上篇文章,我们分析了编译android时source build/envsetup.sh和lunch命令,在执行完上述两个命令后, 我们就可以进行编译android了。1. make执行make命令的结果就是去执行当前目录下的Makefile文件,我们来看下它

2013-10-23 10:48:17 789

转载 Android的编译过程(一)

注:转自http://www.hackbase.com/tech/2012-05-09/66425.htmlAndroid的优势就在于其开源,手机和平板生产商可以根据自己的硬件进行个性定制自己的手机产品,如小米,LePhone,M9等,因此,在我们在对Android的源码进行定制的时候,很有必要了解下,Android的编译过程。如果你从来没有做过Android代码的编译,那么最官方

2013-10-23 10:45:43 824

转载 内核启动全过程

注:转自http://blog.csdn.net/dianhuiren/article/details/6892605 摘要我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。嵌入式linux的启动信息是一个很值得我们去

2013-10-23 10:42:49 1049

转载 android编译系统makefile(Android.mk)写法

android编译系统的makefile文件Android.mk写法如下(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。(2)Andro

2013-10-23 10:04:02 673

原创 find与grep命令搭配使用

find与grep命令搭配使用这两个都是查找命令,find命令用于查找某个文件或者文件夹;而grep用于查找指定字符串内容。 1、find命令find命令用于查找某个文件或者文件夹,比如:$find . -name "*.java" //查找当前目录下所有扩展名为java的文件。 2、grep命令grep命令用于查找指定字符串,比如:$grep -n "

2013-03-15 16:27:07 6791

转载 find命令详解

find命令详解一、find 命令格式1、find命令的一般形式为;find pathname -options [-print -exec -ok ...]2、find命令的参数;pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print: find命令将匹配的文件输出到标准输出。-exec: find命令对匹配的文件

2013-03-15 16:10:30 816

原创 mount挂载命令相关使用

查看文件大小: du -csh查看文件夹大小及挂载情况:df -h 挂载分区到指定文件夹:mount -t yaffs2 /dev/block/mtdblock13 /system/.kkdbase卸载分区:busybox umount /dev/block/mtdblock13 busybox umount /dev/block/vold/31:13 系统调用命令

2013-03-15 16:06:03 1228

原创 linux使用ln命令创建链接,如windows的快捷方式功能

使用ln命令建立链接该命令用于在文件或文件夹间创建链接,功能与windows下的快捷方式类似,但功能更强大。链接分硬链接和符号链接两种。建立硬链接时,链接文件与被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。硬链接会另外创建一份同样的文件进行同步,占用额外的磁盘空间。默认情况下,ln产生硬链接。而对符号链接,则不存在这个问题。一般使用符号链接,下面对其使用进行介绍:

2013-03-15 15:57:09 1753

转载 Linux下创建与解压zip, tar, tar.gz和tar.bz2

在Linux下面去压缩文件或者目录。我们将学习zip, tar, tar.gz和tar.bz2等压缩格式的基本用法。zip格式已成为压缩文件的标准选择,而且它在windows上也能使用。经常用zip格式压缩那些需要共享给windows用户的文件。如果只是共享给linux用户或者Mac用户,偏向于选择tar.gz格式。ZIPzip可能是目前使用得最多的文档压缩格式。它最大的优点就

2012-04-28 22:53:13 597

原创 任务调度与上下文切换时间测试

创建两个进程(实时进程)并在它们之间传送一个令牌,如此往返传送一定的次数。其中一个进程在读取令牌时就会引起阻塞。另一个进程发送令牌后等待其返回时也处于阻塞状态。发送令牌带来的开销与上下文切换带来的开销相比,可以忽略不计(经测试,一次管道传递约用时3ns左右)。 (利用管道传递令牌) 方法一:使用gettimeofday()//方法一:使用gettimeofday()获取当前时间#i

2012-03-30 18:03:23 2362

原创 TI Davinci DM6441嵌入式Linux移植攻略——u-boot移植篇

声明:本文参考网友zjb_integrated的网文《DavinciDM6446开发攻略——u-boot-1.3.4移植(1)》,内容有增删,特此声明。一、UBOOT各版本简介UBOOT的版本更新速度比较快,截止今天,稳定正式的版本是u-boot-2009.11-rc2,而TI最新的EVM开发包里的UBOOT是1.2.0版本,国内很多公司还一直使用u-boot-1.1.4和u-boot-1

2012-03-19 08:06:10 1794

原创 ubuntu8.04下配置samba服务

为了能在ubuntu和windows之间共享目录(主要是能从windows中访问ubuntu中的目录),不得不配置samba服务。在参考了N多大牛的教程后,折腾了几天,总算成功了。现记下以供日后查询(好记性不如烂笔头啊~)。首先说下我的主机配置:Linux:VMware+Unbuntu8.04windows:Windows XP SP3 下面正式开始sa

2012-03-11 12:43:49 939

原创 TI Davinci DM6441嵌入式Linux移植攻略——UBL移植篇

声明:本文参考网友zjb_integrated的文章《TI Davinci DM6446开发攻略——UBL移植》和《DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移植》,内容有增删,特此声明!另有系列网文《DM365的UBL源码分析》(作者不详)对UBL源码的分析比较透彻,有兴趣的也可以看看。一、DM6441的Boot过程简介在搭好 TI Da

2012-03-08 20:50:43 3596

原创 TI Davinci DM6441嵌入式Linux移植攻略——前言

3月份了,准备开始毕业设计之旅。这次的课题是来自导师的一个项目,我和另两位同学负责 TI Davinci DM6441的ARM端 的Linux系统移植。因为在此之前还没有完全真正做过Linux系统的移植,很多东西都只能自己慢慢探索。在看了大量的文献资料后,总算大概知道如何进行移植了。现记下作为移植的指导方向。 TI Davinci DM6441的Linux系统的移植工作主要包括以下步骤:

2012-03-08 16:07:51 781

原创 TI Davinci DM6441嵌入式Linux移植攻略——开发环境搭建篇

声明:本文参考网友zjb_integrated的文章《TI Davinci DM6446开发攻略——开发环境搭建》,原文地址为http://zjbintsystem.blog.51cto.com/964211/273687,内容有增删,特此声明。由于DM6441和DM6446两款芯片大同小异,在进行嵌入式Linux系统移植时可相互参考。TI DAVINCI DM6441的开发环境搭建不

2012-03-07 10:58:24 2371

转载 C++中 extern "C"含义深层探索

声明: 原文作者为宋宝华,出处不详。现整理出来,内容有增删,仅供学习参考!  1.引言       C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。 但是,C

2012-02-20 10:01:29 858

转载 C/C++中的struct 深层探索

声明: 原文作者为宋宝华,出处不详。现整理出来,内容有增删,仅供学习参考!    1.   struct 的巨大作用      面对一个人的大型C/C++程序时,只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估。因为一个大型的C/C++程序,势必要涉及一些(甚至大量)进行数据组合的结构体,这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说,会

2012-02-20 09:17:39 550

转载 C++出错提示英汉对照表

Ambiguous operators need parentheses -----------不明确的运算需要用括号括起 Ambiguous symbol ''xxx'' ----------------不明确的符号 Argument list syntax error ----------------参数表语法错误 Array bounds missing ------------

2012-01-13 12:42:09 471

转载 优先级反转

优先级反转   定义:高优先级任务需要等待低优先级任务释放资源,而低优先级任务又正在等待中等优先级任务的现象叫做优先级反转。 此时高优先级任务和中等优先级任务之间没有任何共享资源但执行顺序却发生了倒置,这种情况称为优先级反转,而高优先级任务因为等待低优先级任务释放资源而阻塞的情况则不称为优先级反转两种经典的防止反转的方法:优先级继承策略(Priority

2011-11-07 17:15:47 416

转载 strcpy和strncpy区别

strcpy和strncpy区别 转载第一种情况:char* p="how are you ?";char name[20]="ABCDEFGHIJKLMNOPQRS"; strcpy(name,p);   //name改变为"how are you ?\0OPQRS "     ====>错误!strncpy(name,p,sizeof(n

2011-11-07 16:45:35 963

转载 C51中的关键字data,idata,xdata,pdata,bdata

C51中的关键字data,idata,xdata,pdata,bdata写在最前面的话:官方网站的解答是最可信的。英语不错的必看。http://www.keil.com/support/man/docs/c51/c51_le_memtypes.htm下面转载几篇中文的,仅供参考。data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最

2011-11-02 19:27:47 13864

一个用C写很不错的GPRS的PDU编码程序

// PDU编码,用于编制、发送短消息 // 输入: pSrc - 源PDU参数指针 // 输出: pDst - 目标PDU串指针 // 返回: 目标PDU串长度 int gsmEncodePdu(const SM_PARAM* pSrc, char* pDst) { int nLength; // 内部用的串长度 int nDstLength; // 目标PDU串长度 unsigned char buf[256]; // 内部用的缓冲区 // SMSC地址信息段 nLength = strlen(pSrc->SCA); // SMSC地址字符串的长度 buf[0] = (char)((nLength & 1) == 0 ? nLength : nLength + 1) / 2 + 1; // SMSC地址信息长度 buf[1] = 0x91; // 固定: 用国际格式号码 nDstLength = gsmBytes2String(buf, pDst, 2); // 转换2个字节到目标PDU串 nDstLength += gsmInvertNumbers(pSrc->SCA, &pDst;[nDstLength], nLength); // 转换SMSC号码到目标PDU串 // TPDU段基本参数、目标地址等 nLength = strlen(pSrc->TPA); // TP-DA地址字符串的长度 buf[0] = 0x11; // 是发送短信(TP-MTI=01),TP-VP用相对格式(TP-VPF=10) buf[1] = 0; // TP-MR=0 buf[2] = (char)nLength; // 目标地址数字个数(TP-DA地址字符串真实长度) buf[3] = 0x91; // 固定: 用国际格式号码 nDstLength += gsmBytes2String(buf, &pDst;[nDstLength], 4); // 转换4个字节到目标PDU串 nDstLength += gsmInvertNumbers(pSrc->TPA, &pDst;[nDstLength], nLength); // 转换TP-DA到目标PDU串

2012-02-20

C++出错提示英汉对照表.txt

C++常见出错提示英汉对照表,非常有用 Ambiguous operators need parentheses -----------不明确的运算需要用括号括起 Ambiguous symbol ''xxx'' ----------------不明确的符号 Argument list syntax error ----------------参数表语法错误 Array bounds missing ------------------丢失数组界限符 Array size toolarge -----------------数组尺寸太大

2011-04-17

空空如也

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

TA关注的人

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