㈠ 什么是上层驱动和下层驱动
Windows的设备驱动框架中的上层与下层模块
在Windows的设备驱动框架中,下层模块向上层模块提供一个数据结构指针。但是,上层模块并不直接从这个数据结构获取具体的函数指针,更不直接使用这些函数指针调用下层模块中的函数;而是通过一些由内核提供的函数下达“I/O请求包”即IRP,间接地调用下层模块提供的函数,要求其执行某种操作。这就好像是向内核下一个定单,定单中告诉内核要由哪一个下层模块执行何种操作。另一方面,对于建立了形式“堆叠”的设备驱动,上层模块在运行中通常也没有如何“找到”下层模块的问题,甚至根本就不必知道其下一层是什么模块或什么设备,模块之间已在建立形式堆叠的时候固定连接好了。此时上层模块所获得的是哪一个下层模块的指针,取决于同一个堆叠中各个模块的装载次序,实际上取决于系统的配置,而相关的配置信息则最终来自相关的.inf文件,这些信息保存在集中的数据库“注册表(Registry)”中。这样就为通过系统配置改变具体设备驱动堆叠的结构提供了更大的灵活性,主要体现在:
更容易在堆叠的下层实现“重定向”,即把上层模块嫁接到不同的下层模块上;
更容易在堆叠内部插入以“过滤驱动对象(FiDO)”为代表的“过滤模块”。
最后,设备驱动模块不是在真空中运行,需要得到内核的支持,需要由内核为其构筑起一个运行环境,这个环境的主体就是内核导出函数,此外还有一些全局的变量和数据结构。这就是Windows的“设备驱动开发包”DDK中所定义(更准确地说是“声明”)的函数和变量。
事物都是在发展的,Windows的设备驱动框架也不是一开始就这样,更不是永远这样。前面所讲的是为实现“即插即用”所必须要有的要素,主要就是模块的动态装载以及模块堆叠的形成。有了这些要素,包括即插即用在内的分层设备驱动就可以实现了,但是当然还可以有一些附加的要求。从Windows 98和Windows 2000开始,微软定义了一种(在当时是)新的设备驱动框架,称为WDM即“Windows设备驱动模型(Windows Driver Model)”。WDM要求设备驱动模块除满足PnP的需要外,还必须提供两方面的功能支持:
对于WMI的支持。WMI是“Windows管理手段(Windows Management Instrumentation)”的缩写。WMI与“简单网络管理规程”SNMP相似,要求每台Windows主机都能应“管理器(Manager)”的要求提供包括设备驱动在内的各种状态和统计信息。这些信息从哪儿来呢?对于设备驱动,当然得要由相应的设备驱动模块提供。
对于电源管理的支持。有些外设能耗不小,如果有一段较长的时间没有实际使用,就没有理由不将其转入某种“省电模式”。即使是能耗不大的外设,在节能成为一个环保问题的今天,也应该在不用时使其转入省电模式。这就是电源管理要达到的目的之一。所以,微软把支持电源管理列为WDM的要素之一。
总之,“老式”的设备驱动(在形式上)是不分层、不堆叠的;如果形式上分层并堆叠,在微软的术语中就称为“PnP设备驱动”。而WDM设备驱动,则是至少在形式上满足了上述两项附加条件的PnP设备驱动。对WMI的支持和电源管理的重要性当然不容低估,但是对于我们理解Windows的设备驱动框架却并非技术关键,所以后面的叙述将集中在框架的构成与实现,而忽略这两个方面。正因为这样,我们将称之为“Windows设备驱动框架”而不是“WDM”,以免混淆。
㈡ 涂鸦app如何添加电机驱动
涂鸦app添加电机驱动操作如下:
1、进入手机系统,找到涂鸦智能APP,点击涂鸦智能APP图标进入。
2、进入涂鸦智能APP,选择相应的方式进行账号的登录。
3、没有账号的,需要注册账号,再进行账号的登录。
4、登录涂鸦智能APP成功后,进入首页点击右上方的+号进入。
5、进入,找到上方的自动发现,点击自动发现进入。
6、打开设备网络接收器,搜索你的电机设备进行添加。
7、添加完毕回到首页,就可以查看你的设备已经添加完成。
㈢ Andoird移植到开发板上之后,应用程序 调用 底层驱动的问题!
做文件系统时,抬眼dev目录的权限改成可读写,或者用添加脚本。。。。
㈣ 单片机程序中的底层驱动程序和应用程序
驱动程序与硬件相关,编写驱动程序要非常了解硬件,同时给应用层提供API函数接口,应用层可以调用这些接口去访问硬件而不必了解硬件.
应用程序是根据实际应用去编写.
比如说你有一个应用是控制每天早上六点钟开灯.应用程序只负责在适当的时间做适当的事(到六点了,我要开灯了,按下按键);具体它不知道为什么按下键就能开灯,因为按下键后开灯的事情就是驱动程序完成了.
㈤ 怎么把手机系统里的软件移到手机U盘中啊,,,,,,
以腾讯手机管家为例,将系统里的软件移到手机U盘的步骤如下:
需要用到的工具:腾讯手机管家APP、手机。
1、将腾讯手机管家打开,选择【清理加速】
㈥ 什么是底层驱动,与操作系统有什么关系跟设备驱动(比如显卡)有什么关系
底层驱动是最基本的硬件功能驱动,简单的说底层驱动就像人体的经络血液,没有经络血液的话其他的精神系统就没有载体
最早的底层系统是用汇编语言做的,就是简单通过高低电平信号的把硬件功能实现,如让喇叭发出声音,让风扇转动,让液晶屏发光等等
操作系统是基于底层驱动而生成的,像最早的DOS系统就比较直观
而设备驱动是基于操作系统上的驱动,针对不同的操作系统有不同的驱动程序
这么说不知道你明不明白?
㈦ Android底层封装库如何提供给上层app调用
ko文件是驱动模块啊,你得用C/C++写一个读写该设备的、运行在用户空间的so库,然后再通过JNI来调用这个so里面的接口。
㈧ 安卓开发调用底层硬件
操作方法如下:
编译后安装该生成的apk即可使用该程序调用底层硬件驱动。大概整个过程就这样,上层app调用框架层的java接口,java接口通过jni调用硬件抽象层即可。
㈨ 安卓手机如何优化设置
一直以来安卓手机给人的感觉都是各种卡顿,尤其是开的程序比较多以后,和iPhone比较起来流畅度上会有不小的差距。实际上IPhone手机只是系统优化的很出色,对于安卓手机我们只要优化得当,也能有很流畅的用户体验。本文主要介绍的是从安卓系统优化、第三方软件优化以及设置优化几方面结合来改善提升安卓手机流畅度,下面一起来看看安卓手机用什么优化吧。
刷机重启抠电池
刷机是Android用户的一大乐趣,部分用户刷机是为了得到更好的易用性,比如小米的MIUI ROM,非常符合中国人的使用习惯,也有着足够丰富的个性化设定,是图省事的朋友刷机的好选择,不过对于追求高性能的朋友来说,MIUI的优化还有很大提升空间,人们纷纷选择了对于ROM优化更加出色的CyanogenMod作为刷机的第一选择。
CyanogenMod系列目前主打的ROM有CM 7.2和CM 9两个,CM 7.2基于Android 2.3.7,而CM 9则基于Android 4.0.4,其中CM 7.2已经基本成熟,完美支持的机型很多,是大部分机友刷机的第一选择,CM 9官方的ROM支持机型并不多,民间高手也都进行了各个机型的移植,官方支持的机型兼容性相当不错,而移植情况并不乐观。
CM系列ROM忠实于AOSP,在底层驱动方面做了很多努力,刷入之后就会感觉手机流畅了许多,同时也支持了更多的美化和手机自定义能力,比如我们可以对手机的震动回馈做细致的调整,包括按下震动的强度,抬起震动的强度等,让手机虚拟按键给我们更为真实的回馈,在CM ROM中,类似的设定非常多。
目前大部分的ROM都是使用CM进行定制的,还有一部分是对官方原版ROM进行修改,仅有少部分的ROM是修改的AOSP的源码,这些ROM指向都是谷歌Nexus系列的机型,比如GALAXY Nexus和Nexus S上的Codename和AOKP,就针对源码做了很多修改,让手机变得更流畅。
刷内核 效果好
仅仅刷手机的ROM是不够的,虽然多了很多自定义的功能,流畅度已经高于官方的ROM,但依旧有很大提升的空间,这时候我们就需要通过刷内核来进一步优化,刷内核所能带来的提升是相当明显的,但是对于刷内核大家还是要谨慎。
刷内核相比刷ROM,是一个很小的'工程,你的手机不必要Wipe,也就是说不用删除手机内部的数据,刷一下也就几分钟的功夫,所以刷内核的时候,大家完全可以多下几个内核,逐个进行测试,看看哪个内核更适合自己,就保留哪个内核。同时刷内核时我们要注意,内核需对应自己的手机版本,对应自己所刷的ROM,否则会造成手机无法启动的现象,如果遇到无法启动的现象,再刷其他可用内核就可以恢复。
大家会问了,说了这么半天,刷内核到底都有什么作用呢?首先就是超频,大部分内核会默认提供降压超频,并拥有多种超频策略,来保证超频的情况下更省电。其次,还提供更多调整,比如内存虚拟机的大小,颜色管理等等,甚至一个内核可以包括一些新的Linux的补丁,比如最新的Linux 3.3所集成的CPU频率补丁等等。
事实上,一般的第三方ROM已经修改了手机的内核,达到了更流畅的目的,但ROM的制作速度远远比不上内核的调整速度,有时候一个ROM适用的内核在一天之内可能多次更新,所以我们可以尝试不同的新内核,看看他们的超频是不是能给我们带来性能上质的提升,是不是能更省电,是不是能通过颜色调整让我们看到更棒的画面等等。
精简内置应用
我相信Android用户通过不断的更换ROM和刷内核已经在流畅度上有了质的飞跃了,如果这时候你的手机已经比iPhone更流畅、更省电,那么我们就可以收手了,如果你还不满意,我们还有其他的路可选,精简内置应用,就是一个可以大幅度提升流畅度的方法。像Google的服务就是大部分人精简的对象。 Android系统和iOS与Windows Phone不同,这个系统拥有真正的后台运行能力,虽然iOS在推送方面做得很好,弥补了后台方面的不足,但是仍然无法与Android的真后台相比,但是由于Android的程序优先级并不像iOS和Windows Phone那样,为了流畅让当前界面拥有最高优先级,所以我们就要把Android手机后台不必要的进程关掉,以获得最佳的性能。
那么精简内部应用就是很好的选择,因为在我们使用过程中,有许多Android内部应用程序是不必要的,而这些程序会在我们不用的时候悄悄的后台打开,对我们的使用造成影响。在精简时,我们需要用到root文件管理器,同时需要保证手机已经开启root权限。进入system/app就可以进行精简了,我们需要把root管理器的当前权限设置成读写,并且修改需要删除的软件权限,打开软件执行操作的权限,就可以对删除内置软件了,在精简前,大家需要对软件进行备份,或者备份整个ROM,如果你精简掉系统程序,可能会造成无法开机的情况,重刷ROM可以解决,所以大家最好找到该机型、该ROM的精简列表,以避免重复劳动。
其他优化
经过以上多方面的优化,我相信大家都已经得到了一个较为干净、运行流畅的Android了,不过在很多程序中,我们还是会遇到卡顿的情况,对于一个极端追求流畅度的玩家来说,这样的情况是绝对不允许发生的,因为我们还有进一步优化的空间。
刷后设置
常见设置就忽略了,下面是冷门但很有用的设置。设置完记得重启手机,速度飞快。
CM设置--显示设置--所有勾去掉
CM设置--界面--越界设置--越界效果--None
越界程度--Extra Light
CM设置--性能--压缩缓存--禁止
CM设置--性能--虚拟内存--32m
刷机后的优化设置:
1、设置--显示--亮度--自动调节(关闭),自动旋转屏幕(关闭),动画(不显示窗口动画)
2、位置和安全设置--使用GPS卫星(关闭);
3、应用程序设置--未知来源(√)
4、账户与同步设置--背景数据(关闭)
5、日期和时间设置--选择时区--GMT+08:00,中国标准时间
6、CM设置--应用程序--允许移动应用程序(√)
显示--屏幕关闭动画(关闭)
输入--振动反馈微调--振动反馈(关闭)
界面--状态栏调整--电量百分比(√)
越界效果--None
界面 - 通知栏电源控件--控制按钮--切换GPS(√),切换Wifi(√),切换亮度(√),切换声音(√),切换移动数据(√),切换蓝牙(√),切换飞行模式(√)
(感谢weiweiming的总结)
“设置”——“关于手机”——“自动系统更新”(去掉那个“勾”)
关闭相机拍照声音
用R.E管理器进/system/media/audio/ui目录,把camera_click.ogg这个文件改名或者直接删除
2、设置优化
开启性能模式
很多手机默认是标准模式甚至是省电模式,这对性能是有不少影响的,因此建议不是有特别需求还是调至性能模式(位置:系统设置,因不同手机而异)。
#FormatImgID_0#
关闭动画特效
Android 4.1增加了动画程序时长调整,我试过当关闭了动画以后会感觉反应迅速了很多(位置:设置→开发人员选项)。
#FormatImgID_1#
第三方软件更换启动器
实际上很多Android卡顿的罪魁祸首就是系统的启动器,现在一些品牌的手机启动器做得越来越炫丽,也越来越复杂,当然代价就是占用RAM和ROM更多,如果不是对这方面特别有要求,完全可以替换一些第三方的启动器。
卸载系统自带程序
现在官方系统自带很多程序,而且不能卸载,但是这些软件往往都会开机自启动,而且对系统流畅度影响比较大,但是要删除这些自带软件需要获取root权限。通用一些第三方ROM也会有自带垃圾软件问题,而大部分第三方ROM都自带root,所以这个相对好解决。
管理开机自启动项
减少开机自启动的软件,除了能节省电量之外,当然还能提升手机的反应速度,当然只要关闭一些不需要自启动的第三方软件就可以达到目的了。
㈩ 关于“底层驱动”的理解问题
一本理解为直接操作硬件的内核模块代码,差不多就是你说的那个意思。
底层驱动程序就是:利用iic总线的时序写入和读出数据,并封装成函数,按特定的结构要求组成内核模块代码(.c文件)。
应用程序就是:按特定的方式调用上面的驱动程序,完成iic设备的读写。