1.代码运行时间
代码运行时间,可以采用多种方式测量,它们之间是吻合的:
Ø 示波器接IO引脚
Ø CPU计数器
Ø 定时器0
Ø EPWM模块
1.1示波器接IO引脚
将GPIO设置为通用IO口,输出模式,在待测试代码之前和之后,置位或者复位或者不断取反,即可在示波器上面读出代码运行时间;
对于一段运行时间不多的代码,示波器可能一出现一下就被覆盖掉了,测试这样的代码有两种方法:
Ø 累计:在代码外面加一个比较大的数循环,从而得到累计时间,再除以这个大数,即得到真实值;
Ø 循环:不断地执行这段代码,从而不断出现高低电平,这样就可以读到数据了;
1.2CPU计数器
菜单栏:Profile——Clock——Enable+View;即可在右下角看到计数器,计数代表的是CPU的计数个数,150MHZ情况下,乘以计数周期6.67ns即可得到真实值!
双击该计数值即可清零!
1.3定时器0
设置完分频数之后,要将周期设置到很大,这样可以避免跨越周期的计数错误,比如如果只设置3000,计数到1000,你无法判断3000*N+2000中的N为多少;如果分频数设置过大,也会造成量化误差过大;
1.4EPWM模块
该模块同样存在定时器0的相似问题,一个增减计数,如果周期时1000,计数到800,就难以判断是在上升沿还是下降沿;一个办法是在此计数值读取之后,执行几句代码再读取一次,就可以求取斜率,从而判断上升下降沿!
其他利用DSP内部模块测量,都与定时器和EPWM模块类似,存在的问题也类似!2.CMD与MAP文件
2.1内存结构
所有的程序和数据都必须在内