关于VC5402 DMA控制传送数据的问题 希望得到你热心的帮助

[复制链接]
1406|3
 楼主| scuwax 发表于 2013-5-28 10:55 | 显示全部楼层 |阅读模式
本人初学DSP,学习的是TMS320VC5402, 最近两周一直在研究DMA控制传送数据这块,遇到比较棘手的问题就是关于DSP存储器空间映射,感觉脑子里面一直没理清,写CMD老是有问题,有几个问题想请教一下各位前辈:
1)用CSS做软件仿真的时候存储器空间如何分配的?只考虑片内存储器资源的映射吗?会有外部存储扩展一说吗?
2 ) DMA传送能不能软件仿真呢?
3)我实现了数据存储器到数据存储器的DMA传送,但是始终没实现程序存储器到数据存储器的DMA传送,程序老是报错,我觉得是CMD文件编写的问题,错误基本上是关于存储器映射的问题,我把程序贴上来, 恳请大家帮我看看那里写的有问题,帮我解决一下 ,不胜感激!
下面是源文件
  1. ********************程序存储器到数据存储器的DMA传送(子库寻址不带自动递增)***********************
  2.                 .title        "DMA2.asm"
  3.                 .mmregs
  4.                 .include "reg.h"
  5. ;                .global        buffer, length
  6.                 .bss        x, 16
  7.                 .def        _init_dmac
  8.                 .data
  9. table:        .word        1,2,3,4,5,6,7,8,9,10
  10.                 .text
  11. _init_dmac:
  12.                 STM                DMSRCP,DMSA                ;设置源程序页1
  13.                 STM                #1h,DMSDN

  14.                 STM                DMSRC0,DMSA                ;设置源地址为8000h
  15.                 STM                #8000h,DMSDN        ;程序空间地址18000h的低16位

  16.                 STM                DMDST0,DMSA                ;设置目的地址为80h
  17.                 STM                #3000h,DMSDN

  18.                 STM                DMCTR0,DMSA                ;设置传送次数为Ah次
  19.                 STM                #(5h-1),DMSDN

  20.                 STM                DMSFC0,DMSA                ;设置同步事件和帧计数寄存器
  21.                 STM                #0000000000000000b,DMSDN

  22.                 STM                DMMCR0,DMSA                ;设置传送方式控制寄存器
  23.                 STM                #0000000100000101b,DMSDN

  24.                 STM                #0000000100000001b,DMPREC        ;设置通道优先级和使能控制寄存器

  25. end        B        end
  26.        .end
下面是CMD文件
  1. -o DMA2.out
  2. -m DMA2.map
  3. -e _init_dmac

  4. MEMORY
  5. {
  6.   PAGE 0:
  7.         EPROM : org=1700h, len=100h
  8.                 DEPROM: org=18000h, len=20h
  9.   PAGE 1:
  10.         SPRAM : org=0060h, len=20h
  11.         DARAM : org=3000h, len=20h
  12. }
  13. SECTIONS
  14. {
  15.   .text:        >EPROM  PAGE 0
  16.   .bss :        >DARAM  PAGE 1
  17.   .data:         >DEPROM  PAGE 0

  18. }
zhangmangui 发表于 2013-5-28 23:17 | 显示全部楼层
这个我搞不定  只能帮你顶顶呢
 楼主| scuwax 发表于 2013-5-30 21:31 | 显示全部楼层
zhangmangui 发表于 2013-5-28 23:17
这个我搞不定  只能帮你顶顶呢

谢谢支持啦!我找到原因了, CCS在软件仿真情况下的存储器映射跟实际的硬件是有区别的,软件仿真下的存储器映射让我摸不着头脑,我在硬件仿真下进行程序存储器到数据存储器的DMA传送是完全没问题的,而且存储器空间也是严格按照实际的分布的,所以我想CCS的软仿真应该是有所欠缺的 并不能拿来做实际的参考,具体软件仿真是怎么个机制我还是没搞清楚
zhangmangui 发表于 2013-5-30 22:05 | 显示全部楼层
scuwax 发表于 2013-5-30 21:31
谢谢支持啦!我找到原因了, CCS在软件仿真情况下的存储器映射跟实际的硬件是有区别的,软件仿真下的存储 ...

问题解决了就好  感谢你分享  在simulator下面仿真看来是不靠谱的  我都在硬件仿真下完成的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部