• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






luckdog0623

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  02-3内核驱动进阶班

 
8-1 mmap设备方法
摘要:1、mmap函数原型 void *mmap(void *addr, size_t len, int prot, int flag, int fd, offset_t offset)作用:(1)内存映射函数mmap,负责把文件内容映射到进程的虚拟地址空间。这样做的目的就是减少read和write操作。 阅读全文
posted @ 2022-07-17 11:45 六月下大雨 阅读(99) 评论(0) 推荐(0)
7-5 自动创建设备文件
摘要:1、在之前的字符设备驱动程序过程中,每次都需要直接手动创建字符设备例如:mknod /dev/char0 c 253 0 2、我去还有内核函数自动创建(2.4b版本存在)devfd_register(devfd_handle_t dir, const char *name, unsigned int 阅读全文
posted @ 2022-07-17 01:12 六月下大雨 阅读(70) 评论(0) 推荐(0)
1-5 ARM汇编指令详解
摘要:ARM汇编指令指令集 ARM伪指令 C与ARM汇编混合编程 1、跳转指令 arm一共有两种方法实现程序的跳转: (1)直接往PC寄存器写值 mov LR,PC (2)跳转指令 B:跳转指令,不返回 BL:带返回的跳转指令 BLX:带返回和状态切换的跳转指令 BX:带状态切换的跳转指令 (2.1) B 阅读全文
posted @ 2022-07-14 23:38 六月下大雨 阅读(952) 评论(0) 推荐(0)
7-1 ioctl设备控制
摘要:1、设备ioctl2、内核等待队列3、阻塞型字符设备4、poll设备操作5、自动创建设备文件 1、设备ioctl 作用:个人认为就是用来传递参数和命令到内核驱动,内核驱动程序接收到这个命令之后进行控制设备。用户态函数原型:int ioctl(int fd, unsigned long cmd, .. 阅读全文
posted @ 2022-07-10 23:22 六月下大雨 阅读(94) 评论(0) 推荐(0)
7-4 poll设备方法 7-5自动创建设备文件
摘要:7-4 select系统调用 该系统调用用于多路监控,当没有一个文件满足要求时2,select将阻塞调用进程。int select(int maxfd, fd_set *readfds, fd_set*writefds, fd_set* exceptfds, const struct timeval 阅读全文
posted @ 2022-07-10 23:18 六月下大雨 阅读(41) 评论(0) 推荐(0)
7-2 内核等待队列 7-3阻塞型字符设备驱动
摘要:7-1、设备ioctl控制 7-2、内核等待队列 7-3、阻塞型字符设备驱动 7-4、poll设备操作 7-5、自动创建设备文件 7-2、内核等待队列 在linux中,可以使用等待队列来实现进程的阻塞睡眠,可以把队列看做是保存容器中,阻塞进程形成一个队列。唤醒是从队列中取出来。 1、创建一个队列: 阅读全文
posted @ 2022-07-09 15:43 六月下大雨 阅读(54) 评论(0) 推荐(0)