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.
Hi,
My customers are using EMIFA to access external Flash.
They are trying to access 16-bit asynchronous memory and have ASIZE set to "1", but problems arise.
The problem is that an address shifted 2 bits right is output.
For example, when trying to access 0x0146, 0x0051 is output from EMA_A [16: 0].
I can agree if it only shifts 1 bit for EMA_BA [1], but I do not know the cause of 2 bit shift.
Are there any ideas on the cause or solution of this problem?
Best Regards,
Miyashiro
It's years since I used a 16-bit flash on an OMAP-L138, but that sounds correct to me.
The lowest order address bit connected to a 16-bit device should be OMAP EMA_BA[1], which would connect to A0 on your 16-bit flash device. Next you'd connect OMAP EMA_A[0] to flash address A1, EMA_A[1] to flash A2, and so on.
You get two bytes returned with each read, so divide the number of address bits you'd require for an 8-bit read by 2. So the entire address output would be A3. But remember the lowest of these bits is output on BA[1], so you'd see 51 on the EMA_A[15:0].
Regards, Jon.
Hi Miyashiro
I should point out that I'm just a forum user (not a TI representative) who happens to have done a couple of OMAP-L138 designs, so you might want to wait for official TI confirmation. However, it does sound logical to me.
Best regards, Jon.