Validating flash code
It is during the linking stage of your application build where the linker combines object files and allocates sections into the target system's configured memory.
The linker command language controls memory configuration, output section definition, and address binding.
For more complex devices like OMAP, Sitara, Da Vinci, etc it is more uncommon (though much improved starting with CCSv5.2 and greater) and example linker command files for these targets are often provided by some target content package like a BSP (Board Support Package) or an SDK.
If you are unable to find a linker command file for your device, you may try one of the example files available at the linker command file repository.
The target memory layout is defined in the BIOS tcf/cfg file.
Selecting the right device (for example, using the correct platform file for SYS/BIOS) is often enough to have a valid linker command file generated when building the BIOS project.
You configure system memory by defining and creating a memory model that you design.
Two linker directives, MEMORY and SECTIONS, allow you to allocate sections into specific areas of memory.
Refer to this document The first step is to make sure you build your application with a correct linker command file.
But essentially what it means is that there is a mismatch on what the: It is important to understand all three environments and make sure they are all properly aligned to avoid such errors.
NOTE: the below section assumes you are using the TI Code Generation Tools.
The debugger memory map will specify the target's memory configuration to the CCS debugger.
Since the debugger knows nothing about the information in the linker command file, it has no knowledge of the target's memory configuration without the debugger memory map correctly set up. When this is the case, the debugger assumes all memory ranges are accessible and will not automatically try to block any debugger accesses to memory (reads and writes).
These directives are often used in what is called the 'linker command file' (*.cmd), which is passed to the linker.