linux驱动之makefile详解
# If KERNELRELEASE is defined, we've been invoked from the
# kernel build system and can use its language.
ifneq ($(KERNELRELEASE),)
obj-m := hello.o
# Otherwise we were called directly from the command
# line; invoke the kernel build system.
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
当我们敲下make时,我们进入了这个权威的makefile二次。第一次进入makefile,发现KERNELRELEASE没有被设置时,于是她根据build这个符号链接定位内核源代码目录,然后进入default,开始第二个make,-C选项进入内核源代码目录,找到顶层的makefile,然后-M返回当前目录执行makefile文件,这就是第二次进入这个makefile,在这次,由于KERNELRELEASE变量已经定义,因此不需要进入else语言,在这里,obj-m:=hello.o这个语句和我们以前不是驱动程序中的makefile不同,在这里内核会帮你处理一切,这句话是告诉内核,需要从hello.o创建一个驱动模型(module)。
参考文献 《linux device drivers 3》
本文来自CSDN博客,转载自:http://blog.csdn.net/abc19842008/archive/2008/02/14/2095836.aspx
相关文档:
Linux驱动的一些基本操作
Linux内核中定义了很多宏,对硬件端口和寄存器进行操作,从网上搜集了一些宏定义的信息:
1. __REG简单的说就是获得后面所示物理地址映射后的虚拟地址,例如:
#define GPLR0 __REG(0x40E00000) /* GPIO Pin-Level Register GPIO<31:0> */
#define GPL ......
首先在Linux系统上安装samba
然后启动Windows虚拟机,在资源管理器中将samba的地址(例如//192.168.1.10/share)映射为一个虚拟盘符Z
最后启动SourceInsight,在Z盘上建立工程,并导入文件。
注意:以后每次使用SourceInsight之前先要连接samba服务器,比如说打开盘符Z。 ......
在服务器上写部署项目的脚本 ,需要把上传来的最新的项目解压, 部署 ,启动服务 实现自动化
于是找到最新的文件是第一件事情
就得到了以下脚本
$ ls -lrt | awk '/xmhi/ { f=$NF };END{ print f }'
中间的xmhi是文件所包含的字符串
另外如果要ls出所有的文件名
$ ls -l |awk '{print$9}' ......
1、在linux下读微软标准的chm文件时,找了好久终于找了一款很不错的软件---KchmViewer
可以通过终端安装:
sudo apt-get install kchmViewer
使用ubuntu的朋友也可以在ubuntu软件中心安装。
2、LibeFetion非常好的第三方免费飞信软件,也有windows版本
官网主页:http://www.libfetion.org/index.php
真的非常好用 ......
原文出处:http://www.svn8.com/shouce/Linux/kernel_options.html尊重原创!
Code maturity level options
代码成熟度选项
Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,否则请勿选择
General setup
常规设置
Local version - append ......