【发布时间】:2016-06-01 14:14:18
【问题描述】:
目前,我正在尝试编写一个 GPIO 驱动程序并尝试将我的头脑围绕在几件事情上。在网上搜索之后,对于我的一些关于基地址、寄存器和偏移地址的问题,我并没有真正找到明确的答案。
对于下面的问题,假设我有一个任意寄存器 D1:F0 和 10h-13h 的偏移地址(大小为 32 位)。位 0 始终为 1 且保留,位 10:1 为 GPIO 基地址,位 31:11 保留且始终为 0。该寄存器的默认值为 00000001h。使用此信息:
1) 关于 D1:F0 的函数编号到根端口映射是什么?
2) D1:F0 是否包含可在代码中使用的端口?
3) 偏移地址与问题 1/问题 2 有什么关系?
4) 寄存器的默认值除了第一个保留位(应该是1)之外的所有位都关闭,对吗?
偏执检查问题:Bits[4:1] 表示位 1-4,对吗?
在此先感谢大家!
注意:我需要指出,这篇文章中的所有数据、寄存器、内存地址和偏移量都是任意的,绝不反映我将使用/有权访问的数据。这只是概念性的,只是为了说明一点。
【问题讨论】:
标签: c++ memory driver cpu-registers gpio