arm Linux内核中实现电源管理的方法EXPERIENCE EXCHANGE经验交流ARM Linux内核中实现电源管理的方法■ 苏州大学 祝伟恩 吕强随着全球信息化的迅猛发展, 以个人信息处理为主 要应用目标的各种掌上设备成为了市场的新焦点, 出现 了一大批功能强大的嵌入式信息处理设备, 受到了广大 用户的青睐。 一台成功的掌上信息处理设备不仅要求体 积小巧, 功能强大, 而且其待机时间也应达到一定的标 准, 因此掌上设备的电源管理就成为很重要的一个部分 内容。笔者在 G P L 许可协议下, 利用开源组织提供的项 目源码, 在已成功运行了 Linux[ 1 ]的 Intel DBPXA250 Lub- b o c k 实验开发板上对电源管理做了探索,并实现了简单 的电源管理功能。2.1PC 平台的实现方法L i n u x 在 P C 平台的电源管理主要是由三个层次所组成的,分别是 BIOS、Kernel 和 apmd。 BIOS 为电源管理 提供最底层的支持, 是电源管理行为的具体实施者。 Kernel 提供了 BIOS 电源管理功能的驱动,接收各种电源 管理消息,最终将其交由 B I O S 来完成。a p m d 是内核提 供给用户空间的一个接口, 使用户能够在用户空间里对 电源管理进行配置与操作。 这三个层次中最为重要的就 是 Kernel 层面,如果没有 Kernel 对电源管理提供基本驱 动, 即使有了 B I O S 底层的支持也不可能实现电源管理 功能,所以内核的支持是实现电源管理的重要一环。 P C 平台上对电源管理的支持主要是由 Linux 源代码下 arch/ i386/kernel/ 的 apm.h 和 apm.c 提供的。在这两个文件里实 现了相应 B I O S 电源管理功能的内核调用, 并且实现了 一个内核守护线程。 该内核线程在系统运行过程中……