- 博客(45)
- 资源 (13)
- 收藏
- 关注
转载 在linux下安装配置svn独立服务器
Ubuntu LinuxUbuntu Packages (maintained by Ubuntu Project; client and server; svnserve is part of the subversion package, mod_dav_svn is in the separate libapache2-svn package)$ apt-get in
2011-11-29 13:19:09 2287
转载 块设备驱动注册和注销、加载与卸载、块设备驱动的I/O请求
块设备驱动注册和注销块设备驱动的第一个任务就是将他们自己注册到内核中,其函数原型如下: int register_blkdev(unsigned int major, const char* name);major参数是块设备要使用的主设备号,name为设备名,它会在/proc/devices中被现实.如果major为0,内核会自动分配一个新的主设备号,并由该函数返回
2011-11-28 19:21:21 1015
原创 有点意思!Linux 块设备处理模型,基础【簇、柱面、存储的计算】
簇:簇是指可分配的用来保存文件的最小磁盘空间,扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实际大
2011-11-28 18:18:25 2409
原创 sbull虚拟磁盘的驱动的编写
我们通过vmalloc在内存中开辟一部分空间,作为一个虚拟的磁盘,然后我们以块设备的方式来访问这片内存,例如这个Simple Block Utility For Loading Localities程序第一个称为 sbull(Simple Block Utility for Loading Localities),该驱动程序实现了一个使用系统内存的块设备,从本质上讲,属于一种 RAM 磁盘驱动
2011-11-28 17:25:28 136
原创 sbull虚拟的磁盘驱动的编写
原理指导:我们通过vmalloc在内存中开辟一部分空间,作为一个虚拟的磁盘,然后我们以块设备的方式来访问这片内存,例如这个sbull模型。sbull(Simple Block Utility for Loading Localities),该驱动程序实现了一个使用系统内存的块设备,从本质上讲,属于一种 RAM 磁盘驱动程序。字符设备的IO操作则是直接不绕弯的,块设备的IO操作会配对和整合。驱动
2011-11-28 17:24:12 2468
原创 学驱动从模块开始
通用的Makefile模板ifeq ($(KERNELRELEASE),)#KERNELDIR ?= /home/lht/kernel2.6/linux-2.6.14KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd)modules: $(MAKE) -C $(KERNELDIR) M=
2011-11-28 17:19:24 660
原创 button按钮驱动模型
#include #include #include #include int main(int argc, char **argv){ int i; int ret; int fd; int press_cnt[4]; fd = open("/dev/buttons", 0); // 打开设备 if (fd < 0) {
2011-11-28 17:13:05 1123
原创 LED驱动字符模型
#include #include #include #include #include #include #include #include #include #include #define DEVICE_NAME "leds" /* 加载模式后,执行”cat /proc/devices”命令看到的设备名称 */#define LED_MAJOR
2011-11-28 17:11:05 1237
转载 Linux设备模型
Linux设备模型 (1)2010-12-09 00:21 by wwang, 2840 visits, 收藏, 编辑随着计算机的周边外设越来越丰富,设备管理已经成为现代操作系统的一项重要任务,这对于Linux来说也是同样的情况。每次Linux内核新版本的发布,都会伴随着一批设备驱动进入内核。在Linux内核里,驱动程序的代码量占有了相当大的比重。下图是我在网络上搜索到的一幅L
2011-11-23 17:38:44 511
Linux设备模型 (1)
Linux设备模型 (1)2010-12-09 00:21 by wwang, 2840 visits, 收藏, 编辑随着计算机的周边外设越来越丰富,设备管理已经成为现代操作系统的一项重要任务,这对于Linux来说也是同样的情况。每次Linux内核新版本的发布,都会伴随着一批设备驱动进入内核。在Linux内核里,驱动程序的代码量占有了相当大的比重。下图是我在网络上搜索到的一幅L
2011-11-23 17:37:32 85
转载 【转】软中断/tasklet/工作队列
软中断、tasklet和工作队列并不是Linux内核中一直存在的机制,而是由更早版本的内核中的“下半部”(bottom half)演变而来。下半部的机制实际上包括五种,但2.6版本的内核中,下半部和任务队列的函数都消失了,只剩下了前三者。本文重点在于介绍这三者之间的关系。(函数细节将不会在本文中出现,可以参考文献,点这里)(1)上半部和下半部的区别上半部指的是中断处理程序,下半部则指的是一
2011-11-23 08:55:17 569
转载 面试技巧:不可不知的HR十大经典理论(图)
面试技巧:不可不知的HR十大经典理论(图)彼得原理、水桶定律、马太效应、蘑菇管理......听着是不是很耳熟,不管是初入职场的小菜鸟还是职场达人,这十大经典理论必须牢牢把握,不然难以在职场立足,更何况笑傲群雄啦!1、The Peter Principle 彼得原理: 晋升是最糟糕的激励措施 The Peter Principle states that "in a hiera
2011-11-20 10:00:14 1158
转载 前辈大公司的面试,重点是他推荐我们应该看得那些书
应届生上泡了两年,一直都是下资料,下笔试题,面试题。一直都在感谢那些默默付出的人。写这个帖子花了我两个夜晚的时间,不是为了炫耀,只是为了能给那些“迷惘”的学弟学妹,一点点建议而已。大家何必那么认真,更没必要说脏话。我不在乎你们怎么评价我。只要有人觉得帖子有用,我就欣慰了。谢谢大家,别说脏话,以和为贵。饮水思源,谢谢应届生上默默付出的师兄师姐,谢谢那么多份笔试题,面试题,没有这些资料,就没有现在的我
2011-11-19 10:59:26 8181 1
转载 【转】Linux内核模块编程指南
转载于:http://apps.hi.baidu.com/share/detail/14841648什么是内核模块?现在,你是不是想编写内核模块。你应该懂得C语言,写过一些用户程序, 那么现在你将要见识一些真实的东西。在这里,你会看到一个野蛮的指针是如何 毁掉你的文件系统的,一次内核崩溃意味着重启动。什么是内核模块?内核模块是一些可以让操作系统内核在需要时载入和执 行的代码,这同样
2011-11-18 12:39:55 594
转载 【转】字符设备驱动程序
一、主设备号和此设备号主设备号表示设备对应的驱动程序;次设备号由内核使用,用于正确确定设备文件所指的设备。内核用dev_t类型()来保存设备编号,dev_t是一个32位的数,12位表示主设备号,20为表示次设备号。在实际使用中,是通过中定义的宏来转换格式。(dev_t)-->主设备号、次设备号MAJOR(dev_t dev)MIN
2011-11-17 20:29:47 524
转载 【转】linux设备模型详解
Linux 2.6内核的一个重要特色是提供了统一的内核设备模型。随着技术的不断进步,系统的拓扑结构越来越复杂,对智能电源管理、热插拔以及plug and play的支持要求也越来越高,2.4内核已经难以满足这些需求。为适应这种形势的需要,2.6内核开发了全新的设备模型。2.6 设备模型提供了这个抽象. 现在它用在内核来支持广泛的任务, 包括:电源管理和系统关机这些需要一个对
2011-11-17 20:25:19 537
原创 linux 2.4 和 2.6 可装载模块机制
笔记来自:从 2.4 到 2.6:Linux 内核可装载模块机制的改变对设备驱动的影响 作者:周婷,软件工程师,S3 Graphics 上海研发中心,工作方向: 视频解码。email: moting9@hotmail.com。推荐一本书:《 LINUX内核模块编程指南》在linux根目录下查找一个名叫“kernel”的目录find / -name kernel -type d .解释
2011-11-17 19:38:23 1109
原创 。◕‿◕。 【IP\Bash\环境变量\mount挂载\TFTP和NFS】各种设置
一、linux网络IP地址的设置第一种:使用命令修改(直接即时生效,重启失效)#ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up 说明:eth0是第一个网卡,其他依次为eth1,eth*192.168.0.1是给网卡配置的第一个网卡配置的ip地址netmask 255.255.255.0 配置的是子网掩码up是表示立即
2011-11-16 20:12:18 3121
原创 【实验十四】 UDEV的移植
实验十四 UDEV的移植【实验目的】移植udev 实验自动创建设备节点和自动挂在SD卡和U盘。【实验环境】1、 Ubuntu 10.10发行版2、 u-boot-2010.033、 FS2410平台4、 交叉编译器arm-none-linux-gnueabi-gcc-4.3.2【实验步骤】1、下载UDEV源码udev-080.tar.bz2,网址:h
2011-11-16 17:15:36 903
原创 【实验十三】文件系统的移植
实验十三 文件系统的移植【实验目的】 熟悉Linux文件系统目录结构,创建自己的文件系统,通过NFS方式集成测试,用文件系统生成ramdisk文件系统映象文件。 【实验环境】1、 Ubuntu 10.10发行版2、 u-boot-2010.033、 FS2410平台4、 交叉编译器arm-none-linux-gnueabi-gcc-4.3.2【
2011-11-16 16:17:43 989
原创 【二十三】 Linux网络编程——广播与组播
【二十三】 Linux网络编程——广播与组播/*multicast sender.c*/#include #include #include #include #include #include #include #define N 64typedef struct sockaddr SA;int main(int argc, char *argv[]
2011-11-15 21:05:01 1223 1
原创 【二十六】 Linux网络编程——模仿linux的ls命令实现
【二十六】 Linux网络编程——模仿linux的ls命令实现/*my_ls.c*/#include #include #include #include #include #include #include #include int display_file(char *argv,char *fname){ struct stat buf; st
2011-11-15 21:02:22 1427
原创 【二十五】 Linux网络编程——模仿Ping命令的实现
【二十五】 Linux网络编程——模仿Ping命令的实现/*Myping.c*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #d
2011-11-15 21:01:02 694
原创 【十二】进程间通信——[BSD]套接字(socket)
【十二】 进程间通信——[BSD]套接字(socket)/*sever.c*/#include #include #include #include #include #include #include #include #define N 64#define R 1#define B 2#define U 3#define E 4typedef struct
2011-11-15 20:59:42 630
原创 【十一】 进程间通信——[System V IPC对象]信号灯(semaphore)
【十一】 进程间通信——[System V IPC对象]信号灯(semaphore)/*reader.c*/#include #include #include #include #include #include #include #include #include #define N 64#define READ 0#define WRITE 1uni
2011-11-15 20:57:49 528
原创 【十】 进程间通信——[System V IPC对象]消息队列(message queue)
【十】 进程间通信——[System V IPC对象]消息队列(message queue)/*server.c*/#include #include #include #include #include #include #include #include #define N 64#define TypeA 100#define TypeB 200#defin
2011-11-15 20:55:58 525
原创 【九】 进程间通信——[System V IPC对象]共享内存(share memory)
【九】 进程间通信——[System V IPC对象]共享内存(share memory)/*Writer.c*/#include #include #include #include #include #include #include #include #include #define N 64typedef struct { pid_t pid; char
2011-11-15 20:53:26 557
原创 【八】 进程间通信——(SIGNAL)信号
【八】 进程间通信——(SIGNAL)信号#include #include #include #include #include pid_t pid;void conductor(int signo){ switch ( signo ) { case SIGINT : kill(getppid(), SIGUSR1); break; case SIGQUI
2011-11-15 20:50:25 422
原创 【七】 进程间通信——(FIFO)有名管道
【七】 进程间通信——(FIFO)有名管道我们向管道中写入数据时,linux将不保证写入的原子性,管道缓冲区一有空闲区域,写进程就会试图相关到中写入数据。如果杜金城不读走管道缓冲区的数据,那么写操作将会一直阻塞。只有读端存下的时候,向管道中写数据才有意义。否则相关到中写入数据的进程将受到内核传来的SIFPIPE,我们可以通过这个信号来判断读端是否退出。有名管道和无名管道(PI
2011-11-15 20:39:36 525
转载 U-Boot添加命令的方法及U-Boot命令执行过程
U-Boot添加命令的方法及U-Boot命令执行过程 下面以添加menu命令(启动菜单)为例讲解U-Boot添加命令的方法。(1) 建立common/cmd_menu.c 习惯上通用命令源代码放在common目录下,与开发板专有命令源代码则放在board/目录下,并且习惯以“cmd_.c”为文件名。(2) 定义“menu”命令 在
2011-11-14 20:17:06 705
原创 一些学习上的问题
(1)就是关于“嵌入式硬件平台接口开发”,到时候会通过学习驱动而慢慢的再次学习(2)U-BOOT的移植,流程、那些十六进制的地址(3)linux-2.4.35内核的移植,后期学习android的时候可能还会涉及到android内核的移植Some idea(1)屏幕截图,获取一个键值后,就保存当前屏幕作为一张图片,到指定目录;(2)屏幕的文字识别。思路:类似于造字程序。24位、6
2011-11-14 19:35:19 406
原创 linux-2.6.35内核移植—网卡驱动的添加
linux-2.6.35内核移植—网卡驱动的添加一、解压内核:$tar xvf linux-2.6.35.tar.bz2$cd linux-2.6.35二、修改顶层MakefileARCH?=arm(注意arm后边不能有空格,因为arm是作为一个目录来使用的)CROSS_COMPILE?=arm-none-linux-gnueabi-三、拷贝配置文件 (当前
2011-11-14 17:02:11 646
转载 [转]从这里开始学习 Linux
简介: 本文将向您推荐一些资料,这些资料有助于您开始使用 Linux。Linux 不是 UNIX,尽管它与 UNIX 非常相似。IBM 在 Linux 和 UNIX 领域(以及其它许多领域)都有很多产品。发布日期: 2010 年 9 月 21 日 级别: 初级 Linux 究竟是什么?用最简单的话说,Linux 是一个操作系统。它是一位赫尔辛基大学学生 Linu
2011-11-14 12:35:16 588 1
转载 linux的mount命令详解
linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows和NFS网络共享linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用。现在许多企业的计算机系统都是由UNIX系 统、Linux系统和Windows系统组成的混合系统,不同系统之
2011-11-14 10:15:50 98
转载 tar 常用命令技巧
简介参数:-c :建立一个压缩档案的参数指令(create 的意思);-x :解开一个压缩档案的参数指令! -t :查看 tarfile 里面的档案!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?-j :是否同时具有 bzip2 的属性
2011-11-11 15:08:47 453
转载 U-boot命令(Ctrl + F 搜索更快哦)
U-Boot还提供了更加详细的命令帮助,可以通过”?”显示支持的命令列表,通过help [CommandName]命令还可以查看每个命令的参数说明。1、bootmbootm [addr [arg ...]] - boot application image stored in memory passing arguments 'arg ...'; whe
2011-11-10 16:50:41 536
Modultils工具源码分析 depmod.insmod rmmod lsmod
2011-11-17
FS2410 board demo program
2011-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人