TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320C6748: 设置EDMA时,配置EDMACC0的相关寄存器,值写不进去。

Part Number:TMS320C6748

使用EDMA时,配置paRam参数写不进寄存器,连接仿真器查看具体值时,发现是一堆随机变化的数值。在排查EDMACC0寄存器的同时,发现OSCEL寄存器也无法写,初步判断这是同一个原因导致的。

确认过PSC已经打开,请问什么原因会导致这种情况发生?跟芯片上电时序有没有关系,或者芯片内部有没有对某些寄存器地址写保护的开关?我翻遍了手册,都没有找到相关说明,请教有丰富经验的DSP工程师指点迷津!

Shine:

请问您运行的是TI的例程吗?板子是自己的还是TI的EVM板? 您说的OSCEL是下面这个28.3.19 Oscillator Register (OSC)寄存器吗?如果是的话,这个寄存器需要先写kick寄存器解锁。 https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_DSP_spruh77c.pdf

,

mingjun le:

不好意思写错了,是OCSEL寄存器(0x01C11104),用于指定输出时钟绑定到OBSCLK引脚的寄存器。

,

Shine:

要先写kick寄存器解锁,请看下面的帖子。https://e2e.ti.com/support/processors-group/processors/f/processors-forum/851390/omap-l138-pll0arm-ocsel-is-not-changed

,

mingjun le:

非常感谢您的答疑解惑,按照这个帖子的指点,OCSEL可以设置并通过OBSCLK引脚观测到了时钟。

但是EDMACC0的问题依然存在,无法配置,请问这是什么原因?

,

Shine:

板子是自己的还是TI的EVM板?您跑一下TI SDK里的例程试试,有没有同样的问题?

,

mingjun le:

自己的板子,跑了例程,一样无法配置,EVM板子上同样的程序就正常运行。令我费解的是,我做的这块板子其他外设可以正常配置并工作(Uart、Mcbsp、EMIFA和SPI),就EDMA不行。

,

Shine:

如果在EVM板上能运行的话,说明代码的配置应该是对的。

建议检查一下您板子的硬件,看一下供电,时钟,复位,电源纹波等是否都稳定输出。

,

mingjun le:

可是我的硬件上其他外设可以正常工作,应该供电和时钟没有啥问题吧,EDMA无法正常工作,是不是需要依赖某个特别的设置?

,

Shine:

您看一下GEL文件是否和EVM板的gel文件初始化差不多吗?一般PSC使能了的话,应该就能工作了。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6748: 设置EDMA时,配置EDMACC0的相关寄存器,值写不进去。
分享到: 更多 (0)