LifeYx

  wellbet吉祥坊官网 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理
  77 Posts :: 0 Stories :: 6 Comments :: 0 Trackbacks

公告

2017年9月21日 #
摘要: 版权声明:本文为博主原创文章,未经博主允许不得转载。 本节目标: 学习platform机制,如何实现驱动层分离 1.先来看看我们之前分析输入子系统的分层概念,如下图所示: 如上图所示,分层就是将一个复杂的工作分成了4层, 分而做之,降低难度,每一层专注于自己的事情, 系统只将其中的核心层和事件处理层阅读全文
posted @ 2017-09-21 16:42 LifeYx 阅读(95) 评论(1) 编辑

2017年9月19日 #
摘要: 版权声明:本文为博主原创文章,未经博主允许不得转载。 在上一节分析输入子系统内的intput_handler软件处理部分后,接下来我们开始写input_dev驱动 本节目标: 实现键盘驱动,让开发板的4个按键代表键盘中的L、S、空格键、回车键 1.先来介绍以下几个结构体使用和函数,下面代码中会用到 阅读全文
posted @ 2017-09-19 20:16 LifeYx 阅读(31) 评论(0) 编辑

摘要: hexdump: 查看文件的内容,比如二进制文件中包含的某些字符串,通常用来调试驱动用 1.调试 键盘驱动 讲解 当我们insmod挂载了键盘驱动后,找到键盘驱动被放在event1设备里, 此时没有按键按下,所以event1里面的数据是没有的,那么数据又是从来哪里来? 通过键盘驱动的read函数,若阅读全文
posted @ 2017-09-19 19:15 LifeYx 阅读(5) 评论(0) 编辑

摘要: 对于做驱动经常会使用exec来试验驱动,通过exec将-sh进程下的描述符指向我们的驱动,来实现调试 -sh进程常用描述符号: 0:标准输入 1:标准输出 2:错误信息 5:中断服务 exec命令使用: 实例: 1. 挂载开发板的键盘驱动(tty1) 2.挂载按键中断服务函数 如下图: 3.释放按键阅读全文
posted @ 2017-09-19 18:08 LifeYx 阅读(9) 评论(0) 编辑

摘要: 版权声明:本文为博主原创文章,未经博主允许不得转载。 描述: 晓萌有一个N×N的的棋盘,中间有N*N个正方形的1×1的格子,他随机在棋盘上撒上一些棋子(假设全部正好落在各个格子里)。他希望知道,当前的棋盘上有多少个不包含棋子的,由至少四个1×1的格子组成的正方形(正方形之间可以有重叠的部分)。 输入阅读全文
posted @ 2017-09-19 09:46 LifeYx 阅读(48) 评论(0) 编辑

2017年9月18日 #
摘要: 给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳跃的最大长度。 你的目标是到达最后一个下标,并且使用最少的跳跃次数。 例如: A=[2,3,1,1,4],到达最后一个下标的最少跳跃次数为 2。(先跳跃 1 步,从下标 0 到 1,然后跳跃 3 步,到达阅读全文
posted @ 2017-09-18 23:59 LifeYx 阅读(154) 评论(0) 编辑

摘要: 版权声明:本文为博主原创文章,转载请标注出处: http://www.cnblogs.com/lifexy/p/7542989.html 在此节之前,我们学的都是简单的字符驱动,涉及的内容有字符驱动的框架、自动创建设备节点、linux中断、poll机制、异步通知、同步互斥/非阻塞、定时器去抖动。 其阅读全文
posted @ 2017-09-18 14:43 LifeYx 阅读(275) 评论(0) 编辑

2017年9月14日 #
摘要: 本节目标: 通过定时器来防止按键抖动,测试程序是使用上节的:阻塞操作的测试程序 1.如下图所示,在没有定时器防抖情况下,按键没有稳定之前会多次进入中断,使得输出多个相同信息出来 2.按键波形图,如下所示: 3.如何消去按键抖动 通过定时器延时10ms,然后每当按键进入中断时就更新定时器延时10ms,阅读全文
posted @ 2017-09-14 18:29 LifeYx 阅读(66) 评论(0) 编辑

摘要: 本节目标: 通过DMA,无需中断,接收不定时长的串口数据 描述:当在串口多数据传输下,CPU会产生多次中断来接收串口数据,这样会大大地降低CPU效率,同时又需要CPU去做其它更重要的事情,我们应该如何来优化?比如四轴飞行器,当在不停地获取姿态控制方向时,又要去接收串口数据.答:使用DMA,无需CPU阅读全文
posted @ 2017-09-14 00:07 LifeYx 阅读(185) 评论(4) 编辑

2017年9月13日 #
摘要: 本节目标: 当设备被一个程序打开时,存在被另一个程序打开的可能,如果两个或多个程序同时对设备文件进行写操作,这就是说我们的设备资源同时被多个进程使用,对共享资源(硬件资源、和软件上的全局变量、静态变量等)的访问则很容易导致竞态。 显然这不是我们想要的,所以本节引入互斥的概念:实现同一时刻,只能一个应阅读全文
posted @ 2017-09-13 16:07 LifeYx 阅读(218) 评论(0) 编辑

Copyright @ LifeYx
Powered by: .Text and ASP.NET
Theme by: .NET Monster