We are having an issue with our custom OMAP-L138 based target board. The specifically the issue is with the EMIFA interface. We have flash, FRAM, and an FPGA hanging on the Asynch Bus lines.
1) Micron NOR Flash: PC28F128P30TF65A
2) Altera Cyclone 5 FPGA: 5CEBA7U19
3) FRAM: FM23MLD16-60-BG (Ramtron - AKA Cypress)
What I am seeing is a consistent memory corruption issue when using the Memory Browser in TI Code Composer 5.5. I have attached the memory dump file which illustrates the issue. This corruption is a consistent problem across all of the chip selects (I have observed this on CS2 - Flash and CS3 - FRAM so far).
Whether I look at flash or FRAM I can see the first 0x80 words are incorrect at every multiple of 0x400 words. From Address 0x0000 through 0x007F we see:
0x0719 0xE000, followed by 0x0000 up to address 0x0080
After that, the 16 bit count pattern I filled the FRAM with resumes from 0x0080 up to 0x0400.
From Address 0x0400 through 0x047F we see:
0x0719 0xE000, followed by 0x0000 up to address 0x0080
After that, the 16 bit count pattern I filled the FRAM with resumes from 0x0480 up to 0x0800, etc...
I have looked at all of the data lines with an O-scope, and they look OK. The pattern of the memory corruption doesn't seem to indicate an address line, or byte select issue.
The strange thing about this is with software that was previously programmed into the board, boots and runs without any problems. Which seems to indicate there is some kind of strange interaction with the emulator, or maybe a bug in the way our latest software initializes the EMIF.
Has anything like this been seen before? Are there any suggestions for things to look at?