This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28P650DK:EMIF 16位 SDRAM 应用

Guru**** 2576215 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1358614/tms320f28p650dk-emif-16-bit-sdram-application

器件型号:TMS320F28P650DK

您好!

我正在使用 EMIF 外设开发16位 SDRAM 应用。 可以使用 CPU 和 DMA 确认我能够写入/读取外部 SDRAM (far 存储器位置0x8000000)。 但我有几个问题、  

1) 1)尝试使用 CCS 调试器中的内存浏览器、查看并验证正在写入 SDRAM 的数据、当我查看地址0x80000000及以上时、内存映射不显示数据。 我将鼠标悬停在存储器位置上、显示的消息为"存储器映射阻止读取0x80000000@数据"。 我在使用 Delfino 器件时不存在这个问题。 这是否是 F28P65x 的已知问题?

2) 2)我的 DMA 初始化和设置与 TI 为这部分提供的示例"emif_ex5_16bit_SDRAM_dma.c"非常相似。  为了成功执行 DMA 写入和读取操作、我必须在 RAMGS0和 RAMGS1中定义/分配读取和写入数据缓冲区。 示例也会执行此操作、  

#pragma DATA_SECTION (localSrcRAMBuf"ramgs0");
#pragma DATA_SECTION (localDstRAMBuf"ramgs1");
请更正我的理解、这是因为 DMA 只能访问 GSxRAM 吗?
谢谢。
斯里尼
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是 F28P65x 的一个已知问题吗?

    如果使用 GEL_MapAddStr (...)包含 SDRAM 存储器范围、请检查 GEL 文件 或 GEL_MapAdd (..)

    Unknown 说:
    请更正我的理解、这是因为 DMA 只能访问 GSxRAM 吗?

    如果 ramgs0和 ramgs1段已在链接器 cmd 文件中定义、则没问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢、解决这个问题!