DSP28335的一些笔记

本文详细介绍了如何测量DSP28335芯片代码运行时间,包括示波器、CPU计数器、定时器0和EPWM模块的方法。此外,文章还探讨了CMD与MAP文件在内存管理和分配中的作用,以及烧写运行与在线仿真的过程,特别是从RAM到FLASH的转换。最后,简要概述了ePWM、eCAP和ADC等外设的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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内存结构

所有的程序和数据都必须在内

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值