http://www.csdn.net/ http://www.arm.com/zh/ https://www.kernel.org/ http://www.linuxpk.com/ http://www.51develop.net/ http://linux.chinaitlab.com/ http://www.embeddedlinux.org.cn http://bbs.pediy.com/
发布时间:2012-12-19 09:42:08
chattr 1.作用 修改ext2和ext3文件系统属性(attribute),使用权限超级用户。 2.格式 chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录 3.主要参数 -R:递归处理所有的文件及子目录。 -V:详细显示修改内容,并打印输出。 -:失效属性。 +:激活属性。 = :指定属性。 A:Atime,告诉系统不要修改对这个文件的最后访问时间。 S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。 a:Append Only,系统......【阅读全文】
发布时间:2012-12-19 09:25:14
linux操作系统中最常见的无法上网的原因是DNS与网关冲突解决方法: gedit /etc/resolv.conf 显示如下:把nameserver 改为你的网关即可。2,再把 /etc/resolv.conf 设置为:系统不允许对这个文件进行任何的修改 # chattr +i /etc/resolv.conf3,如果还不行,就肯定是没有创建连接或是创建的连接不对。解决方法: 1,打开网络连接(选择有线的 : Wired) &......【阅读全文】
发布时间:2012-12-18 14:39:43
简介:
两种安装方式:二进制文件安装和编译安装(本文使用二进制安装方式安装,有兴趣的童鞋自己尝试编译安装)
环境
Ubuntu-11-10 32位准备
0.获取mysql-5.5.20-linux2.6-i686.tar.gz二进制安装文件
具体步骤:
mysql官网下载页面选择Linux-Generic下的Linux - Generic 2.6 (x86,32-bit), Compressed (位数适你的linux的位数而定。 我这里用的是32位的,所以我选择32位版本的mysql)
&......【阅读全文】
发布时间:2012-12-18 11:22:35
在笔记本上安装好了Ubuntu11.10,但郁闷的发现一次重启后,无线网络的灯不亮了,在界面上也显示设备未托管,死活启动不了无线网络链接。查阅了网上的一些资料,终于找到了解决办法。 这个问题出现的原因,是我在设置好了PPPOE后,系统改写了interfaces文件,导致Network-Manager与之冲突,从而关闭了无线网卡管理。 解决方法是: 修改文件: /etc/NetworkManager/NetworkManager.conf managed=true 然后重启即可解决。 P.S. 貌似还是存在着PPPOE老掉线的问题,待解决。。......【阅读全文】
发布时间:2012-12-17 18:53:17
1,rpm redhat 上安装 rpm 文件: #rpm -ivh libXX 2. Ubuntu 11.10下如何设置主机名 主机名存放在/etc/hostname中 ,sudo gedit /etc/hostna......【阅读全文】
发布时间:2012-12-17 15:18:04
先准备好两个镜像文件rhel-server-6.0-x86_64-boot.isorhel-server-6.0-x86_64-dvd.iso6.0中已经没有images\boot.iso这个文件了,而是直接提供了一个镜像。而5.5的应该还是用这个镜像来引导。第一步制作启动U盘:这个跟网上说的差不多,用UltraISO打开rhel-server-6.0-x86_64-boot.iso,然后点击启动光盘->写入硬盘镜像,选择硬盘驱动器为U盘。写入方式为:usb-hdd+->最后点击“写入”,提示刻录完成。第二步提取rhel-server-6.0-x86_64-dvd.iso中的ima......【阅读全文】
发布时间:2012-12-17 15:16:24
今天用U盘安装Redhat Linux6.0 的时候报错"#1 缺少iso9600图像".经过上网查资料和自己的实验总算是搞明白了. 用U盘安装缺少iso9600的原因是:iso9600 是光盘的文件格式,在Redhat Linux6.0和fedora14 中用了新的文件格式,把iso镜像文件写入U盘中不支持这种新的文件格式. 其解决办法是:用UlsterISO把iso镜像文件写入U盘后再把整个Iso镜像文件都考入到U盘中去.......【阅读全文】
发布时间:2012-12-17 11:11:52
内核的输入子系统是对分散的,多种不同类别的输入设备(如键盘,鼠标,跟踪球,操纵杆,触摸屏,加速计和手写板)等字符设备进行统一处理的一层抽象,就是在字符设备驱动上抽象出的一层。输入子系统包括两类驱动程序:事件驱动程序和设备驱动程序。事件驱动程序负责和应用程序的接口,而设备驱动程序负责和底层输入设备的通信。鼠标事件生成文件mousedev属于事件驱动程序,而PS/2鼠标驱动程序是设备驱动程序。事件驱动程序是标准的,对所有的输入类都是可用的,所以要实现的是设备驱动程序而不是事件驱动程序。设备驱动程序可以利用一个已经存在的,合适的事件......【阅读全文】
发布时间:2012-12-14 18:32:53
七:evdev概述 Evdev对应的设备节点一般位于/dev/input/event0 ~ /dev/input/event4.理论上可以对应32个设备节点.分别代表被handler匹配的32个input device.可以用cat /dev/input/event0.然后移动鼠标或者键盘按键就会有数据输出(两者之间只能选一.因为一个设备文件只能关能一个输入设备).还可以往这个文件里写数据,使其产生特定的事件.这个过程我们之后再详细分析.为了分析这一过程,必须从input子系统的初始化说起. 八:input子系统的初始化Input子系......【阅读全文】
发布时间:2012-12-14 18:29:11
七:evdev概述 Evdev对应的设备节点一般位于/dev/input/event0 ~ /dev/input/event4.理论上可以对应32个设备节点.分别代表被handler匹配的32个input device.可以用cat /dev/input/event0.然后移动鼠标或者键盘按键就会有数据输出(两者之间只能选一.因为一个设备文件只能关能一个输入设备).还可以往这个文件里写数据,使其产生特定的事件.这个过程我们之后再详细分析.为了分析这一过程,必须从input子系统的初始化说起. 八:input子系统的初始化Input子系......【阅读全文】
发布时间:2012-12-14 18:25:38
一,前言:1, 近日要写一个很特殊的键盘驱动,故对linux的input子系统分析了一番,写下分析笔记,以防不日即忘。2, 使用input子系统的一般流程为:input_allocate_device()申请一个input_dev设备――>初始化该 input_dev――>input_register_device()向子系统注册该设备――>中断时input_event()向子系 统报告事件。此流程一目了然,即使不看input子系统,我们按照它给出的一般流程也可以把自己写的IO驱动加入到input子系统里去,但 input_event()提交完数......【阅读全文】
发布时间:2012-12-14 18:19:50
内核的输入子系统是对分散的,多种不同类别的输入设备(如键盘,鼠标,跟踪球,操纵杆,触摸屏,加速计和手写板)等字符设备进行统一处理的一层抽象,就 是在字符设备驱动上抽象出的一层。输入子系统包括两类驱动程序:事件驱动程序和设备驱动程序。事件驱动程序负责和应用程序的接口,而设备驱动程序负责和底 层输入设备的通信。鼠标事件生成文件mousedev属于事件驱动程序,而PS/2鼠标驱动程序是设备驱动程序。事件驱动程序是标准的,对所有的输入类都 是可用的,所以要实现的是设备驱动程序而不是事件驱动程序......【阅读全文】
发布时间:2012-12-14 18:17:23
内核的输入子系统是对分散的,多种不同类别的输入设备(如键盘,鼠标,跟踪球,操纵杆,触摸屏,加速计和手写板)等字符设备进行统一处理的一层抽象,就 是在字符设备驱动上抽象出的一层。输入子系统包括两类驱动程序:事件驱动程序和设备驱动程序。事件驱动程序负责和应用程序的接口,而设备驱动程序负责和底 层输入设备的通信。鼠标事件生成文件mousedev属于事件驱动程序,而PS/2鼠标驱动程序是设备驱动程序。事件驱动程序是标准的,对所有的输入类都 是可用的,所以要实现的是设备驱动程序而不是事件驱动程序......【阅读全文】
发布时间:2012-12-14 18:13:55
最近看到linux的设备驱动模型,关于Kobject、 Kset等还不是很清淅。看到了struct device_driver这个结构时,想到一个问题:它的初始化函数到底在哪里调用呢?以前搞PCI驱动时用pci驱动注册函数就可以调用它,搞 s3c2410驱动时只要在mach-smdk2410.c中的struct platform_device *smdk2410_devices {}中加入设备也会调用。但从来就没有想过具体的驱动注册并调用probe的过程。于是打开SourceInsight追踪了一下:从driver_register看起:in......【阅读全文】
发布时间:2012-12-14 18:12:39
1、I/O 端口和 I/O 内存每个外设都是通过读写其寄存器来控制的。通常一个设备有几个寄存器,它们位于内存地址空间或者I/O地址空间,并且地址是连续的。在硬件层上,内存区和I/O区域没有概念上的区别: 它们都是通过在地址总线和控制总线上发出电信号来存取(即,读写信号),并且通过数据总线来读写数据。在一些CPU制造商在其芯片上实现了一个单地址空间(统一编址)的同时,其它的CPU制造商认为外设不同于内存,应该有一个独立的地址空间给外设(单独编址),其生产处理器(特别是x86家族)的I/O端口有自己的读写信号线和特殊的CPU指令来存取端口。因为外设要与外设总......【阅读全文】
发布时间:2012-12-14 18:09:15
1、I/O 端口和 I/O 内存每个外设都是通过读写其寄存器来控制的。通常一个设备有几个寄存器,它们位于内存地址空间或者I/O地址空间,并且地址是连续的。在硬件层上,内存区和I/O区域没有概念上的区别: 它们都是通过在地址总线和控制总线上发出电信号来存取(即,读写信号),并且通过数据总线来读写数据。在一些CPU制造商在其芯片上实现了一个单地址空间(统一编址)的同时,其它的CPU制造商认为外设不同于内存,应该有一个独立的地址空间给外设(单独编址),其生产处理器(特别是x86家族)的I/O端口有自己的读写信号线和特殊的CPU指令来存取端口。因为外设要与外设总......【阅读全文】
发布时间:2012-12-14 18:08:16
一、统一编址与独立编址该部分来自于:http://blog.chinaunix.net/space.php?uid=21347954&do=blog&id=443670,感谢mason_hu的分享。 从CPU连出来一把线:数据总线、地址总线、控制总线,这把线上挂着N个接口,有相同的,有不同的,名字叫做存储器接口、中断控制接口、DMA接口、 并行接口、串行接口、AD接口……一个设备要想接入,就用自己的接口和总线上的某个匹配接口对接……于是总线上出现了各种设备:内存、硬盘,鼠标、键盘, 显示器……对于CPU而言,如果它要发数据到某个设备,其实是发到对应的接口,接口电路里有多个......【阅读全文】
发布时间:2012-12-14 16:42:18
看一些程序的时候老是有“#ifdef __cplusplusextern "C" {#endif”的定义,搞搞清楚是怎么回事:Microsoft-Specific Predefined Macros__cplusplus Defined for C++ programs only. 意思是说,如果是C++程序,就使用extern "C"{而这个东东,是指在下面的函数不使用的C++的名字修饰,而是用C的The following code shows a header file which can be used by C and C++client applications:// MyCFu......【阅读全文】
发布时间:2012-12-14 16:40:59
如果直接操作结构体成员是不会取到不期望的值 但是对于要求连续数据格式的时候需要考虑对齐的问题 例如通讯中的数据帧格式等 ,如 ip数据包等#pragma pack(1) struct tagStruct { ... } t; #pragma pack() 的方式来强制连续存放 其中前面 pack(1) 是指对齐边界为 11。几个结构体例子:struct{short a1;short a2;short a3;}A;struct{long a1;short a2;}B;sizeof( ......【阅读全文】
发布时间:2012-12-14 16:38:47
/*creat a bittree*/#include "stdlib.h"#include "stdio.h"typedef struct BiTNode{ int data; struct BiTNode *lchild,*rchild;}BiTNode, *BiTree;BiTNode* getnode(){ BiTNode* p; p = (BiTNode*)m......【阅读全文】
发布时间:2012-12-14 16:36:57
测试代码:#include <stdio.h>int main(void){ int n = 0; int i = 0; &nbs......【阅读全文】
发布时间:2012-12-14 16:25:16
预编译(预处理)就是在正式编译之前的,为正式编译做准备,处理以#开头的指令。1, 在看linux内核代码时会看到某些结构体的定义中包含宏定义:12345678910111213struct i2c_msg { __u16 addr; /* slave address */  ......【阅读全文】
发布时间:2012-12-14 16:23:40
要理解.c文件与.h文件有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:1.预处理阶段2.词法与语法分析阶段3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制码,也就是去掉了文件格式信息 编译器在编译时是以c文件为单位进行的,也就是说如果你的项目中一个c文件都没有,那么你的项目将无法编译,连接器是以目标文件为单位,它将一个或多个目 标文件进行函数与变量的重定位,生成最终的可执行文件,在P......【阅读全文】
发布时间:2012-12-14 16:19:40
1)Xmodem (2012.03.30)1.通过单片机显示器把运行的流程显示出来(问题:延时??)2)keil c51 是提示“auto segment too large”可能是数组之类的定义的所在段超出范围了,可以通过定义时 添加“code”或“xdata”等解决3)串口调试,可用软件“CommMonitor串口监控”软件,可以显示出PC和单片机相互发送的数据4)通过超级终端运行rt_thread 程序时,如果显示不正常,可以尝试设置 停止位 为 2 位5)rt_thread&n......【阅读全文】