|
在Haawking IDE V2.1.3版本之后,都内置了一个可以获取芯片内部pc计数器的函数,read_cycles(),函数原型如下:
- __always_inline unsigned long read_cycles(void)
- {
- unsigned long cycles;
- asm volatile ("csrr %0,0xb00" : "=r"(cycles));
- return cycles;
- }
复制代码 在使用的时候,需要定义三个全局变量,如下,来保存计数器的值。
- volatile unsigned long start,end,total;
复制代码 在需要测试的代码前后,通过插入如下代码,就可以通过实时刷新窗口,观察到程序执行的时候所需的周期数。
- <span style="background-color: darkorange;">start = read_cycles();</span>
- GpioDataRegs.GPASET.bit.GPIO17=1;
- adcValue[0] = AdcResult.ADCRESULT0;
- adcIQ=_IQ(adcValue[0]);
- GpioDataRegs.GPACLEAR.bit.GPIO17=1;
- <span style="background-color: darkorange;"> end = read_cycles();
- total = end - start;</span>
复制代码
|
|