高级检索结果页
欢迎来到工程科技数字图书馆
登录 | 注册
 
您当前的位置:图书 > SoC底层软件低功耗系统设计与实现

SoC底层软件低功耗系统设计与实现

这是一本系统剖析SoC底层软件低功耗系统设计、实现与定制化的著作,同时它还全面讲解了低功耗的知识点以及各种低功耗问题的定位与优化。
作者在华为海思等半导体企业深耕低功耗领域10余年,本书内容基于作者的实际商用经验撰写而成,读完本书后,我们至少能掌握以下知识:
(1)Linux内核中所有与低功耗相关的17个模块的设计与实现原理,以及这些模块的自定义实现和二次开发,这部分内容能让读者对低功耗相关的问题知其然并知其所以然。
(2)Linux内核中关于低功耗的设计思想,既同时适用于宏内核、微内核和精简内核,又可以给其他的操作系统提供思路和启发。
(3)低功耗的20余个扩展知识点,让读者对低功耗有更全面、更深入地了解。
(4)各种低功耗问题的定位方法和通用优化手段。

封面
前折页
题名页
版权页
前言
第1章 低功耗系统设计思路
 1.1 低功耗系统设计面临的挑战
 1.2 降低功耗的3种主要设计思路
 1.3 低功耗系统的架构设计
 1.4 术语介绍
 1.5 本章小结
第2章 wakeup source框架设计与实现
 2.1 Linux wakeup source的设计与实现
  2.1.1 架构设计概览
  2.1.2 模块功能详解
  2.1.3 配置信息解析
  2.1.4 主要数据结构
  2.1.5 主要函数分析
  2.1.6 函数工作时序
 2.2 实现自己的wakeup source框架
  2.2.1 动手前的思考
  2.2.2 设计与实现
 2.3 本章小结
第3章 autosleep框架设计与实现
 3.1 Linux autosleep的设计与实现
  3.1.1 架构设计概览
  3.1.2 模块功能详解
  3.1.3 配置信息解析
  3.1.4 主要函数实现
  3.1.5 函数工作时序
 3.2 实现自己的autosleep框架
  3.2.1 动手前的思考
  3.2.2 设计与实现
 3.3 本章小结
第4章 PM Core框架设计与实现
 4.1 Linux PM Core的设计与实现
  4.1.1 架构设计概览
  4.1.2 模块功能详解
  4.1.3 配置信息解析
  4.1.4 主要数据结构
  4.1.5 主要函数实现
  4.1.6 软件处理流程
 4.2 实现自己的PM Core框架
  4.2.1 动手前的思考
  4.2.2 运行时序设计
  4.2.3 设计与实现
 4.3 本章小结
第5章 notifier框架设计与实现
 5.1 Linux notifier的设计与实现
  5.1.1 架构设计概览
  5.1.2 模块功能详解
  5.1.3 配置信息解析
  5.1.4 主要数据结构
  5.1.5 主要接口介绍
  5.1.6 内核使用场景
 5.2 实现自己的notifier框架
  5.2.1 动手前的思考
  5.2.2 设计与实现
 5.3 本章小结
第6章 DPM框架设计与实现
 6.1 Linux DPM的设计与实现
  6.1.1 架构设计概览
  6.1.2 模块功能详解
  6.1.3 配置信息解析
  6.1.4 主要数据结构
  6.1.5 主要函数介绍
  6.1.6 函数工作时序
 6.2 实现自己的DPM框架
  6.2.1 动手前的思考
  6.2.2 设计与实现
 6.3 补充说明
 6.4 本章小结
第7章 syscore框架设计与实现
 7.1 Linux syscore的设计与实现
  7.1.1 架构设计概览
  7.1.2 模块功能详解
  7.1.3 配置信息解析
  7.1.4 主要结构体介绍
  7.1.5 主要函数介绍
 7.2 实现自己的syscore框架
  7.2.1 动手前的思考
  7.2.2 设计与实现
 7.3 本章小结
第8章 RPM框架设计与实现
 8.1 Linux RPM的设计与实现
  8.1.1 架构设计概览
  8.1.2 模块功能详解
  8.1.3 RPM与system sleep的关系
  8.1.4 No-Callback设备解析
  8.1.5 autosuspend与automatically-delayed suspends分析
  8.1.6 配置信息解析
  8.1.7 主要结构体介绍
  8.1.8 主要函数介绍
  8.1.9 RPM与PM Core工作时间段对比
  8.1.10 RPM的函数工作时序
 8.2 实现自己的RPM框架
  8.2.1 动手前的思考
  8.2.2 设计与实现
  8.2.3 实现进阶第一步
  8.2.4 实现进阶第二步
  8.2.5 实现进阶第三步
 8.3 本章小结
第9章 thermal框架设计与实现
 9.1 Linux thermal的设计与实现
  9.1.1 架构设计概览
  9.1.2 模块功能详解
  9.1.3 基本术语概念
  9.1.4 配置信息解析
  9.1.5 thermal_core解析
  9.1.6 关于critical事件和非critical事件的处理流程
  9.1.7 governor实现介绍
 9.2 实现自己的thermal框架
  9.2.1 动手前的思考
  9.2.2 设计与实现
 9.3 本章小结
第10章 CPU Hotplug框架设计与实现
 10.1 Linux CPU Hotplug的设计与实现
  10.1.1 架构设计概览
  10.1.2 模块功能详解
  10.1.3 配置信息解析
  10.1.4 主要数据结构介绍
  10.1.5 如何使用CPU Hotplug
  10.1.6 CPU Hotplug 状态机
  10.1.7 CPU online/offline运行流程示意
  10.1.8 state申请及使用
  10.1.9 CPU Hotplug工作时序
 10.2 实现自己的Hotplug框架
  10.2.1 动手前的思考
  10.2.2 设计与实现
 10.3 本章小结
第11章 CPUIdle框架设计与实现
 11.1 Linux CPUIdle的设计与实现
  11.1.1 架构设计概览
  11.1.2 背景介绍
  11.1.3 配置信息解析
  11.1.4 设计与实现
 11.2 实现自己的CPUIdle框架
  11.2.1 动手前的思考
  11.2.2 设计与实现
 11.3 本章小结
第12章 CLK框架设计与实现
 12.1 Linux CLK的设计与实现
  12.1.1 架构设计概览
  12.1.2 背景介绍
  12.1.3 配置信息解析
  12.1.4 主要数据类型
  12.1.5 主要函数实现
 12.2 实现自己的CLK框架
  12.2.1 动手前的思考
  12.2.2 设计与实现
 12.3 本章小结
第13章 DVFS框架设计与实现
 13.1 Linux cpufreq的设计与实现
  13.1.1 架构设计概览
  13.1.2 模块功能详解
  13.1.3 配置信息解析
  13.1.4 主要数据类型
  13.1.5 主要函数实现
 13.2 实现自己的DVFS框架
  13.2.1 动手前的思考
  13.2.2 设计与实现
 13.3 本章小结
第14章 regulator框架设计与实现
 14.1 Linux regulator的设计与实现
  14.1.1 架构设计概览
  14.1.2 背景介绍
  14.1.3 配置信息解析
  14.1.4 主要模块功能
  14.1.5 主要函数实现
 14.2 实现自己的regulator框架
  14.2.1 动手前的思考
  14.2.2 设计与实现
 14.3 本章小结
第15章 AVS框架设计与实现
 15.1 背景及原理
 15.2 AVS设计与实现
  15.2.1 AVS实现
  15.2.2 AVS接口
  15.2.3 AVS使用
 15.3 本章小结
第16章 PSCI框架设计与实现
 16.1 背景介绍
  16.1.1 空闲管理
  16.1.2 热插拔
 16.2 假设和建议
  16.2.1 PSCI目的
  16.2.2 异常级别、ARMv7权限级别和最高权限
  16.2.3 基于ARM系统的软件栈
  16.2.4 安全世界软件和电源管理
 16.3 PSCI使用场景及要求
  16.3.1 空闲管理
  16.3.2 电源状态系统拓扑与协作
  16.3.3 CPU热插拔和从核启动
  16.3.4 系统关闭、系统复位和系统挂起
 16.4 函数功能解析
  16.4.1 PSCI中的参数和返回值
  16.4.2 PSCI_VERSION函数
  16.4.3 CPU_SUSPEND函数
  16.4.4 CPU_OFF函数
  16.4.5 CPU_ON函数
  16.4.6 AFFINITY_INFO函数
  16.4.7 MIGRATE函数
  16.4.8 MIGRATE_INFO_TYPE/MIGRATE_INFO_UP_CPU函数
  16.4.9 SYSTEM_OFF函数
  16.4.10 SYSTEM_RESET函数
  16.4.11 PSCI_FEATURES函数
  16.4.12 SYSTEM_SUSPEND函数
 16.5 PSCI调用流程
  16.5.1 CPU_SUSPEND、SYSTEM_SUSPEND调用流程
  16.5.2 CPU_OFF调用流程
  16.5.3 CPU_ON调用流程
 16.6 核状态的操作系统和实现视图
 16.7 推荐的StateID编码
 16.8 PSCI规范实现选项
 16.9 内核PSCI关系梳理
 16.10 本章小结
第17章 ATF
 17.1 背景介绍
 17.2 配置信息
 17.3 工作时序
 17.4 本章小结
第18章 扩展知识点
 18.1 链表
 18.2 信号量
 18.3 自旋锁
 18.4 GIC
 18.5 SMP CALL
 18.6 锁中断
 18.7 看门狗
 18.8 冻结进程
 18.9 定时器
 18.10 volatile
 18.11 WFE、SEV、WFI
 18.12 write through、write back、write allocate、read allocate
 18.13 mutex、semaphore、spinlock的区别
 18.14 本章小结
第19章 低功耗问题定位及优化思路
 19.1 多子系统配置
 19.2 并行处理
 19.3 增加打点信息
 19.4 增加suspend流程状态检查返回点
 19.5 设置提前唤醒量
 19.6 减少(合并)唤醒中断次数
 19.7 慎用阻塞型接口
 19.8 踩内存
 19.9 压力测试
  19.9.1 思路梳理
  19.9.2 压力测试框架实现
 19.10 其他优化手段
 19.11 本章小结
后折页
封底

机工科技数字图书馆