自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

转载 make mrproper及mrproper的含义

make mrproper及mrproper的含义           Linux下面去编译项目之前,一般常会用make mrproper去先删除之前编译所生成的文件和配置文件,备份文件等,其中,mrproper和distclean,clean之间的区别,Linux内核源码根目录下面的makefile中,有很清晰的解释:         help:                @ec

2012-02-23 11:15:52 363

原创 冒泡排序

1.1 算法简介是指计算机的一种排序方法,它的时间复杂度为O(n^2),虽然不及堆排序、快速排序的O(nlogn,底数为2),但是有两个优点:1.“编程复杂度”很低,很容易写出代码;2.具有稳定性,这里的稳定性是指原序列中相同元素的相对顺序仍然保持到排序后的序列,而堆排序、快速排序均不具有稳定性。1.2 流程图 1.3 代码void Bubble_Sort(in

2011-12-17 15:37:47 337

原创 参看ubuntu的硬件信息

<br />1, 主板信息<br />  .查看主板的序列号<br />  --------------------------------------------------<br />  #使用命令<br />  dmidecode | grep -i 'serial number'<br />  #查看板卡信息<br />  cat /proc/pci<br />  --------------------------------------------------<br />  2, cpu信息<b

2011-04-18 11:11:00 232

原创 转 老手经验:Linux驱动程序开发学习步骤

<br /> <br />1. 学会写简单的makefile <br />2. 编一应用程序,可以用makefile跑起来 <br />3. 学会写驱动的makefile <br />4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。 <br />5. 写一完整驱动, 加上read, write, ioctl, polling等各种函数的驱动实现。 在ioct

2011-03-24 18:15:00 207

原创 lld3笔记

<br /> <br />Struct file文件结构代表一个打开的文件.它由内核在 open 时创建, 并传递给在文件上操作的任何函数, 直到最后的关闭. 在文件的所有实例都关闭后, 内核释放这个数据结构.<br />Struct inode结构由内核在内部用来表示文件。<br />release 不是每次进程调用 close 时都被调用. 无论何时共享一个文件结构(例如, 在一个 fork 或 dup 之后), release 不会调用直到所有的拷贝都关闭了. 如果你需要在任一拷贝关闭时刷新挂着的数据

2011-03-07 18:07:00 302

原创 wifi

<br /> Transplantation Wireless Network Card Transplantation environment<br />Wireless card models: <br />Wireless card models(USB): TP-LINK TL-WN821N ver2.0<br />Board environment: Armadillo500FX<br /> <br />Operating environment <br />Hardware enviro

2011-02-22 18:23:00 668

原创 html语言实现下载功能

<br /><html><br /> <head><br />  <title>From My Web Server</title><br /> </head><br /> <body background="C:/log/bla6b.gif"><br /> <p align="center"><br /> <td><font color="#ffffff" size="+5">shansan</font></td><br /> <td width="256"></td><br /> <td></td><b

2010-11-29 18:57:00 1888 2

转载 一些c macro的技巧

<br />I. 是不定變數的使用:#ifdef DEBUG<br />#define debug_printf(str, ...)     do {         printf(str, __VA_ARGS__);     } while (0)<br />#else<br />#define debug_printf(str, ...)<br />#endif<br />關鍵是 __VA_ARGS__,這樣可以很愉快的使用 debug_printf()。<br />II. 將傳入的參數變成字串:#de

2010-11-08 18:12:00 201

原创 无线网卡分类

<br />在对无线网卡进行介绍之前,首先对当前国内、国际上流行的一些无线接入技术做一个总结(技术细节不作介绍),因为针对不同的无线接入技术必须采用不同的无线网卡,尽管它们中有的并没有市场化。包括GSM、CDMA、GPRS、CDPD、固定无线宽带(LMDS)、DBS卫星接入技术以及蓝牙、HomeRF、WCDMA、3G、WLAN、无线光系统等。 <br /><br />在用户的角度,与无线网络直接打交道的就是无线网卡,不管是无线局域网还是无线广域网,也不管无线网络具体是如何构建的,用户只要拥有适当的无线网卡就

2010-10-11 15:51:00 272

原创 linux下下载android源代码

<br />  $mkdir /home/android    //创建工作目录<br />  $cd /home/android<br />  $mkdir bin<br />  //下载安装repo版本管理工具:<br />  $curl http://android.git.kernel.org/repo> ./bin/repo<br />  $cd bin<br />  $chmod a+x repo<br />  准备下载Android:<br />  $cd /home/android<br /

2010-09-20 17:51:00 298

原创 分析linux内核的idle的知识

<br />      Linux系统越来越受到电脑用户的欢迎,于是很多人开始学习Linux时,学习linux,你可能会遇到linux内核问题,这里将介绍linux内核中idle知识,在这里拿出来和大家分享一下。<br />1. idle是什么<br />  简单的说idle是一个进程,其pid号为0。其前身是系统创建的第一个进程,也是唯一一个没有通过fork()产生的进程。在smp系统中,每个处理器单元有独立的一个运行队列,而每个运行队列上又有一个idle进程,即有多少处理器单元,就有多少idle进程。系

2010-07-19 13:35:00 362

原创 XMODEM ZMODEM YMODEM

<br />     XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。如果接收方关于一个块的校验和与它在发送方的校验和相同时,接收方就向发送方发送一个认可字节。然而,这种对每个块都进行认可的策略将导致低性能,特别是具有很长传播延迟的卫星连接的情况时,问题更加严重。<br />   使用循环冗余校验的与XMODEM相应的一种协议称为XMODEM-CRC。还有一种是XMODEM-1K,它以1

2010-06-02 17:26:00 1131

转载 给修理电脑的朋友的16点忠告(转)

1、首先记住这句话:永远不要承认自己是高手,因为这个称号是要付出代价的。2、接到陌生电话后,一定要问清楚对方有什么事情,然后再告诉他(她)当前你目前所在的位置。3、永远不要试图通过电话或者QQ解决某个问题,对方很有可能不知道菜单是什么东西,这不能怨他们,只能怨你自己,因为你永远懒于解释给他们听。4、不要想着立马可以解决遇到的问题,因为你所遇到的总是崩溃的系统或者处于崩溃边缘的系统。5、如果对方允许

2010-03-16 11:26:00 188

原创 什么是 UARTs? 它们如何影响效能?

UARTs (通用异步接收转换器,Universal Asyncronous Receiver Transmitter)是你 PC 串行卡上的芯片.它们的功用是把数据转成比特,将这些比特送上串行线路,然后在另一端重新建立数据. UARTs 是以比特为单位处理数据,很方便地也是美国标准交换码(ASCII)的字符大小. 假定是你有一台连接到你 PC 的终端机.当你键入一个字符时,终端机把它交给它的转换

2010-02-22 11:57:00 855 1

转载 Linux 内核/sys 文件系统介绍(一)

    sysfs 是 Linux 内核中设计较新的一种虚拟的基于内存的文件系统,它的作用与 proc 有些类似,但除了与 proc 相同的具有查看和设定内核参数功能之外,还有为 Linux 统一设备模型作为管理之用。相比于 proc 文件系统,使用 sysfs 导出内核数据的方式更为统一,并且组织的方式更好,它的设计从 proc 中吸取了很多教训。本文就 sysfs 的挂载点 /sys 目录结构

2010-01-26 18:36:00 467

转载 网络BD ring及注意事项

Copyright (C) 2009 Dave Liu, All rights reserved.[*** BD - buffer descriptor***]Basically, most DMA engine of network interface use the buffer descriptors likely structure to exchange the data between

2010-01-26 10:53:00 899

原创 __DATE__,__FILE__,__LINE__,__TIME__,__FUNCTION__的使用

C标准中指定了一些预定义的宏,对于编程经常会用到。下面这个表中就是一些常常用到的预定义宏。__DATE__进行预处理的日期(“Mmm dd yyyy”形式的字符串<a id="vad_2" class="vLink1" style="font-size: 1em;" onmouseover="function onmouseover(){this.style.borderBottom=

2010-01-25 13:29:00 495

原创 在Linux操作系统下修改IP、DNS和路由配置

ifconfig eth0 新IP 然后编辑/etc/sysconfig/network-scrIPts/ifcfg-eth0,修改IP 一、修改IP地址 [aeolus@db1 network-scrIPts]$ vi ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=219.136.241.211

2010-01-14 13:46:00 209

转载 Fedora下Samba(smb)配置方法

1.       确认samba服务是否已安装看是否有/etc/init.d/smb文件,如果有则已经安装了samba服务,没有则需安装2.       将smb服务添加到防火墙的例外中以root用户执行setup命令#setup弹出如下界面选择防火墙配置,回车,进入下图的界面切换到定制(用Tab键进行切换),并回车,弹出如下界面在可信的服务中选中samba(空格选

2010-01-13 14:24:00 481

转载 smb配置(一)

1:第一我们先确定下是不是selinux的问题:1.1显示当前用户的Selinux contex#id -Z1.2查看selinux状态#sestatus -bv  1.3:我们可以暂时关闭selinux来使用samba服务器:#setenforce 0   ( #setenforce 1   --- 开启selinux)2我们来设置下samba(在图像界面下这一步更简单)编辑

2010-01-13 14:22:00 222

原创 UART设备驱动

 尽管一个特定的UART设备驱动完全可以遵循14.2~14.5的方法来设计,即定义tty_driver并实现其中的成员函数,但是Linux已经在文件 serial_core.c中实现了UART设备的通用tty驱动层(姑且称其为串口核心层),这样,UART驱动的主要任务演变成实现serial- core.c中定义的一组uart_xxx接口而非tty_xxx接口,如图14.5所示。    serial

2009-12-15 12:10:00 2567

原创 开机遇到grub解决方法,超详细

      开机无法引导,出现"grub>",相信不少网友都遇到这样的问题,像这样的问题大多数出自学习Linux者的电脑上,为了学习Linux,安装了Windows与Linux双系统,另外还有一原因,你并没有装过Linux,那是因为你安装了某种备份软件。解决的方法,用安装盘重装系统,或者在纯dos下:fdisk/mbr(修复主引导记录)           下面就Windows与Linux双系统遇

2009-10-25 21:03:00 1147 1

转载 共享内存与线程局部存储

城里的人想出去,城外的人想进来。这是《围城》里的一句话,它可能比《围城》本身更加有名。我想这句话的前提是,要么住在城里,要么住在城外,二者只能居其一。否则想住在城里就可以住在城里,想住在城外就可以住在城外,你大可以选择单日住在城里,双日住在城外,也就没有心思去想出去还是进来了。 理想情况是即可以住在城里又可以住在城外,而不是走向极端。尽管像青蛙一样的两栖动物绝不会比人类更高级,但能适应于更多环境的

2009-10-12 12:02:00 139

原创 const的使用

C中CONST的使用:const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的健壮性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。  虽然这听起来很简单,但实际上,const的使用也是c语言中一个比较微妙的地方,微妙在何处呢?请看下面几个问题。      问题:const变量 & 常量   

2009-05-08 11:17:00 184

转载 堆、栈

五大内存分区在C++中,内存分成5个区,他们分别是、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收

2009-04-23 17:17:00 362

原创 堆和栈的区别(转贴)

堆和栈的区别(转贴,作者为一c++程序员,具体姓名不清楚) 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分   1、栈区(stack)—> 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。   2、堆区(heap)—> 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式

2009-04-23 16:39:00 643

原创 ARM立即数

忘了是在哪里找到的这篇文章,讲的不错,所以拿来自己用了。感谢作者... 在 mov r2,#0xffb 这句中,不是MOV的用法出错,而是立即数用法出错。立即数的用法定义在Arm Architechture Reference Manual(简称ARMARM)的A5-4页开始很重要的一段:An immdediate operand value is formed by rotati

2008-11-26 09:19:00 758

原创 ARM 汇编指令条件执行详解

  在ARM模式下,任何一条数据处理指令可以选择是否根据操作的结果来更新CPSR寄存器中的ALU状态标志位。在数据处理指令中使用S后缀来实现该功能。不要在CMP,CMN,TST或者TEQ指令中使用S后缀。这些比较指令总是会更新标志位。在Thumb模式下,所有数据处理指令都更新CPSR中的标志位。有一个例外就是:当一个或更多个高寄存器被用在MOV和ADD指令时,此时MOV和ADD不能更新

2008-10-24 17:09:00 991

转载 ARM条件码与CPSR标志位的关系

在ARM体系中,所有ARM指令均可条件执行,设置了一些条件执行码,但这些条件码对应设置CPSR中的Z, C, N, V标志位:l           0000 = EQ - Z set (equal)l           0001 = NE - Z clear (not equal)l           0010 = CS - C set (unsigned higher or s

2008-10-24 17:07:00 2510 2

原创 关于ARM处理器中“8位位图”的理解分析

在ARM处理器的汇编语言中,对指令语法格式中的的常数表达式有这样的规定:“该常数必须对应8位位图,即常数是由一个8位的常数循环移位偶数位得到的。” 首先从ARM指令系统的语法格式说起。一条ARM指令语法格式分为如下几个部分: {}{S} ,{,}其中,内的项是必须的,{}内的项是可选的,如是指令助记符,是必须的,而{}为指令执行条件,是可选的,如果不写则使用默认条件AL(无条件执行

2008-10-24 17:05:00 1802 5

原创 ARM基础知识

**31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。 **6个状态寄存器。这些寄存器都是32位寄存器。 ARM处理器共有7种不同的处理器模式,每一种模式中都有一组相应的寄存器组。在任何时刻,可见的寄存器包括15个通用寄存器(R0-R14),一个或两个状态寄存器及程序计数器(PC)。在所有的寄存器中,有些是各模式公用一个物理寄存器,有一些寄存器各模式拥有自己独立的物理寄存器

2008-10-24 14:38:00 286

Linux的分段和分页机制

关于Linux的分段和分页机制,是一个很好的学习资料

2008-12-30

应届学生求职

看看,也许对你有帮助

2007-12-30

空空如也

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

TA关注的人

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