Other Parts Discussed in Thread: HALCOGEN
Hello, I'm using the Hercules HDK and I've successfully gotten the example_emif_sdram.c example working to demonstrate successful configuration of the emif peripheral. I have removed the blinky code and tailored the main.c file to now write 0xA5A5 to the first 100 16-bit words in the SDRAM memory region. I have modified the example HALCoGen configuration by disabling cache and making the SDRAM Memory region (RW).
After writing 0xA5A5 I see 0xE5A5 in the memory browser indicating that D15-D14 are not as intended.
in main:
emif_SDRAMInit();
const uint16_t *buffer_loc = 0x80000000;
uint32_t i;
for( i=0; i<100; i++ )
{
*(uint16_t *)&buffer_loc[i] = 0x5000;
}
I have duplicated this similar behavior on D15-D14 for writing other data values: 0x5000 sets 0xD000, 0x7000 sets 0xF000, and 0x9000 sets 0xD000.
Am I missing a fundamental understanding? Why am I seeing this behavior for D15-D14?