【发布时间】:2013-09-13 08:36:02
【问题描述】:
我正在尝试找到一种方法,使用 xilkernel 将函数的计算时间增加到 1 秒,而不使用 xilinx microblaze 中的睡眠功能。
因此,我可以知道我需要在一个简单的 for 循环中进行多少次迭代才能将计算时间增加到 1 秒吗?
【问题讨论】:
标签: xilinx microblaze
我正在尝试找到一种方法,使用 xilkernel 将函数的计算时间增加到 1 秒,而不使用 xilinx microblaze 中的睡眠功能。
因此,我可以知道我需要在一个简单的 for 循环中进行多少次迭代才能将计算时间增加到 1 秒吗?
【问题讨论】:
标签: xilinx microblaze
您无法可靠且准确地执行此操作。如果你想做这样的事情,你必须为你的特定系统自己校准它,因为 Microblaze 是如此可配置,没有一个正确的答案。身体的方式是:
设置一个 GPIO 外设,将其中一个引脚设置为“1”,运行 1000 次迭代的循环(确保编译器不会对其进行优化!)将引脚设置为“0”。将示波器挂在该引脚上(您在嵌入式系统上工作,您确实有示波器,对吗?)并查看运行循环需要多长时间。
但正确的做法是使用硬件定时器外设。即使在一个非常简单的级别上,您也可以在函数开始时清除计时器,然后在结束时轮询它,直到它达到对应于 1 秒的任何值。这仍然会有一些缺陷,但鉴于您尚未指定需要接近 1 秒,这可能就足够了。
【讨论】: