Part Number: TMS320F28388D
In the file 2838x_flash_lnk_cm.cmd, which is the linker directive file that is included with the CCS tool chain, I see the following:
CMBANK0_SECTOR10 : origin = 0x00270000, length = 0x00004000
CMBANK0_SECTOR11 : origin = 0x00274000, length = 0x00004000
CMBANK0_SECTOR12 : origin = 0x00278000, length = 0x00004000
CMBANK0_SECTOR13 : origin = 0x0027C000, length = 0x00004000
C1RAM : origin = 0x1FFFC000, length = 0x00001FFF
C0RAM : origin = 0x1FFFE000, length = 0x00001FFF
BOOT_RSVD : origin = 0x20000000, length = 0x00000800 /* Part of S0, BOOT rom will use this for stack */
S0RAM : origin = 0x20000800, length = 0x000037FF
S1RAM : origin = 0x20004000, length = 0x00003FFF
S2RAM : origin = 0x20008000, length = 0x00003FFF
S3RAM : origin = 0x2000C000, length = 0x00003FFF
E0RAM : origin = 0x20010000, length = 0x00003FFF
Note how all the FLASH sectors have lengths that exactly fill up their range in memory until the next sector. However, the SRAM banks have lengths that are one byte short of being full, hence cannot be appended into one large SRAM block.
Was this intentional?? Does that mean that the ARM processor cannot do reads/writes across a SRAM bank boundary?