- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
序言:想学习linux 设备驱动,看到 Tekkaman Ninja 的学习笔记大为惊叹,同时也非常感谢
这位大哥的无私奉献精神,这才是真正的开源精神,我打算沿着 Tekkaman Ninja 的脚步,
走完我的 linux 设备驱动程序之旅,我相信在整理与实践过程中会学到更多的东西。
本笔记一面是参考 Tekkaman Ninja 的学习程整理,一面是按照自己的实际情况学习编写,
如有侵犯您的权益,请联系 QQ :307921462 Email:yflying7@
我的学习思路是:先看《linux 设备驱动程序(第三版)》,然后看 Tekkaman Ninja 博客上的
笔记,接着自己试着写驱动程序和应用程序,再对比自己和 Tekkaman Ninja 的程序思想上
和算法上的差距,最后再综合二者写完整程序。
CQUPT-07-谷飞扬 于老家陋室
二〇一〇年二月二日
Linux 设备驱动程序学习[0]—构造和运行程序
第一个例程:hello.c
/*
*Name :hello.c
*Function :test modules
*Author :gufeiyang
*From :LDD3
*Time :2010-2-1 home yunnan
*/
#include linux/init.h
#include linux/module.h
MODULE_LICENSE(“Dual BSD/GPL”);
static int hello_init(void)
{
printk(KERN_ALERT “Hello, world,I am gufeiyang!\n”);
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT “Goodbye, cruel world,YY will be back!\n”);
}
module_init(hello_init);
module_exit(hello_exit);
参照《linux 设备驱动程序》编写 Makefile
# If KERNELRELEASE is defined, we’ve been invoked from the
# kernel build system and can use its language.
FILENAME = hello.o
ifneq ($(KERNELRELEASE),)
obj-m := $(FILENAME)
# Otherwise we were called directly from the command
# line; invoke the kernel build system.
Else
KERNELDIR ?= /root/kernel/linux-/
PWD := $(shell pwd)
default:
$(MAKE) –C $(KERNELDIR) M=$(PWD) modules
@rm –vf *.o *.order *.symvers *.mod.* *~
@cp –vf *.ko /nfs
Endif
通过 NFS 在板子上即可看到
[root@gfy-S3C2440 /tmp]# insmod hello.ko
Hello, world,I am gufeiyang!
[root@gfy-S3C2440 /tmp]# rmmod hello.ko
Goodbye, cruel world,YY will be back!
[root@gfy-S3C2440 /tmp]# lsmod
Not tainted
hello 1504 0 – Live 0xbf000000
[root@gfy-S3C2440 /tmp]#
心得:
您可能关注的文档
最近下载
- 闽东古田方言动词的重叠式.pdf VIP
- 一文快速入门Kotlin协程.pdf VIP
- 竞选少先队大队长PPT模板.pptx
- 闽东古田方言动词否定音变.pdf VIP
- 北京市海淀区2024-2025学年四年级上册期末考试数学试卷.docx VIP
- 2022 再生医学行业研究报告 -细胞、材料、组织工程,构建再生医学的黄金三角.pdf VIP
- 船舶性能分析软件:NAPA Stability二次开发_(2).NAPAStability软件架构与模块.docx VIP
- 西门子AZL5.Modbus-中文说明书.pdf VIP
- 埃森哲-企业数字化转型制药项目顶层规划方案.pptx
- 用药错误知识及应急预案考试试题及答案.docx VIP
原创力文档


文档评论(0)