Other Parts Discussed in Thread: TMS320C6748
Suppose I want to do a NOR Flash Legacy Boot on the TMS320C6748/6.
According to spraat2c.pdf:
> NOR (or parallel Flash) boot happens from a NOR Flash device connected to the external memory
> interface (EMIFA) peripheral on EMA_CS[2]. For this boot mode, the bootloader configures EMIFA for
> 8-bit access and reads the first word from the NOR Flash. This first word indicates if the NOR Flash
> should be accessed in 16-bit or 8-bit mode, as well as which boot method to be used.
So I understand the first 4 bytes will read in 8 bit mode.
To hook up a 16 bit nor flash device we would route EMA_BA[1] to A[0], and EMA_A[n:0] -> A[n+1:1] and EMA_D[15:0] -> DQ[15:0]. Note that the 16 bit NOR flash device does not see BA[0]. If I have wired up the device like this, then how can the 4 byte reads to recover the NOR Boot Configuration word work? How can we ever read byte 1 (or 3) using an 8 bit access with this wiring?
I expect to see the following sequence of 8 bit reads when we attempt to read the NOR Boot Configuration word from the 16 bit device:
EMA_A[n:0] EMA_BA[1:0] EMA_D[15:8] EMA_D[7:0]
0x0000 0x0 data byte 1 data byte 0
0x0000 0x1 data byte 1 data byte 0
0x0000 0x2 data byte 3 data byte 2
0x0000 0x3 data byte 3 data byte 2
Which would lead to the recovered NOR Boot Configuration Word being incorrectly received as
[31:24] [23:16] [15:8] [7:0]
data byte 2 data byte 2 data byte 0 data byte 0