我使用的是Qnx6.1.0 +PatchA。
我曾编写了一个硬件驱动程序,其中在中断处理句柄中使用了ClockCycles()函数用于记录中断发生时的系统时间,程序工作正常(本人当前所使用的CPU 是PIII866MHz)。
1。目前,要换机器(系统仍为Qnx6.1.0 +PatchA),CPU 为赛扬800(为降低功耗),我不知ClockCycles()函数是否能正常工作于基于赛扬CPU系统的硬件驱动程序中断处理句柄中?
2。在帮助手册中,提及ClockCycles()函数可以正常使用在中断处理句柄中。但在新闻组中好像在某些CPU系统中,ClockCycles()函数不能正常使用在中断处理句柄中。那么,哪些CPU系统可以将ClockCycles()函数正常使用在中断处理句柄中?它包括pentium,pentium pro ,PII ,PIII,PIV,celeron CPU? 它包括AMD
CPU吗?
3。在帮助手册中,又提及了似乎是ClockCycles()函数调用rdtsc指令,是不是只要真正(通过硬件读取)可以执行rdtsc指令的CPU,在编写驱动程序时,其ClockCycles()函数可正常使用在中断处理句柄中?
4。手册中经常出现"x86"系统,似乎是个统称,那么什么是x86系统,是指CPU而言吗?它包括pentium,pentium pro ,PII ,PIII,PIV,celeron CPU? 它包括AMD
CPU吗?
5。如果将操作系统变为QNX6.2.1,在奔腾和赛扬CPU的系统中,ClockCycles()能否正常使用在中断处理句柄中(帮助手册中似乎将ClockCycles()使用在中断处理句柄中视为不安全)?
6。倘若ClockCycles()不能安全使用在中断处理句柄中,有什么其他方法可以在中断处理句柄中记录中断发生的系统时间?
希望听到任何建议。