- 博客(20)
- 资源 (14)
- 收藏
- 关注
转载 linux 驱动Makefile
先看一个最简单的驱动程序://hello.c[cpp] view plaincopyprint?#include #include MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALERT "hello module!\n");
2012-03-21 16:02:20 5512
原创 ldd3 error: expected expression before 'spinlock_t' (access.c中)
这是由于,新内核的DEFINE_SPINLOCK(x)发生变化导致的。 这个宏的头文件 改static spinlock_t scull_u_lock =DEFINE_SPINLOCK(lock); 为 static DEFINE_SPINLOCK(scull_u_lock);
2012-03-20 22:55:28 1233
转载 ldd3 scull错误移除
由于linux内核版本的升级,往往会让能在老版本内核上编译通过的驱动程序移植到新版本内核中出现各种编译和链接错误,这里就将我遇到的一些问题做个整理,让后续开发更流畅^_^!当前内核版本为3.2.41.make[1]: Entering directory `/usr/src/linux-***' scripts/Makefile.build:49: *** CFLAGS was c
2012-03-20 15:44:11 953
转载 浏览内核源码工具
有网络的时候,使用LXR(The Linux Cross Referencer)在线阅读源码固然是一件很爽的事情。在无网络的情况下,只通过vim进入内核源码那样查找就显得有些勉强。接下来,本文将介绍一种快速定位源码的工具:ctags和cscope。通过vim编辑器,再配合使用上述两种工具就可以快速定位想要查看的源码。好了,开始吧!1.下载最新内核源码包,解压至主目录下接下来的步骤当然可以在
2012-03-20 14:50:50 867
转载 error: unknown field 'ioctl' specified in initializer (1)
linux2.6.29和linux2.6.38的内核在file_operations结构发生了变化,否则在linux2.6.38内核中,继续使用.ioctl成员,编译时就会报错:error: unknown field 'ioctl' specified in initializer,struct file_operations结构体定义在include/linux/fs.h文件中。lin
2012-03-20 13:30:13 4703
转载 error: unknown field ‘ioctl’ specified in initializer
异步通知的意思是:一旦设备就绪,则主动通知应用程序,这样应用程序就根本不需要查询设备的状态,这一点非常类似于硬件上的“中断”的概念,比较准确的称谓是“信号驱动的异步I/O”。信号是在软件层次上对中断机制的一种模拟,在原理上一个进程接收到一个信号与处理器接收到一个中断请求是一样的。1>在把驱动从2.6.32 移植到2.6.36时 报错 /home/kern
2012-03-20 11:34:40 1476
转载 linux设备驱动开发中有关scull模块的编译问题
来源:http://blog.csdn.net/laichao1112/article/details/6313040 昨天运行了一下《linux设备驱动程序》第三章的那个scull例子,发现出现如下错误提示: error: linux/config.h: No such file or directory我的系统内核版本是2.6.35的,config.h这个头文件貌
2012-03-20 11:14:32 728
转载 Fix it to use EXTRA_CFLAGS. Stop.
来源:http://blog.csdn.net/snow25bz/article/details/6282877 LDD3 :1. 在linux2.6.34.1编译提示 Fix it to use EXTRA_CFLAGS. Stop. 将makefile中的 CFLAGS 替换成 EXTRA_CFLAGS就可以了。原因是在2.6的内核的版本中所有的 EXTRA_ 变量只在
2012-03-20 11:00:54 1041
原创 虚拟机 桥接 连接状态总是 断开的解决 (debian)
虚拟机装的是Debian 但是,用桥接总是 显示 断开 ,其他正常设置。最后没办法了,然后,关掉Debian 配置硬件,新创建一个网络适配器,将原来的适配器删除掉。重新启动,ok,一切正常。
2012-03-08 11:32:45 6185
原创 Debian 下编译内核过程
1. 构建编译环境 (Debian 和 Ubuntu 发行版上用到的工具包) kernel-package :包括了make-kpkg等工具。 libncurses5-dev : make menuconfig 需要有此工具支持。 build-essential : 提供了c/c++的编译环境,包括了gcc、make等工具 (moduti
2012-03-06 12:38:07 2667
转载 内核编译及问题
编译Linux内核发表于 2011 年 11 月 20 日由 navylq一、下载 linux 内核源代码1.0 www.kernel.com 下载源代码2.0 将下载的源程序解压到 /usr/src 内二、下载工具2.0 下载 build-essential:apt-get install build-essential2.1 下载 libqt
2012-03-06 08:35:52 1586
转载 Makefile模板
来自:yfkiss(夜风) C/C++ code####################################################################### makefile 模版 ########################################################
2012-03-05 20:39:47 755
转载 Makefile
转自http://www.chinaunix.net/jh/23/408225.html陈皓转载请注明出处概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想
2012-03-05 17:35:32 680
转载 编译内核出的一些问题
来自http://forum.ubuntu.org.cn/viewtopic.php?p=2382995看别人好像很简单,自已搞总是会出错。机器不同,别再相信别人,特别那些在虚拟机上编译的更不能相信。make localmodconfig会让你痛苦,我写的这些你也别信,因为错误提示虽然相同但导致出错的原因不一定与我一样。 以下是我ubuntu10.04上编译
2012-03-05 14:22:22 5045
原创 工具链 (编译程序,汇编程序,和链接程序和内核头文件)linux
1. 工具链:是创建linux内核映像的一组程序的集合。链的概念源于一个工具的输出将作为另一个工具的输入。 2. 编译程序:可以将高级语言转换为目标语言。目标代码是运行在目标系统上并依赖于机器的一系列指令。 汇编程序:可将汇编语言变为目标代码。 二者不同在于:汇编程序产生的机器指令与汇编语句一一对应,二高级语言的每条语句可能对应多条机器指令。当然,编译器也可先
2012-03-05 08:43:45 1649
转载 UUID,全称Universally Unique Identifier
UUID,全称Universally Unique IdentifierUUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成UUID的API。UUID按照开放软件基金会 (OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID
2012-03-04 22:58:03 1253
转载 Debian编译升级内核(could not load /lib/modules/2.6.28/modules.dep问题)
虚拟机VMware下的Debian etch 2.6.26-6-686,欲升级为2.6.36内核。如果打算使用X-Window中的xconfig界面来配置内核,所以,需要安装qt3,运行命令#apt-cache search qt3然后将几个开头为qt3的包安装。#apt-get install qt3-dev-tools qt3-qtconfig qt3-doc qt3-desi
2012-03-04 22:18:23 2383
翻译 linux kernel README
**********************该文件解释怎么样安装内核********************************1、什么是linux linux目的是服从posix和sus标准。2.它运行在什么硬件上 linux很容易移植到32或64位架构机器上,只要这些架构有分页机制(PMMU)和gcc编译器。linux也支持没有分页机制的机
2012-03-01 22:23:57 1151
转载 用位运算来实现整数的四则运算
位运算的思想可以应用到很多地方,这里简单的总结一下用位运算来实现整数的四则运算。1.整数的加法view plainint MyAdd(int a,int b) { for(int i=1;i;i if(b&i) for(int j=i;j;
2012-03-01 22:22:52 2212 1
转载 Linux Security Module的注册层次
Linux Security Module的注册层次 ===================================================作者:ietf AT doit.com.cn所有源文件来自于linux kernel 2.6.20请在GNU Library General Public License下参考。引用请注明出处。===========
2012-03-01 20:33:53 2759
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人