《Linux设备驱动开发详解 A》一一2.7 芯片数据手册阅读方法

简介:

本节书摘来华章计算机出版社《Linux设备驱动开发详解 A》一书中的第2章,第2.7节,作者:宋宝华 更多章节内容可以访问云栖社区“华章计算机”公众号查看。1

2.7 芯片数据手册阅读方法

芯片数据手册往往长达数百页,甚至上千页,而且全部是英文,从头到尾不加区分地阅读需要花费非常长的时间,而且不一定能获取对设计设备驱动有帮助的信息。芯片数据手册的正确阅读方法是快速而准确地定位有用信息,重点阅读这些信息,忽略无关内容。下面以S3C6410A的数据手册为例来分析阅读方法,为了直观地反映阅读过程,本节的图都是直接从数据手册中抓屏而得到的。
打开S3C6410 A的数据手册,发现页数为1378页,从头读到尾是不现实的。
S3C6410A 数据手册的第1章“PRODUCT OVERVIEW”(产品综述)是必读的,通过阅读这一部分可以获知整个芯片的组成。这一章往往会给出一个芯片的整体结构图,并对芯片内的主要模块进行一个简洁的描述。S3C6410A的整体结构图如图2.27所示(见数据手册第61页)。
image

第2~43章中的每一章都对应S3C6410A整体结构图中的一个模块,图2.28为从Adobe Acrobat中直接抓取的S3C6410A 数据手册的目录结构图。
image

图2.28 S3C6410A 数据手册的目录结构
第2章“MemoryMap”(内存映射)比较关键,对于定位存储器和外设所对应的基址有直接指导意义,这一部分应该细看。
第3~34章对应于CPU内部集成的外设或总线控制器,当具体编写某接口的驱动时,应该详细阅读,主要是分析数据、控制、地址寄存器(数据手册中一般会以表格列出)的访问控制和具体设备的操作流程(数据手册中会给出步骤,有的还会给出流程图)。譬如为了编写S3C6410A的I2C控制器驱动,我们需要详细阅读类似图2.29的寄存器定义表格和图2.30的操作流程图。
第44章“ELECTRICAL DATA”(对于电气数据,在图2.28中未画出),描述芯片的电气特性,如电压、电流和各种工作模式下的时序、建立时间和保持时间的要求。所有的数据手册都会包含类似章节,这一章对于硬件工程师比较关键,但是,一般来说,驱动工程师并不需要阅读。
第45章“MECHANICAL DATA”(机械数据)描述芯片的物理特性、尺寸和封装,硬件工程师会依据这一章绘制芯片的封装(Footprint),但是,驱动工程师无须阅读。
image

image

相关文章
|
1月前
|
Ubuntu Linux 网络安全
在Linux上安装软件有多种方法
在Linux上安装软件有多种方法
101 64
|
9天前
|
Linux Shell 数据库
文件查找是Linux用户日常工作的重要技能介绍了几种不常见的文件查找方法
文件查找是Linux用户日常工作的重要技能。本文介绍了几种不常见的文件查找方法,包括使用`find`和`column`组合、`locate`和`mlocate`快速查找、编写Shell脚本、使用现代工具`fd`、结合`grep`搜索文件内容,以及图形界面工具如`Gnome Search Tool`和`Albert`。这些方法能显著提升文件查找的效率和准确性。
30 2
|
15天前
|
运维 Linux
Linux查找占用的端口,并杀死进程的简单方法
通过上述步骤和命令,您能够迅速识别并根据实际情况管理Linux系统中占用特定端口的进程。为了获得更全面的服务器管理技巧和解决方案,提供了丰富的资源和专业服务,是您提升运维技能的理想选择。
16 1
|
15天前
|
运维 安全 Linux
Linux文件清空的五种方法总结分享
每种方法各有优势,选择最合适的一种或几种,可以极大提高您的工作效率。更多有关Linux系统管理的技巧与资源,欢迎访问,持续提升您的运维技能。
60 1
|
23天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
73 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
弹性计算 Linux 数据库
阿里云国际版如何迁移Linux云服务器系统盘中的数据
阿里云国际版如何迁移Linux云服务器系统盘中的数据
|
1月前
|
Linux 数据安全/隐私保护 索引
linux inode索引节点使用率100% 解决+hustoj忘记密码+最新MDK注册方法
linux inode索引节点使用率100% 解决+hustoj忘记密码+最新MDK注册方法
40 1
|
1月前
|
监控 安全 Linux
使用NRPE和Nagios监控Linux系统资源的方法
通过遵循以上步骤,可以有效地使用NRPE和Nagios监控Linux系统资源,确保系统运行稳定,并及时响应任何潜在的问题。这种方法提供了高度的可定制性和灵活性,适用于从小型环境到大型分布式系统的各种监控需求。
42 2
|
3月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
125 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
2月前
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】