base addr00=0x1000 addr width00=12 base addr01=0x2000 addr width01=13 base addr02=0x4000 addr width02=13
Answer
让我们解释一下这三个地址范围的设置:
从设备0:
Base Addr00: 0x1000
Addr Width00: 12 位
这意味着从设备0的地址范围是从 0x1000 开始,地址宽度为12位,因此它的地址空间是:
起始地址: 0x1000
结束地址: 0x1000 + (2^12 - 1) = 0x1FFF
地址范围: 0x1000 到 0x1FFF, 即4KB的地址空间。
从设备1:
Base Addr01: 0x2000
Addr Width01: 13 位
这意味着从设备1的地址范围是从 0x2000 开始,地址宽度为13位,因此它的地址空间是:
起始地址: 0x2000
结束地址: 0x2000 + (2^13 - 1) = 0x3FFF
地址范围: 0x2000 到 0x3FFF, 即8KB的地址空间。
从设备2:
Base Addr02: 0x4000
Addr Width02: 13 位
这意味着从设备2的地址范围是从 0x4000 开始,地址宽度同样为13位,因此它的地址空间是:
起始地址: 0x4000
结束地址: 0x4000 + (2^13 - 1) = 0x5FFF
地址范围: 0x4000 到 0x5FFF, 即8KB的地址空间。
总结:
从设备0 占用 0x1000 到 0x1FFF 的地址空间。
从设备1 占用 0x2000 到 0x3FFF 的地址空间。
从设备2 占用 0x4000 到 0x5FFF 的地址空间。
这些设置确保了每个从设备在系统中的地址范围是唯一的,不会发生地址重叠。