主题中讨论的其他器件: C2000WARE
你好。 我使用的是 LAUNCHXL-F28379D、我构建了一个可通过 J9连接到 LAUNCHXL-F28379D 的小型存储器板。 将内存板连接到 LaunchPad 后、我进行了快速内存写入/读取测试、结果很奇怪。 所有偶数地址存储器工作不正常。 感觉 这个问题是由地址行 GPIO38/EM1A0引起的。 然后、我进行了两项测试、如下所示:
我写入0x8000 0000和0x8000 0001、 在这两种情况下、我希望 A0应该不同、但两者都是低电平。
2.我将 GPIO38配置为输出 GPIO 并输出高电平、我可以测量内存芯片上的高电平。 这证明连接正常。
有人能帮我解决这个问题吗? 我附加了 main.c 源文件和内存浏览器屏幕截图。 谢谢。
此致。
杨
/**
* main.c
*
#include "F28x_Project.h"
extern void LaunchXL_F28379D_CPU1_Init (void);
易失性 UINT16 * EMIF_POINTER=(UINT16 *) 0x80000000;
UINT32 EMIF_BIAS = 0;
uint16 write_data = 0;
uint16 read_data = 0;
uint32 failed_count = 0;
void main (void)
{
InitSysCtrl();
LaunchXL_F28379D_CPU1_Init();
PieCtrlRegs.PIECTRL.bit.ENPIE = 1;//启用 PIE 块
IER = M_INT1 | M_INT3 | M_INT9;
EINT;
while (1)
{
failed_count = 0;
WRITE_DATA = 0;
WRITE_READ = 0;
对于(EMIF_BIAS=0;EMIF_BIAS<0x10000000;EMIF_BIAS++)
{
*(EMIF_POINTER+EMIF_BIAS)= WRITE_DATA;
write_data++;
}
write_data=0;
WRITE_READ = 1;
对于(EMIF_BIAS=0;EMIF_BIAS<0x10000000;EMIF_BIAS++)
{
READ_DATA =*(EMIF_POINTER+EMIF_BIAS);
if (read_data!= write_data)
failed_count++;
write_data++;
}
}
}





