- [root@hfrk24x0 /tmp]# mknod /dev/memdev0 c 203 0
-
[root@hfrk24x0 /tmp]# ls -l /dev/memdev0
-
crw-r--r-- 1 root root 203, 0 Jan 1 08:45 /dev/memdev0
今天做了memdev这个实验,实验代码参考国嵌源码。实验中遇到很多问题,现一一记录如下:
1,NFS服务器安装出现各种问题,主要原因如下:
A,主机防火墙没有关
B,主机IP未设置(此时开发板PING主机,可能PING不通)
2,在开发板内核上加载memdev.ko模块时提示:version magic '2.6.29 FriendArm ARMv4' should be '2.6.28 ....'
出现这个问题的原因是:板上的kernel版本和module的版本不一致。解决方法:改在一致就好了。可以在Makefile里改路径。
3,加载的时候提示:insmod:cannot insert 'memdev.ko':Device or Resource busy.出现这种情况是因为静态分配的主设备号已经被别的设备使用了。这里可以修改memdev.h中的memdev_major 这个宏定义,我改为203后,再重新加载就OK了。
4,cat /proc/devices查看设备名,设备号。本实验的设备号为203,设备名为memdev.
- [root@hfrk24x0 /tmp]# cat /proc/devices
-
Character devices:
-
1 mem
-
2 pty
-
3 ttyp
-
4 /dev/vc/0
-
4 tty
-
5 /dev/tty
-
5 /dev/console
-
5 /dev/ptmx
-
7 vcs
-
10 misc
-
13 input
-
14 sound
-
21 sg
-
29 fb
-
81 video4linux
-
89 i2c
-
90 mtd
-
116 alsa
-
128 ptm
-
136 pts
-
153 spi
-
180 usb
-
188 ttyUSB
-
189 usb_device
-
203 memdev
-
204 s3c2410_serial
-
251 hidraw
-
252 ttySDIO
-
253 usb_endpoint
-
254 rtc
-
-
Block devices:
-
1 ramdisk
-
259 blkext
-
7 loop
-
8 sd
-
31 mtdblock
-
65 sd
-
66 sd
-
67 sd
-
68………………
5,手工创建设备节点:
- [root@hfrk24x0 /tmp]# mknod /dev/memdev0 c 203 0
-
[root@hfrk24x0 /tmp]# ls -l /dev/memdev0
-
crw-r--r-- 1 root root 203, 0 Jan 1 08:45 /dev/memdev0
6,测试
- [root@hfrk24x0 /tmp]# ./
-
./app-mem ./memdev.ko
-
[root@hfrk24x0 /tmp]# ./app-mem
-
BUF: Mem is char dev!
-
written 4096 bytes(s) from 0
-
BUF: Buf is NULL!read 4096 bytes(s) from 0
-
BUF: Mem is char dev!
7,卸载内核模块
- [root@hfrk24x0 /tmp]# rmmod memdev
-
rmmod: module 'memdev' not found
-
[root@hfrk24x0 /tmp]# lsmod
阅读(2184) | 评论(0) | 转发(3) |