日期:2014-05-16  浏览次数:20463 次

zedboard--运行在demo系统下的globalmem驱动

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