myr*_*ack 16
I/O端口0x80传统上用于POST代码.(POST =开机自检)
系统启动时,BIOS会将一系列调试代码输出到I/O端口0x80.这些用于调试非启动系统.
在大多数台式机中,您可以安装POST代码调试板,它基本上是一个小型PCI(或ISA)插槽板,可对I/O端口0x80的I/O写入进行解码,并通过7段LED显示该值.

通常,POST代码会非常快速地闪烁.但是,如果系统在引导时挂起,您可以查看上一个POST代码是什么,并使用此信息对系统进行故障排除.
该站点包含大多数BIOS的标准POST代码列表.但是,计算机/主板制造商可能会插入自己的POST代码,因此该列表并非100%全面.
系统开始引导操作系统后,POST代码不是很相关.但是,某些OS供应商可能会使用POST代码板作为调试工具,特别是对于printf()可能不实用的代码中的位置(例如,中断服务程序).
某些操作系统将使用对I/O端口0x80的读写作为延迟机制.如果您需要等待几微秒来完成某些事情,使用完整的sleep()或delay()定时器可能是不切实际的,因此对"安全"I/O地址执行"虚拟"读/写操作是轻量级的解决方案.对0x80的读取和写入基本上是保证不会对系统的操作产生不利影响,因此对于这种虚拟操作来说它是一个很好的选择.
您会发现,对于许多较旧/较慢的外围设备(如RTC芯片),有时需要等待一些usec进行I/O写操作才能"生效".虚拟访问0x80是一种方便的方法.
您还可以找到对0x80进行虚拟写操作的代码,以"刷新"任何电气"回声"的总线.在某些平台上,可以将值写入未使用/无效的I/O地址,从该地址读回,并查看刚写入的值,即使实际上没有硬件在该地址.但是,如果您对其间的另一个地址(例如,I/O端口0x80)进行虚拟写入,则可以防止这种情况发生.
| 归档时间: |
|
| 查看次数: |
7436 次 |
| 最近记录: |