缺少内核配置文件.config
解决:cp config_mini2440_td35 .config
1.make 编译一下 生成timer.ko文件
2. cp timer.ko ~/nfs/rootfs
为什么要拷贝到rootfs中,这是挂载的根文件系统 ,使用nfs作为根文件系统
实际上内核启动的时候并不知道根文件系统在什么地方,我们是通过uboot给kernel传参来告知kernel根文件系统在什么位置。通过设置uboot环境变量bootargs来设置传参。
---------------------------------------------------------------------------------------------------------------------------------
内核定时器
#include <linux/init.h>
91 #include <linux/timer.h>
92 #include <linux/module.h>
93
94 static struct timer_list timer;
{> 95
(> 96 static void time_out(unsigned long n) //产生中断后 进入到此函数
97 { //n 到时间的jiffies
98 printk("%lu\n",n);
0> 99 timer.data = jiffies; // 不能注释 否则回调函数数值不变
100 // timer.expires = jiffies + 3 * HZ;
1>101 mod_timer(&timer,jiffies + 3 * HZ); //循环打印时间 系统提供的函数 是注释处的功能实现
}>102 //1HZ =200 打印数值差为600
103 }
104
105 static int __init timer_init(void)
106 {
107 init_timer(&timer);
^>108 timer.function = time_out; //回调函数,定时期满需要执行的代码
109 timer.expires = jiffies + 3 * HZ; //expires 到 当前时间+3秒 产生中断
110 timer.data = jiffies; //data 从此时间起
111 add_timer(&timer);
112 return 0;
113 }
114
115 static void __exit timer_exit(void)
116 {
117 del_timer(&timer);
118 }
119
120
121 module_init(timer_init);
122 module_exit(timer_exit);
123
124 MODULE_LICENSE("GPL");
---------------------------------------------------------------------------------------------------------------------------------
ds18b20温度传感器