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

TMS320C6722 dMAX 内存映射控制寄存器组 汇编指令无法配置

硬件平台:自己设计的TMS320C6722最小系统

软件平台:CCS5.5

仿真器:SEED XDS-510PLUS

       项目使用汇编语言编程,想使用dMAX的DETR产生CPU中断,但初始化时发现无法通过 STW指令配置相关控制寄存器(包括DEPR、DEER等),

部分配置程序如下:

       .asg "60000008H" , DEPR ;

         MVKL .S1 DEPR , A5

        MVKH .S1 DEPR , A5 

        MVKL .S1 0000000FH , A6

        MVKH .S1 0000000FH , A6 

        STW .D1 A6 , *A5

        在执行完以上指令后,通过仿真器,看到DEPR(映射地址0x60000008)的值仍为0x00000000,dMAX的其他内存映射控制寄存器也无法写入。

但是,我同样是使用STW指令是可以配置其他模块的memery-mapped 寄存器的,例如PLL的配置。

        硬件上试过几块同型号DSP,也是同样的现象,不知道我对dMAX的配置是不是遗漏了什么细节,但手册也反复看过,没看出什么问题,没有办法了,求助。

Tony Tang:

代码可以写的简单点:

         MVKL   DEPR , A5

        MVKH   DEPR , A5 

        STW     0x0000000FH  , *A5

在CCS里memory view里这个地址可以改写吗?

Shike Xu:

回复 Tony Tang:

感谢你的回答。

CCS memory view 里往这些地址写无效,写1还是0。

我用了官方的例程,在C环境下可以使用dMAX做3D数据传输,证明硬件没有问题。

通过比较官方例程和我的汇编工程的不同,最终把问题定位到c672xRomPatchV1_00_00.lib这个补丁库上,有一段初始化代码 initPdsp 会在_c_int00中执行。

这段代码对0x61000000~0x61000FFC和其他一些地址进行了配置,手册上没有说,但应该就是配置dMAX的。

我在汇编环境下使用了这个库文件的initPdsp,实现了用dMAX产生CPU中断功能。

但是有些不放心,因为这些都是通过查看例程生成的汇编程序来推测的(没有c672xRomPatchV1_00_00.lib这个库的源代码或说明文件),

担心可能会有其他的配置没有考虑到,

所以想请TI公司能否提供这个库的说明文档或源码之类的,最好能提供给汇编环境使用的库,谢谢。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6722 dMAX 内存映射控制寄存器组 汇编指令无法配置
分享到: 更多 (0)