专栏中心

EEPW首页 > 专栏 > linux下的第一个驱动程序 hello (for 2.4)

linux下的第一个驱动程序 hello (for 2.4)

发布人:mayer 时间:2009-07-29 来源:工程师 发布文章
linux下的第一个驱动程序 hello (for 2.4)

 

我也照着上面的方法试着做了。
环境:radhet9(文本模式下) gcc(3.2.2)


试验1
#define MODULE
#includes<linux/module.h>

int init_module(void)
{
    printk("<1>Hello,world\n");
    return 0;
}
void cleanup_module(void)
{
    printk("<1>Googbye crule world\n");
}

编译:
gcc -I /usr/scr/linux-2.4/include/linux -Wall -c hello.c
结果:
hello.c: In function 'init_module':
hello.c:11: warning: implicit declaration
of function 'printk'
没有理会警告继续:
insmod hello.o
警告:
版本不匹配,继续:
insmod -f hello.o
还是警告,但同时也输出了“Hello,world”,说明模块加载成功。
rmmod hello
显示:
Googbye crule world


试验2
在上面的文件中加入
#includ<linux/kernel.h>
MODULE_LICENSE("GPL");
然后重新编译
gcc -I /usr/scr/linux-2.4/include/linux -Wall -c hello.c
出现了同样的警告。我不是已经加了printk的声明了?怎么还有警告?
继续试验一得步骤:
出现的结果完全一样。

试验3
同实验2的文件。
编译命令为:
gcc -D__KERNEL__  -DMODULE -I /usr/src/linux-2.4/include -Wall -c hello.c
没有任何的警告。
加载,卸载也没有任何的警告。

原因:头文件的路径设置错误。
在头文件路径正确的情况下,去掉#inclue<kernel.h>,将会出现printk的警告。
去掉MODULE_LICENSE("GPL"),在加载时会出没有注册的警告。


试验4
没有任何警告和错误的文件,以及编译方法。

#define MODULE
#includes<linux/module.h>
#includes<linux/kernel.h>
MODULE_LICENSE("GPL");

int init_module(void)
{
    printk("<1>Hello,world\n");
    return 0;
}
void cleanup_module(void)
{
    printk("<1>Googbye crule world\n");
}
编译,加载,卸载命令:
gcc -D__KERNEL__  -DMODULE -I /usr/src/linux-2.4/include -Wall -c hello.c


再提一下,我是在文本模式下进行的实验。

学习中......

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

如何在Nios II系统运行uClinux操作系统

jjjsj_请欣赏数码歌曲

视频 2011-12-16

美股芯片股普遍上涨,费城半导体指数涨1.29%

LPC2141_LPC2142_LPC2144_LPC2146_LPC2148 arm7芯片

赛灵思隆重推出Zynq-7000

视频 2011-12-16

三星 SF4X 工艺获 IP 生态支持:Blue Cheetah 流片 D2D 互联 PHY

规模或达5000亿!特朗普揭幕“星际之门”AI基建计划

基于Nios在液晶屏和触摸屏显示实验

2025-01-22

苹果盘中跌超4%,市值被英伟达超越,华尔街多家机构降级或降目标价

rc license ?

gem2000 2003-05-07

苹果升级iPhone 16视觉智能:提取海报日期变日历、识别动植物

ADI电源解决方案:引领高效、紧凑、智能化的未来

国产AI芯片第一股:寒武纪遭前CTO梁军起诉索赔42.9亿元股权激励

ceajin_继电器滴答时钟

视频 2011-12-16

M41T0 串行实时时钟

allan0403_点阵测试、点阵倒计时、花样流水灯

视频 2011-12-16

MAX1304–MAX1306_MAX1308–MAX1310_MAX1312–MAX1314

exiao_流水灯

视频 2011-12-16

NIOS II系统入门实验

M45026_7_8 遥控编码器

更多 培训课堂
更多 焦点
更多 视频

技术专区