TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28388D: EMIF1访问SDRAM双映射问题

Part Number:TMS320F28388D

使用F28388D的emif访问SDRAM的时候发现同步模式下的内存区间有:

也就是CS0n有两个地址段,双映射的。发现0x0020 0000段可以通过#program进行写访问,但是0x8000 0000内存段不能用#program进行访问,但是用指针可以进行读写访问。

static float_t s_rDataValue[MAX_DATALEN];
static float_t s_rDataBufValue[MAX_DATABUFLEN];
uint32_t g_ulChannelIndex[MAX_CHANNEL];
#pragma DATA_SECTION(s_rDataValue,"emif1_cs0");
#pragma DATA_SECTION(s_rDataBufValue,"emif1_cs0");
#pragma DATA_SECTION(g_ulChannelIndex,"emifcs0");

cmd部分:emifcs0 : > EMIF1_CS0n, type=NOINITemif_cs0_nonfar  : > EMIF1_CS0_CS2n.farbss: > EMIF1_CS0n.farconst: > EMIF1_CS0n.em1_cs0: > EMIF1_CS0n.em1_cs2: > EMIF1_CS2n | EMIF1_CS0_CS2n.em1_cs3: > EMIF1_CS3n.em1_cs4: > EMIF1_CS4n.em2_cs0: > EMIF2_CS0n.em2_cs2: > EMIF2_CS2n

也就是g_ulChannelIndex直接赋值是没有办法的。

但是如果定义一个指向0x8000 0000的指针,是可以对指针赋值的。

您好是有相关的配置要求还是0x8000 0000段就不支持#program的方式呢?

Green Deng:

你好,为你将问题升级到英文E2E论坛了,还请留意以下帖子的回复:

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1030099/tms320f28388d-emif1-access-to-sdram-dual-mapping-problem 

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28388D: EMIF1访问SDRAM双映射问题
分享到: 更多 (0)