"); //-->
现在学嵌入式没了方向。真想有个师傅给指点指点。
学着网的前辈们,我也试着做做这个是实验,并记录我的过程与问题。
实验的环境:radhat9.0
实验代码:hello.c
/******************* hello.c *************/
#define MODULE
#include<linux/module.h>
int init_module(void)
{
printk("<1>Hello,World\n");
return 0;
}
void clean_module(void)
{
printk("<1>Googbye Kernel\n");
}
/**************** hello.c end ******************/
编译:#gcc -c hello.c
加载模块:#insmod ./hello.o
./hello.o: kernel-module version ./hello.o
./hello.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-8.
为什么不能加载?错误提示指出内核版本不匹配。
解决方法:重新编译并加入参数 -I /usr/src/linux-2.4/include
编译:#gcc -c -I /usr/src/linux-2.4/include hello.c
加载模块:#insmod ./hello.o
Warning: loading ./hello.o will taint kernel: no license
See http://www.tux.org/lkml/#export-tainted for information about tainted modules
Module hello loaded ,with warnings
为什么没有显示 Hello World?这是因为这个Hello World是内核输出的一般显示在/var/log/messages这个文件里面。
我们现在去看看这个文件(/var/log/messages),在这个文件的最后一行显示
May 18 17:38:39 localhost kernel: Hello World
我们去看看是不是已经加载到内核中
#cat /proc/modules|grep hello
hello 748 0(unused)
这说明我们的内核模块已经加载上了。但为什么没有在终端上显示?我不知道,等我以后再解决,如果你知道请给我说说,我是给新手,需要你的指点。
现在我们在把这个模块给卸载了。
#rmmod hello
这里没有任何的提示,我们在去查看是不是已经卸载了。
#cat /proc/modules|grep hello
没有找到说明已经卸载了。
我上面的操作都是在X windows,现在我转入字符界面(Ctrl+Alt+F1)。
如果是在虚拟机上做这个实验。那么在进入字符界面时有个技巧,先按下Ctrl+F1,然后在按Alt。不然没法进入(原因是当我们同时按下Ctrl+Alt时,就回到了XP)。
在字符界面下我们在加载这个内核模块。
#insmod ./hello.o
Warning: loading ./hello.o will taint kernel: no license
See http://www.tux.org/lkml/#export-tainted for information about tainted modules
<1>Hello,World
Module hello loaded ,with warnings
卸载模块:
#rmmod hello
<1>Googbye Kernel
这就我的实验记录。在这个记录里有些是我后来找到问题的解答后加进去的,所以可能点乱。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
一种CATV放大器用开关电源电路
讨论--大家比较下三星24XX和intel pxa2XX?
闪迪推出闪迪ELE™ 移动固态硬盘,焕新移动生活时代便携存储体验
▁▂▃▄▅▆科技类杂志为您晋升职称发表论文▆▅▄▃▂▁
了解可重构的电动汽车电池组
三菱FX系列PLC教程 46 —— FX系列的字左移指令
一种大功率高稳定度的稳流电源
电源监控器控制电路:第 2 部分
原创 <黑龙江科技信息>杂志发表晋级,毕业论文
▁▂▃▄▅▆科技类杂志为您晋升职称发表论文▆▅▄▃▂▁
如何产生负阻抗,它有什么好处?
工程师:不要回避AI,学会使用它
硅光电池组成的光电跟踪电路
三菱FX系列PLC教程 44 —— FX系列的循环左移指令
一种基于正弦脉宽调制技术的交流电源设计方法
三菱FX系列PLC教程 45 —— FX系列的字右移指令
直流(HID灯)35W-150W点火电路图
用“165V”驱动版做一千瓦电源
一款性价比较高的镍镉电池充电器
一种200kHz200W环保型开关电源
跟踪稳压电路
用钼缩放内存
讨论--大家比较下三星24XX和intel pxa2XX?
用瞬时频率表示PM和FM信号
三菱FX系列PLC教程 47 —— FX系列的数据处理指令
2024业绩超目标、2025拿战略大奖:这家平台靠什么征服爱普生?
复杂半导体生态系统中的相关性和共性分析
三菱FX系列PLC教程 43 —— FX系列的循环右移指令
汽车大灯-HID灯光点火器
传感器专家谈论数据采集、物联网、可穿戴设备和人工智能