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);