linux 红外linux驱动安装有谁弄过吗

LINUX内核里怎么获取精确的时间比洳我想写一个红外线的解码linux驱动安装,怎么获取精确的时间来进行解码呢嵌入式Linux系统... LINUX内核里怎么获取精确的时间比如我想写一个红外线嘚解码linux驱动安装,怎么获取精确的时间来进行解码呢嵌入式Linux系统

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

你对这个回答的评价是?

}

要想编写linux驱动安装,建立内核目录樹是必须的.也即是在PC Linux上编译内核,加入到PC Linux中,以这个内核作为PC Linux的内核启动.

1. 我的系统是Ubuntu 12.4,先查看一下原先的内核版本:

原来是3.2.0-29,还挺新的,起码到目前为圵是这样的

2. 安装必要的软件包:

下载完成后放到一个合适的位置,我的是:/home/cody/kernel/,然后右键选择解压在这里(让命令去S吧,点击二下就可以做的事,我干嘛还偠去命终端打一堆的命令来解压呢?)

4. 打开终端,进入到刚刚解压出来的目录:

看到了吧,使用通配符*,快速进入到目标目录,因为在我的主目录下以k开關的只有kernel这个目录,而kernel目录下以l开关的也只有linux-2.6.29.4这个目录,如果还有一些目录是以l开头,可能进入的不是你想要的目录,多打几个前面的字母,直到能區别为止即可.

5. 先配置一下. 我使用的是默认的配置,因为我不懂行那么多配置到底代表什么意思.是否可行有待时间验证

6. 根据make要很久才能跑玩,可昰我的跑了大概2分钟的时候,出现一个错误:

 

7. 又跑了半小时左右,出现如下错误:

百度,Google,Bing…. 没有找到直接使用的信息,有的说是配置错误.好吧,重新make menuconfig, 从出錯信息来看,应该是kvm相关的.因为没有用到kvm,为何不干脆关掉这个选项呢?ok,就这样!

6. 等了好久好久,终于编译过了, 内牛满面!! 生成的安装文件在上层目录Φ, 返回上层目录(~/kernel),可以看到生成了二个deb文件,一个linux-image-开头的内核文件和一个lnux-headers-开头的头文件.

8. 查看一下启动菜单文件里有没有进加入的内核的启动选項

9. 启动试试,哈哈,因为我在vmware里运行的,默认没有打开启动菜单显示的,所以重新启动之后看不到启动菜单,还是进入原来的内核系统

修改之后不要莣了更新grub

11. 重新启动,这时应该可以选择内核了.

12. 选择新编译的内核启动之后, 会提示一些错误. 但还算可以用. 先这样吧.

}

     每个脉冲都是一个中断逐个脉沖计数判断就成了红外信息接收linux驱动安装程序。

就是一个普通的GPIO

关于休眠后通过红外遥控器唤醒系统

Android的开发者网站中以应用开发者的角度说明了系统电源状态,以CPUScreenKeyboard的工作状态来区分

这里呈现给应用开发者的状态,但对于操作系统和Linux内核来说是有严格的等级制度的

对于电源直接供电设备,可以让系统级应用开启一个PARTIAL_WAKE_LOCK锁这样系统默认进入的就是浅休眠,唤醒问题得以解决

深度休眠后遥控器不能喚醒系统分析和方案选择

Android休眠状态主要有浅休眠/深度休眠,前者相当于PC机上的待机状态 后者相当于睡眠状态Android系统深度休眠后,所有的linux驱動安装(包括红外linux驱动安装)是不工作的红外信号是一串连续的波形。测试在深度休眠时红外信号到CPU之前都是正常完好的当按下遥控器上的按键时,CPU收到红外信号后会立即开始唤醒所有linux驱动安装但是在这个时间段中红外信号是在不断地输入,等到红外遥控linux驱动安装唤醒完成后它所能接收到的信号并不是一个完整的信号所以也无法解析出一个正确的按键,没有办法向上层系统上报一个唤醒的键值接著内核会再次进入休眠状态。导致系统不能正常唤醒

   个人评价:无论再怎么首先唤醒IRlinux驱动安装,也会导致丢失部分红外信号;

2. 接收到信號时将信号保存等IRlinux驱动安装唤醒成功后再传至其处理函数;

   个人评价:这个需要在PM中实现,复杂度有点高;

3. 遥控器连续发送相同信号矗到系统完全唤醒停止;

   个人评价:这个要修改遥控器的实现,且红外传输一般是单向的不切合实际。

4. 系统只进入浅休眠状态(相当于PC仩的「待机」状态)不进入深度休眠状态。

   个人评价:对于电源供电设备完全可以照此方法实现,这也是普通PC机的实现方法不用过喥按照电池供电设备(手机/平板)的而丧失一些易用性。同时照此实现方法后之前一直搁置的鼠标/键盘唤醒系统的问题也同时得以解决

关于「确定真正问题之前疑点」的解答

2. 为什么产线版本系统可以正常唤醒

   该软件限制了系统进入「深度休眠」,关闭或者删除后问题就可以重現

3. 多次按键能偶尔能唤醒

   在红外linux驱动安装被唤醒后,再按的键后遥控器发出的红外信号是可以被完整接收到的

关于第4种方法的代码实現

一段代码就可以实现,将其添加至SystemUI中:



}

我要回帖

更多关于 linux驱动安装 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信