?? highrestimer范例.txt
字號:
/*
* 聲明:本范例源于書籍‘NiosII軟件架構解析’
* 作者:蔡偉綱
* 博客地址: http://NiosII.cublog.cn
*
* 一、功能: Timestamp驅動演示代碼.
* 二、該源碼需要硬件開發板的支持,因為ISS對Timestamp定時器的模擬還不夠精確
* 如果將該源碼運行于ISS模式下,將得不到精確的結果;
* 三、運行前提:
* 1. 選擇包含JTAG_UART和定時器的NiosII系統(ptf文件);
* 其中的定時器要求:
* (1) 具備可寫的period寄存器;
* (2) 具備可讀的snapshot寄存器;
* 2. 在系統庫屬性中完成下面的配置:
* (1) 將stdout映射到JTAG_UART;
* (2) 將定時器映射為Timestamp時鐘;
*/
#include <stdio.h>
#include "system.h"
#include "sys/alt_timestamp.h"
#include "alt_types.h"
#include "priv/alt_busy_sleep.h"
void func1(void)
{
alt_busy_sleep(1000);//Unit: us;
}
void func2(void)
{
alt_busy_sleep(5000);//Unit: us;
}
int main (void)
{
alt_u32 time1;
alt_u32 time2;
alt_u32 time3;
if(alt_timestamp_start() < 0)
{
printf ("No timestamp device available\n");
}
else
{
time1 = alt_timestamp();
func1(); /* first function to monitor */
time2 = alt_timestamp();
func2(); /* second function to monitor */
time3 = alt_timestamp();
alt_u32 Elapsed_Time1 = (time2-time1)/(ALT_CPU_FREQ/1000000);
printf ("Elapsed time in func1 = %d us\n", Elapsed_Time1);
alt_u32 Elapsed_Time2 = (time3-time2)/(ALT_CPU_FREQ/1000000);
printf ("Elapsed time in func2 = %d us\n", Elapsed_Time2);
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -