chenyuren

导航

2011年8月31日 #

RHEL 5.1 模块编程

摘要: 1. RHEL 5.1已经安装好了“内核树”:<1>. 用" uname -r " 查看内核版本:<2>. 内核树的位置:<3>. “/lib/modules” 目录下有 2.6.18-53.el5 :2. 模块源代码 在 /home 目录下建立一个“david”目录,用于保存模块源代码。3. “Hello World”模块实验: 在 /home/david 目录下创建2个文本文件 hello.c Makefile //hello.c#include <linux/init.h> #include <linux/modu 阅读全文

posted @ 2011-08-31 22:45 chenyuren 阅读(224) 评论(0) 推荐(0)

绝对好用 Linux操作系统的8个经典技巧

摘要: 1、处理特殊的文件名 假设Linux系统中有一个文件名叫“-ee”,如果我们想对它进行操作,例如要删除它,按照一般的删除方法在命令行中输入rm -ee命令,界面会提示我们是“无效选项”(invalid option),原来由于文件名的第一个字符为“-”,Linux把文件名当作选项了,我们可以使用“--”符号来解决这个问题,输入“rm -- -ee”命令便可顺利删除名为“-ee”的文件。如果是其他特殊字符的话可以在特殊字符前加一个“”符号,或者用双引号把整个文件名括起来。2、直接进行Linux的安装工作 在安装Linux操作系统时,可以利用该系统光盘中的一个名为“loadlin.exe”的软.. 阅读全文

posted @ 2011-08-31 20:06 chenyuren 阅读(273) 评论(0) 推荐(0)

一个基本的Linux设备驱动开发环境

摘要: 一个基本的Linux设备驱动开发环境,由宿主机和目标机组成,宿主机就是用来做驱动开发工作的主机,目标机就是用来运行和测试设备驱动的主机,在宿主机上需要有开发工具(gcc,gdb,make等)和linux源码(版本要对应目标机上的linux内核),而目标机上只要运行linux即可。由于步骤有所不同,下面分为普通Linux设备驱动开发和嵌入式Linux设别驱动开发两种情况来讲述环境的搭建和驱动程序的编译: (一)普通Linux设备驱动开发 普通Linux主要是区分于嵌入式Linux(一般指uClinux),在这种开发中宿主机和目标机可以是一台主机,即在本机上开发编译然后在本机上加载运行(Linux 阅读全文

posted @ 2011-08-31 18:19 chenyuren 阅读(404) 评论(0) 推荐(0)

Linux驱动开发环境配置(内核源码树构造)

摘要: 初次接触Linux驱动程序开发,买了一本《Linux设备驱动程序》,第一件事当然就是构建开发环境了!!!它上面有一个Hello World的列子://hello.c#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){printk(KERN_ALERT "Hello, world/n");return 0;}static void hello_exit(void){prin 阅读全文

posted @ 2011-08-31 16:58 chenyuren 阅读(1675) 评论(0) 推荐(0)

Linux 2.6内核的编译步骤及模块的动态加载

摘要: 本文是基于2.6的内核,也建议各位可以先看一下《Linux内核设计与实现(第二版)》作为一个基础知识的铺垫。当然,从实践角度来看,只要按着以下的步骤去做也应该可以实现成功编译内核及加载模块。个人用的Linux版本为:Debian GNU/Linux,内核版本为:2.6.20-1-686.第一步,下载Linux内核的源代码,即构建LDD3(Linux Device Drivers 3rd)上面所说的内核树。如过安装的Linux系统中已经自带了源代码的话,应该在/usr/src目录下。如果该目录为空的话,则需要自己手动下载源代码。下载代码的方法和链接很多,也可以在CU上通过http://downl 阅读全文

posted @ 2011-08-31 14:33 chenyuren 阅读(516) 评论(0) 推荐(0)