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.
Tool/software: TI C/C++ Compiler
I'm trying to run a simple code:
Uint16* ptr = malloc(300);
my project properties:
in cmd sysmem is written:
.esysmem : > RAMD0 PAGE = 1
If i run my code in CPU1 works OK. But if i try to run it in CPU2 it, after calling malloc() debugger jumps to:
// Connected to ITRAP of CPU (non-maskable):
//
__interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
{
EINT;
//
// Insert ISR Code here.......
//
// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
__asm (" ESTOP0");
//for(;;);
}
Project runs in FLASH. Project properties "-heap" are equal in CPU1 and CPU2 projects, us well us .esysmem section in cmd file
What could the problem be?
Manoj.
First I tried to look disassemly in CPU1, where malloc() working OK:
I found that _lock() is located in FLASH.
After what I look the same in CPU2:
As you can see _lock() has address 0x0
Next assemly step:
Final assembly step:
What shold I do to link _lock() in FLASH in CPU2?
Best regards, Kirill.