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.

[参考译文] CCS/TMS570LS3137:使用 SDRAM 时 TMS570LS3137 HDK 的最大阵列尺寸

Guru**** 2323460 points
Other Parts Discussed in Thread: TMS570LS3137, HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/588304/ccs-tms570ls3137-maximum-array-size-of-tms570ls3137-hdk-when-using-sdram

器件型号:TMS570LS3137
主题中讨论的其他器件: HALCOGEN

工具/软件:Code Composer Studio

您好!

我编写了一个程序来在 TMS570LS3137 HDK 上测试 SDRAM、但它有问题。 我确保所有配置都正确(EMIF 时序、PINMUX、将 SDRAM 地址添加到链接器等)。 这是 sys_main.c;

#define testSize 300000

int Test[testSize];

for (int i=i;<testSize; i++) 0

test[i]=i;

值必须增加、如0、1、2、3、4、5、6 ... 但是、在存储器浏览器中、我会在这些值的地址看到这些值:

测试[0]= 256  

测试[1]= 257  

测试[2]= 258  

测试[3]= 259  

…………

测试[256]= 256

测试[257]= 257

当我逐步调试代码时、这些值会正常增加、直到 i=256

测试[0]= 0

测试[1]= 1

测试[2]= 2

(笑声)

当 i=256时、仅测试[256]必须等于256、但测试[0]也变为256

当 i=257时、只需测试[257]必须等于257、但测试[1]也变为257

(笑声)

请帮我解决这个问题。 会出什么问题?  

此致、

阿斯兰

编辑:我还使用 uint16数组尝试了代码。

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

    TMS570LS3137具有256KB RAM。 您在代码中定义的数组是292KWORD (32位)、比 SRAM 大小大得多。

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

    正如我说过的、我正在使用 SDRAM、它具有8MB 的容量。 我可以成功构建它。 它没有问题。

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

    我解决了在 EMIF.c 中更改行时出现的问题、
    我在这里写这个、如果有人有相同的问题、他/她可以解决这个问题。 不要忘记只将16位值用于 ISSI 42IS16400F 型号 SDRAM、因为它具有16位数据总线!

    在 EMIF.c 中、有一个函数在启动时初始化 EMIF、并且该函数的最后一行有此代码、

    *((unsigned char *)(&emifREG->SDCR)+0x0U)= 0x80;

    如果有人面临相同的问题、他/她必须使用以下方法进行更改;

    *((unsigned char *)(&emifREG->SDCR)+0x3U)= 0x80;

    谢谢、此致、

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

    您好、Aslan、

    最新版本的 HALCoGen 生成的代码正确、与您修改的代码相同。 请将您的 HALCoGen 更新为新版本(4.6.1)。 非常感谢。

    这是 HALCoGen 4.6.1生成的代码:

    此致、

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

    我将对其进行更新、非常感谢。

    此致、
    阿斯兰