- 博客(11)
- 收藏
- 关注
原创 应用层和内核层数据交互
在写相关代码时,需要注意:设备节点是应用层和驱动通信的桥梁。通过insmod挂载后lsmod可以看到相关的驱动,在/dev/目录下看到的是驱动所生成的节点,所以数据的交互就是内核和应用层对这个节点的数据交互。这个函数用于从用户空间复制数据到内核空间。函数用于从内核空间复制数据到用户空间。因此具有打开,读写,关闭的功能。函数位于 Linux 内核的。(2)对设备节点进行读写操作。1:linux一切皆文件!按照之前杂项设备的博文,(1)打开对应的设备节点。在kernel目录下,
2023-08-28 17:39:41 219 1
原创 写一个简单的杂项设备
/linux内核链表结构,将设备加到设备列表。//文件操作集,包含对设备的读写打开关闭。这在模块卸载时特别重要,因为它确保在卸载模块时,内核可以识别出哪个模块拥有特定的文件操作,并在安全地卸载模块之前确保所有对该文件操作的引用都已释放。在misc_init中先注册杂项设备:int ret = misc_register(&demo);.minor = MISC_DYNAMIC_MINOR, //随机分配次设备号。fops操作集的结构体在/include/linux/fs.h下有定义。
2023-08-08 11:37:05 124
原创 编译简单驱动helloworld
3:注意我们使用的是arm架构,需要在内核源码路径下使用 make menuconfig看一下是否是arm的系统,如果不是,需要用export指定一下。Makefile文件包含了.c生成的中间文件,以及指定内核源码代码所在的目录。我使用的是nxp的imx8mp的开发板,开发板型号并不影响驱动的编写。5:将.ko文件移到你使用的开发板上,用insmod挂载就可以挂载上了。2:编写完helloworld之后,还需要有Makefile文件。4:make之后会生成所需要的.ko文件。根据你使用的来配置。
2023-07-12 11:14:50 151 2
原创 linux下共享文件开启找不到
解决办法:sudo apt-get install open-vm-tools。但是在/mnt/hgfs下却找不到共享文件夹。可以sudo su进入root用户运行此命令。在linux下开启文件夹共享。如果提示用户没有权限,
2023-03-29 10:50:09 1025
原创 linux搭建服务器
查看ssh服务状态: sudo service ssh status。启动SSH服务 : sudo service ssh start。安装SSH: sudo apt-get install ssh。关闭SSH服务:sudo service ssh stop。如果要查看SSH服务的状态,可以用以下命令。
2023-03-24 14:56:53 100
原创 Linux文件系统目录结构
Linux设备驱动模型中的总线,驱动和设备都可以在sysfs文件系统中找到对应的节点,当内核检测到系统中出现了新设备后,内核会在sysfs文件系统中为该新设备生产一项新的记录。这个目录一般是用于存放挂载存储设备的挂载目录,可以参考/etc/fstab的定义,有时可以让系统开机自动挂载文件系统,并把挂载点放在这里。sbin目录下包含系统命令,如modprobe,ifconfig等,大多是涉及系统管理的命令,这个目录中的文件都是可执行的。比如 ls,cp,touch等,这个目录的文件都是可执行的。
2023-03-21 09:05:14 145 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人