xzy610030

一起探讨,一起进步,一起分享!

zedboard--运行在demo系统下的globalmem驱动(十九)

0
阅读(1861)

1:首先在ubuntu12.04下运行成功globalmem驱动

详情参考ubuntu12.04编译globalmem驱动链接:http://blog.csdn.net/xzyiverson/article/details/12844157

2如果想编译在zedboard上运行的驱动,拷贝上面的globalmem.c和Makefile(资源里面有),必须修改makefile,内核的目录要修改,make就行了。用U盘拷贝到系统下(过程可以参考zedboard--运行在demo系统上的helloworld驱动(十八)

3运行结果



可以看出驱动程序运行成功了。

4分析mknod命令,我看了源程序是自动创建设备节点的。

mknod用于创建设备文件,该文件用于在用户程序中打开,设备文件和设备驱动程序时通过设备号连接在一起的

insmod globalmem.ko 加载模块

lsmod 查看(这个时候还没有创建设备节点文件)

cat /proc/devices 查看主设备号(254)

mknod /dev/globalmem C 254 0 创建/dev/globalmem设备节点

也可以自动创建

/* 自动创建设备节点 */
globalmem_class = class_create(THIS_MODULE, "globalmem_sys_class");
if (IS_ERR(globalmem_class))
return PTR_ERR(globalmem_class);

globalmem_class_dev = device_create(globalmem_class, NULL, MKDEV(globalmem_major, 0), NULL, "globalmem_dev");
if (unlikely(IS_ERR(globalmem_class_dev)))
return PTR_ERR(globalmem_class_dev);

Baidu
map