Other Parts Discussed in Thread: TM4C123GH6PM,
Tool/software: Code Composer Studio
In a CCS 7.1.0.00016 installation the ROM size for all TM4C123 and TM4C129 devices is specified as 0x00008c00 bytes in the GEL files:
GEL_MapAddStr(0x01000000, 0, 0x00008c00, "R", 0); /* ROM */
From the datasheets not sure of the actual ROM sizes, but running test programs which read from incrementing addresses starting at the ROM base address of 0x01000000 until get a bus fault the ROM sizes are:
- 0x8800 bytes for a TM4C123GH6PM with ROM version 0x26e
- 0xe700 bytes for a TM4C1294NCPDT with ROM version 0x301
The memory map in the GEL files is designed to stop the CCS debugger from accessing addresses which will cause a bus fault due to not being mapped. Since the actual ROM size in the devices differs from the that specified in the memory map in the GEL files during debugging of programs which use ROM functions:
a) For a TM4C123GH6PM the GEL memory map is larger than the actual device ROM, which causes the debugger to report errors of the form "CORTEX_M4_0: Trouble Reading Memory Block at 0x1008800 on Page 0 of Length 0x2d8: Debug Port error occurred" if attempt to read the area of memory from addresses 0x01008800 .. 0x01008BFF which is marked as readable ROM space in the GEL file memory map, but is not actually mapped to memory.
b) For a TM4C1294NCPDT the GEL memory map is smaller than the actual device ROM. If the program is halted inside a ROM function at an address not marked as readable in the GEL file memory map then the CCS debugger reports "Memory map prevented reading" rather than disassembling the ROM function. E.g. can occur for the ROM_UARTCharPut function which is at address 0x1009fe2 in ROM revision 0x301.
Are the actual ROM sizes for TM4C123 and TM4C129 devices fixed so the the CCS GEL files can be updated to match the ROM size, or can the ROM sizes change with device revisions?