2018.9.26 随笔

碰到的问题:

  1.在编写字符驱动框架时:

    在生成总设备号时,dev(dev_t类型) = MKDEV(ma,mi);(其中ma=3,mi=0)  将这个式子放到全局作用域中,make时会出现错误,没有办法生成.ko文件。但是放到函数中,就可以了,这个是什么原因?

    答: 当时定义的  dev是全局变量,在函数体外定义的。这里的变量仅能够进行赋值,但是不能进行加减乘除、移位等运算。(仅可用作声明和初始化)

    将主设备号设置为0 时,insmod  模块.ko     在/sys/class/cedv_test/cdev_test0 中,cat uevent   什么都没有显示,这是什么原因?

        主设备号应该不能是0.详情,见追函数   register_chrdev_region(...);

原文地址:https://www.cnblogs.com/jiaan/p/9704730.html