
linux 内核
TS1130
这个作者很懒,什么都没留下…
展开
-
centos7升级gcc版本
安装 devtoolsetyum install devtoolset-7-gcc.x86_64 devtoolset-7-gcc-c++.x86_64切换到devtoolset-gccsource /opt/rh/devtoolset-7/enable版本查看gcc -v注:此方法只能临时有效,重启后失效需要重新切换,可将切换命令添加到centos开机启动方法:修改/etc/rc.d/rc.local,在末行添加切换命令参考:gcc版本升级https://www.cnblogs.原创 2021-11-17 17:43:12 · 477 阅读 · 0 评论 -
linux 内核 - ioctl 函数
用于字符设备用户空间与内核空间消息的传递。ioctl 是设备驱动程序中设备控制接口函数,一个字符设备驱动通常会实现设备打开、关闭、读、写等功能_IO: 定义不带参数的 ioctl 命令_IOW: 定义带写参数的 ioctl 命令(copy_from_user)_IOR: 定义带读参数的ioctl命令(copy_to_user)_IOWR: 定义带读写参数的 ioctl 命令使用该函数一般需要3块:包含 ioctl 命令及相关宏定义,可以理解为一份 “协原创 2020-10-20 16:58:21 · 303 阅读 · 0 评论 -
linux 内核 module_init 机制
linux moudle并不仅仅用于支持驱动的加载和卸载。模块代码有两种运行方式,一是静态编译连接进内核,在系统启动过程中进行初始化;一是编译成可动态加载的module,通过insmod动态加载重定位到内核。这两种方式可以在Makefile中通过obj -y 或 obj -m 选项选择。一旦可动态加载的模块目标(.ko)被加载重定位到内核,其作用域和静态链接的代码是完全等价的。这种运行方式有如下优点:1. 可根据系统需要动态加载模块,以扩充内核功能。不需要时将其卸载,以释放内存空间。2. 当需原创 2020-07-29 17:26:46 · 337 阅读 · 0 评论