ZYNQTTC:分辨率计算-Xilinx-AMD社区-FPGA CPLD-ChipDebug

ZYNQTTC:分辨率计算

描述

我试图在ZYNQ上在Linux上标出我的应用程序,但是我总是看到我的应用程序的运行时间为0。

为什么会发生这种情况?

解决方案

对于非常简单的应用程序(例如“Hello World”),应用程序的整个运行时寿命可能低于ZYNQ TTC(ZYNQ Linux的主系统计时器)的最小分辨率。

如下图所示,三重计时器计数器由CPUY1X计时。

考虑CPU1X时钟运行在111MHz。

按照ZYNQ TRM,这个值可以在2-655 36之间(它必须是2的功率)。

默认情况下,Cadence TTC模块将此预标量值设置为2048。

预缩放后,16位计数器的时钟为111/2048=54.9kHz。
这意味着计数器在一秒钟内计数高达54199个值。

也就是说,每个计数增加大约在18US。

计数器是16位(0xFFFF=65535)。

所以,实际上需要1.209秒才能计数到0xFFFF。

注释

改变预缩放器值是用户的责任。

请注意,在更高的分辨率下,Linux可能会错过时间包,从而影响整个系统的时序。

请登录后发表评论

    没有回复内容