从Dying gasp功能看Linux的响应速度
2017-09-13 16:19
363 查看
前一阵子在做dying gasp功能测试,过程中恰好测试到了Linux的响应速度,特来分享一下。
这里的dying gasp是用GPIO(input mode)实现的,在DC掉电的时候,此GPIO会立即被拉低, 而系统的3.3V电压还能维持10ms左右时间,这样在这个时间里便可以做些通知功能告诉外面的设备。
GPIO信号侦测用interrupt方式实现,为了量测方便,在 中断服务程序(isr) 函数里面,对一个LED (gpio output) 进行拉高,用示波器量测发现,GPIO 拉低/LED 拉高之间的间隔只有 10us,这个数据好像还不错。这里面要经历:关中断、保护CPU寄存器、进入中断服务程序、执行LED操作。
一般对类似button功能的GPIO信号侦测,如果没有特别时间要求,会在中断服务程序里面再调用一个schedule_work来实现,这需要任务切换的,一般一个任务切换都需要几十个ms,所以在dying gasp的需求里面是不能满足的。
之后,我在中断服务程序里面,又加了一个发包功能,通过ethernet发出一个数据包,也可以正常工作。
这里的dying gasp是用GPIO(input mode)实现的,在DC掉电的时候,此GPIO会立即被拉低, 而系统的3.3V电压还能维持10ms左右时间,这样在这个时间里便可以做些通知功能告诉外面的设备。
GPIO信号侦测用interrupt方式实现,为了量测方便,在 中断服务程序(isr) 函数里面,对一个LED (gpio output) 进行拉高,用示波器量测发现,GPIO 拉低/LED 拉高之间的间隔只有 10us,这个数据好像还不错。这里面要经历:关中断、保护CPU寄存器、进入中断服务程序、执行LED操作。
一般对类似button功能的GPIO信号侦测,如果没有特别时间要求,会在中断服务程序里面再调用一个schedule_work来实现,这需要任务切换的,一般一个任务切换都需要几十个ms,所以在dying gasp的需求里面是不能满足的。
之后,我在中断服务程序里面,又加了一个发包功能,通过ethernet发出一个数据包,也可以正常工作。
相关文章推荐
- Linux中通过缓存DNS的解析来提高上网的响应速度!
- Linux中通过缓存DNS的解析来提高上网的响应速度!
- Linux中通过缓存DNS的解析来提高上网的响应速度!
- Linux中通过缓存DNS的解析来提高上网的响应速度!
- 在linux中用C语言实现ping命令的部分功能
- PSPP:顶替SPSS常用功能的优秀软件, Linux 下的经济学用软件
- linux驱动例3--计时器,带阻塞功能,中断分段
- Linux下vsFTP配置全方案(限制用户/端口/速度/空间)
- /var/log目录下的20个Linux日志文件功能详解
- Linux局域网登陆响应时间过长
- linux多核处理下提高编译速度 make -j
- linux 计划任务功能crontab
- 在linux上用dd命令实现ghost功能
- linux下使用系统调用编程实现dir命令功能
- LINUX各目录功能介绍及路径写法
- 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南五——MiniGUI 1.1.0 版本引入的新 GDI 功能和函数
- Linux开启ip包转发功能(转)
- LINUX 下安装摄像头驱动并测试其功能的过程
- 在linux上用dd命令实现ghost功能
- Linux下读写速度测试