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.

[参考译文] LAUNHXL-F28379D:关于 EMIF1的问题:索引和寻址的奇怪问题

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1069708/launchxl-f28379d-question-about-emif1-a-strange-issue-about-indexing-and-addressing

部件号:LAUNHHXL-F28379D

你好。 我使用的是 LAUNHXL-F28379D,我已经构建了一个连接 到 J9的256MB SDRAM 板。 当我尝试两种方法向 EMIF1读取/写入数据时,遇到了一个奇怪的问题。

首先,我使用绝对寻址,它运行良好。 代码如下所示:

#include "F28x_Project.h"
#include "SCI_Transmission.h"
外部 void LaunchXL_F28379D_CPU1_Init(void);

浮点*EMIF_DATA =(浮点*) 0x8000000;

主无效(无效)

InitSysCtrl();
LaunchXL_F28379D_CPU1_Init();

While (1)(同时)

*(EMIF_DATA+147)= 0.3;

}

现在,如果我定义了一个数组并将其分配给 EMIF1部分。 对于某些索引,它运行良好。 但对于其他大型索引,PC 指针失去控制。 它从0x3fee00到0x3fee04被吸入。 代码如下所示:

#include "F28x_Project.h"
#include "SCI_Transmission.h"
外部 void LaunchXL_F28379D_CPU1_Init(void);
#define size 150
浮点 EMIF_DATA[大小];
#pragma data_section (EMIF_data,"DataLogFile");
主无效(无效)

InitSysCtrl();
LaunchXL_F28379D_CPU1_Init();

While (1)(同时)

EMIF_DATA[147]= 0.3;

}

我还附加了我的.cmd 文件。

第1页:

EMIF1_CS0n    :原点= 0x8000000,长度= 0x10000000

DataLogFile:> EMIF1_CS0n,第=1页

我用红色突出显示了不同的部分。 此外,“147”不是任意值。 当我将其更改为146时,PC 指针不会失去控制。 但是,不管它是什么索引,该值都不能正确传输到 EMIF_DATA[147]中。 那么,我是否对第二种方法(数组)做了正确的操作?  谢谢!

此致。

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

    你好,杨,谢谢你的帮助。  为纪念马丁·路德·金博士节,请期待在漫长的周末作出答复。  此致,克利须那

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

    您好,

    我正在研究这一问题,不久将回来。

    谢谢
    瓦舒达

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

    您好,

    很抱歉耽误你的时间。 我还在做这方面的工作。 很快就会回来。

    谢谢
    瓦舒达

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

    Vasudha 您好,您是否重复了此问题? 谢谢!

    此致,