SoC底层软件低功耗系统设计与实现
全新正版 极速发货
¥
61.82
5.7折
¥
109
全新
库存7件
作者李晓杰 著
出版社机械工业
ISBN9787111728146
出版时间2023-06
装帧其他
开本其他
定价109元
货号1202937267
上书时间2024-06-06
商品详情
- 品相描述:全新
- 商品描述
-
目录
Contents 目 录<br />前言<br />第1章 低功耗系统设计思路1<br />1.1 低功耗系统设计面临的挑战1<br />1.2 降低功耗的3种主要设计思路2<br />1.3 低功耗系统的架构设计3<br />1.4 术语介绍6<br />1.5 本章小结8<br />第2章 wakeup source 框架设计与实现9<br />2.1 Linux wakeup source的设计与实现9<br />2.1.1 架构设计概览9<br />2.1.2 模块功能详解9<br />2.1.3 配置信息解析10<br />2.1.4 主要数据结构10<br />2.1.5 主要函数分析12<br />2.1.6 函数工作时序17<br />2.2 实现自己的wakeup source 框架18<br />2.2.1 动手前的思考18<br />2.2.2 设计与实现19<br />2.3 本章小结22<br />第3章 autosleep 框架设计与实现23<br />3.1 Linux autosleep的设计与实现23<br />3.1.1 架构设计概览23<br />3.1.2 模块功能详解23<br />3.1.3 配置信息解析24<br />3.1.4 主要函数实现24<br />3.1.5 函数工作时序27<br />3.2 实现自己的autosleep 框架28<br />3.2.1 动手前的思考28<br />3.2.2 设计与实现29<br />3.3 本章小结30<br />第4章 PM Core框架设计与实现31<br />4.1 Linux PM Core的设计与实现31<br />4.1.1 架构设计概览31<br />4.1.2 模块功能详解31<br />4.1.3 配置信息解析32<br />4.1.4 主要数据结构32<br />4.1.5 主要函数实现35<br />4.1.6 软件处理流程41<br />4.2 实现自己的PM Core 框架43<br />4.2.1 动手前的思考43<br />4.2.2 运行时序设计44<br />4.2.3 设计与实现44<br />4.3 本章小结47<br />第5章 notifier 框架设计与实现48<br />5.1 Linux notifier的设计与实现48<br />5.1.1 架构设计概览48<br />5.1.2 模块功能详解48<br />5.1.3 配置信息解析49<br />5.1.4 主要数据结构49<br />5.1.5 主要接口介绍50<br />5.1.6 内核使用场景54<br />5.2 实现自己的notifier 框架57<br />5.2.1 动手前的思考57<br />5.2.2 设计与实现57<br />5.3 本章小结59<br />第6章 DPM 框架设计与实现60<br />6.1 Linux DPM的设计与实现60<br />6.1.1 架构设计概览60<br />6.1.2 模块功能详解60<br />6.1.3 配置信息解析61<br />6.1.4 主要数据结构61<br />6.1.5 主要函数介绍63<br />6.1.6 函数工作时序67<br />6.2 实现自己的DPM框架75<br />6.2.1 动手前的思考75<br />6.2.2 设计与实现75<br />6.3 补充说明79<br />6.4 本章小结81<br />第7章 syscore 框架设计与实现82<br />7.1 Linux syscore的设计与实现82<br />7.1.1 架构设计概览82<br />7.1.2 模块功能详解82<br />7.1.3 配置信息解析82<br />7.1.4 主要结构体介绍83<br />7.1.5 主要函数介绍84<br />7.2 实现自己的syscore 框架87<br />7.2.1 动手前的思考88<br />7.2.2 设计与实现88<br />7.3 本章小结90<br />第8章 RPM框架设计与实现91<br />8.1 Linux RPM的设计与实现91<br />8.1.1 架构设计概览91<br />8.1.2 模块功能详解91<br />8.1.3 RPM与system sleep的关系94<br />8.1.4 No-Callback设备解析95<br />8.1.5 autosuspend与automatically-<br /> delayed suspends分析95<br />8.1.6 配置信息解析96<br />8.1.7 主要结构体介绍96<br />8.1.8 主要函数介绍99<br />8.1.9 RPM与PM Core工作时间段<br /> 对比108<br />8.1.10 RPM的函数工作时序108<br />8.2 实现自己的RPM 框架112<br />8.2.1 动手前的思考112<br />8.2.2 设计与实现112<br />8.2.3 实现进阶第一步114<br />8.2.4 实现进阶第二步116<br />8.2.5 实现进阶第三步118<br />8.3 本章小结120<br />第9章 thermal框架设计与实现121<br />9.1 Linux thermal的设计与实现121<br />9.1.1 架构设计概览121<br />9.1.2 模块功能详解121<br />9.1.3 基本术语概念123<br />9.1.4 配置信息解析123<br />9.1.5 thermal_core解析123<br />9.1.6 关于critical事件和非critical<br /> 事件的处理流程133<br />9.1.7 governor实现介绍134<br />9.2 实现自己的thermal框架135<br />9.2.1 动手前的思考136<br />9.2.2 设计与实现136<br />9.3 本章小结143<br />第10章 CPU Hotplug框架设计<br /> 与实现144<br />10.1 Linux CPU Hotplug的设计与实现144<br />10.1.1 架构设计概览144<br />10.1.2 模块功能详解144<br />10.1.3 配置信息解析145<br />10.1.4 主要数据结构介绍146<br />10.1.5 如何使用CPU Hotplug148<br />10.1.6 CPU Hotplug?状态机149<br />10.1.7 CPU online/offline运行流程<br /> 示意150<br />10.1.8 state申请及使用152<br />10.1.9 CPU Hotplug工作时序153<br />10.2 实现自己的Hotplug 框架157<br />10.2.1 动手前的思考157<br />10.2.2 设计与实现157<br />10.3 本章小结160<br />第11章 CPUIdle 框架设计与实现161<br />11.1 Linux CPUIdle的设计与实现161<br />11.1.1 架构设计概览161<br />11.1.2 背景介绍161<br />11.1.3 配置信息解析162<br />11.1.4 设计与实现163<br />11.2 实现自己的CPUIdle 框架170<br />11.2.1 动手前的思考170<br />11.2.2 设计与实现171<br />11.3 本章小结174<br />第12章 CLK框架设计与实现175<br />12.1 Linux CLK的设计与实现175<br />12.1.1 架构设计概览175<br />12.1.2 背景介绍175<br />12.1.3 配置信息解析176<br />12.1.4 主要数据类型177<br />12.1.5 主要函数实现180<br />12.2 实现自己的CLK框架187<br />12.2.1 动手前的思考188<br />12.2.2 设计与实现188<br />12.3 本章小结192<br />第13章 DVFS框架设计与实现193<br />13.1 Linux cpufreq的设计与实现193<br />13.1.1 架构设计概览193<br />13.1.2 模块功能详解193<br />13.1.3 配置信息解析194<br />13.1.4 主要数据类型195<br />13.1.5 主要函数实现199<br />13.2 实现自己的DVFS框架205<br />13.2.1 动手前的思考205<br />13.2.2 设计与实现205<br />13.3 本章小结208<br />第14章 regulator框架设计与实现209<br />14.1 Linux regulator的设计与实现209<br />14.1.1 架构设计概览209<br />14.1.2 背景介绍209<br />14.1.3 配置信息解析210<br />14.1.4 主要模块功能211<br />14.1.5 主要函数实现215<br />14.2 实现自己的regulator框架228<br />14.2.1 动手前的思考228<br />14.2.2 设计与实现228<br />14.3 本章小结231<br />第15章 AVS框架设计与实现232<br />15.1 背景及原理233<br />15.2 AVS设计与实现234<br />15.2.1 AVS实现234<br />15.2.2 AVS接口236<br />15.2.3 AVS使用237<br />15.3 本章小结238<br />第16章 PSCI框架设计与实现239<br />16.1 背景介绍240<br />16.1.1 空闲管理240<br />16.1.2 热插拔240<br />16.2 假设和建议241<br />16.2.1 PSCI目的241<br />16.2.2 异常级别、ARMv7权限级别<br /> 和最高权限241<br />16.2.3 基于ARM系统的软件栈242<br />16.2.4 安全世界软件和电源管理243<br />16.3 PSCI使用场景及要求244<br />16.3.1 空闲管理244<br />16.3.2 电源状态系统拓扑与协作244<br />16.3.3 CPU热插拔和从核启动246<br />16.3.4 系统关闭、系统复位和<br /> 系统挂起247<br />16.4 函数功能解析248<br />16.4.1 PSCI中的参数和返回值248<br />16.4.2 PSCI_VERSION函数249<br />16.4.3 CPU_SUSPEND函数249<br />16.4.4 CPU_OFF函数253<br />16.4.5 CPU_ON函数255<br />16.4.6 AFFINITY_INFO函数256<br />16.4.7 MIGRATE函数258<br />16.4.8 MIGRATE_INFO_TYPE/MIG-<br /> RATE_INFO_UP_CPU函数259<br />16.4.9 SYSTEM_OFF函数260<br />16.4.10 SYSTEM_RESET函数261<br />16.4.11 PSCI_FEATURES函数261<br />16.4.12 SYSTEM_SUSPEND函数262<br />16.5 PSCI调用流程263<br />16.5.1 CPU_SUSPEND、SYSTEM_<br /> SUSPEND调用流程263<br />16.5.2 CPU_OFF调用流程264<br />16.5.3 CPU_ON调用流程265<br />16.6 核状态的操作系统和实现视图266<br />16.7 推荐的StateID编码267<br />16.8 PSCI规范实现选项268<br />16.9 内核PSCI关系梳理268<br />16.10 本章小结269<br />第17章 ATF271<br />17.1 背景介绍272<br />17.2 配置信息272<br />17.3 工作时序272<br />17.4 本章小结274<br />第18章 扩展知识点275<br />18.1 链表275<br />18.2 信号量278<br />18.3 自旋锁281<br />18.4 GIC283<br />18.5 SMP CALL285<br />18.6 锁中断287<br />18.7 看门狗287<br />18.8 冻结进程288<br />18.9 定时器290<br />18.10 volatile292<br />18.11 WFE、SEV、WFI293<br />18.12 write through、write back、write <br /> allocate、read allocate294<br />18.13 mutex、semaphore、spinlock<br /> 的区别294<br />18.14 本章小结295<br />第19章 低功耗问题定位及<br /> 优化思路296<br />19.1 多子系统配置296<br />19.2 并行处理298<br />19.3 增加打点信息299<br />19.4 增加suspend流程状态检查<br /> 返回点300<br />19.5 设置提前唤醒量302<br />19.6 减少(合并)唤醒中断次数302<br />19.7 慎用阻塞型接口305<br />19.8 踩内存305<br />19.9 压力测试307<br />19.9.1 思路梳理307<br />19.9.2 压力测试框架实现308<br />19.10 其他优化手段310<br />19.11 本章小结310
内容摘要
这是一本系统剖析SoC底层软件低功耗系统设计、实现与定制化的著作,同时它还全面讲解了低功耗的知识点以及各种低功耗问题的定位与优化。作者在华为海思等半导体企业深耕低功耗领域10余年,本书内容基于作者的实际商用经验撰写而成,读完本书后,我们至少能掌握以下知识:(1)Linux内核中所有与低功耗相关的17个模块的设计与实现原理,以及这些模块的自定义实现和二次开发,这部分内容能让读者对低功耗相关的问题知其然并知其所以然。(2)Linux内核中关于低功耗的设计思想,既同时适用于宏内核、微内核和精简内核,又可以给其他的操作系统提供思路和启发。(3)低功耗的20余个扩展知识点,让读者对低功耗有更全面、更深入地了解。(4)各种低功耗问题的定位方法和通用优化手段。
— 没有更多了 —
以下为对购买帮助不大的评价