280049C,程序用#pragma CODE_SECTION(xxx, ".TI.ramfunc"); 放至RAM运行,打断点不能停下,取消断点后有报错
C28xx_CPU1: Trouble Removing Breakpoint with the Action "Remain Halted" at 0x839b: (Error -1066 @ 0x839B) Unable to set/clear requested breakpoint. Verify that the breakpoint address is in valid memory. (Emulation package 8.2.0.00004)
不将程序放至RAM运行,则断点运行正常。
是什么问题? CCS9 compiler 18.12.2
Susan Yang:请问您是在哪里打的断点?能否给出相关的程序?
另外请您先看一下
e2e.ti.com/…/386163
280049C,程序用#pragma CODE_SECTION(xxx, ".TI.ramfunc"); 放至RAM运行,打断点不能停下,取消断点后有报错
C28xx_CPU1: Trouble Removing Breakpoint with the Action "Remain Halted" at 0x839b: (Error -1066 @ 0x839B) Unable to set/clear requested breakpoint. Verify that the breakpoint address is in valid memory. (Emulation package 8.2.0.00004)
不将程序放至RAM运行,则断点运行正常。
是什么问题? CCS9 compiler 18.12.2
allen LIN:
回复 Susan Yang:
谢谢回复!
又实验了一下,似乎是打断点的时间问题:
DSP reset restart
程序还没开始运行,我先在想要停下的位置打断点:
1.如果断点在中断服务函数里面,则无法在断点处停下,取消断点出现上述错误;
2.如果断点在main函数里面,断点功能正常;
如果让程序运行一下,在任意位置打断点,断点功能正常。
这是正常的现象么?
还有个问题:
interrupt voidisr(void)
{FUN1();FUN2();
…
}
void FUN1(void)
{sub1();sub2();
…
}
#pragma CODE_SECTION(sub1(), ".TI.ramfunc");
#pragma CODE_SECTION(sub2(), ".TI.ramfunc");
#pragma CODE_SECTION(FUN1(), ".TI.ramfunc");
要让程序在RAM运行,是需要子函数分别搬到RAM,还是FUN1搬一次就够了?还是要三个都做#pragma CODE_SECTION操作?