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.
I build a project based a I build a project (ccs5.5, 2808) based on a example project "Example_280xAdcSoc". In the new project, I add some matrix calculation functions using pointer, which are used to process the data converted by the ADC. Now there are no errors and warnings when building the project.
Then I try to debug step by step. However, there are too errors as follows:
1.Can't find a source file at "/tmp/TI_MKLIBXHHo2F/SRC/memory.c"
2.No source available for "0x66"
For the first error, I can not step over as suggested in CCS V5.3_Can't find a source file at "/tmp/TI_MKLIBFC2w5c/SRC/exit.c" - Code Composer Studio forum -...
More information about the error:
My colleague tells me that it is caused by the overlap of the data and program memory assignment. I check the memory map and my .cmd files and solve the problem
My .cmd file is shown as follows:
MEMORY
{
PAGE 0 :
/* For this example, H0 is split between PAGE 0 and PAGE 1 */
/* BEGIN is used for the "boot to SARAM" bootloader mode */
BEGIN : origin = 0x000000, length = 0x000002
RAMM0 : origin = 0x000002, length = 0x0003FE
RAML0 : origin = 0x008000, length = 0x001000
PRAMH0 : origin = 0x3F8000, length = 0x002FFF//by me
RESET : origin = 0x3FFFC0, length = 0x000002
BOOTROM : origin = 0x3FF000, length = 0x000FC0
PAGE 1 :
/* For this example, H0 is split between PAGE 0 and PAGE 1 */
M0RAM : origin = 0x00A000, length = 0x400//by me, to remove the .sysmem warning
BOOT_RSVD : origin = 0x000400, length = 0x000080 /* Part of M1, BOOT rom will use this for stack */
RAMM1 : origin = 0x000480, length = 0x000380 /* on-chip RAM block M1 */
DRAMH0 : origin = 0x3FB000, length = 0x001000
}
SECTIONS
{
/* Setup for "boot to SARAM" mode:
The codestart section (found in DSP28_CodeStartBranch.asm)
re-directs execution to the start of user code. */
codestart : > BEGIN, PAGE = 0
ramfuncs : > RAMM0 PAGE = 0
.text : > PRAMH0, PAGE = 0//Executable code and constants
.cinit : > RAMM0, PAGE = 0//initialized global and static variables
.pinit : > RAMM0, PAGE = 0
.switch : > RAMM0, PAGE = 0//Tables for switch statements
.reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
.stack : > RAMM1, PAGE = 1//stack space
.ebss : > DRAMH0, PAGE = 1
.econst : > DRAMH0, PAGE = 1 //constant data, e.g. const int k=3
.esysmem : > RAMM1, PAGE = 1// memory for malloc type functions
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
.cio : > RAMM0, PAGE = 0 // to remove the .cio warning
.sysmem : > M0RAM, PAGE = 1// to remove the .sysmem warning
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
IQmath : > PRAMH0, PAGE = 0
IQmathTables : > BOOTROM, type = NOLOAD, PAGE = 0
}
Actually, when I assign the memory, I find that there is another link file called "DSP280x_Headers_nonBIOS.cmd", which also must be considered when assign the customized memory to make sure there is no conflict or overlap.
Wish my experience could help