我用的开发板是OMAPl138,仿真器是seed-XDS560plus,ccs版本为5.4
现在有一个工程,含有dsp程序和arm程序,我想问的是调试程序前需要哪些准备?是先把arm的程序load到芯片,然后设置断点,再运行arm程序,然后把dsp的程序load到芯片,设置断点,再运行dsp程序?dsp程序需要arm唤醒(看arm程序判断的),那么还需要设置断点吗?在哪设置断点?
omapl138芯片初学者,硬件初学者,能不能给我一个详细的调试步骤?谢谢,如何使arm的程序和dsp的程序配合调试?主要是调试dsp的程序
这是arm程序
void main(void) {
// Open Permissions to SYSCFG Registers (Not required for PG2.0 silicon and above)
KICK0Ra = 0x83e70b13;
KICK1Ra = 0x95A4F1E0;
//Set DSP boot address vector to entry point of DSP program
//This must be aligned to 1KB boundaries
SYS_REGS->HOST1CFG = 0x11800000;
CSL_FINST(psc0Regs->MDCTL[CSL_PSC_DSP], PSC_MDCTL_LRST, ASSERT);
while (CSL_FEXT(psc0Regs->PTSTAT, PSC_PTSTAT_GOSTAT1)
== CSL_PSC_PTSTAT_GOSTAT1_IN_TRANSITION)
;
//Wake up the DSP
CSL_FINST(psc0Regs->MDCTL[CSL_PSC_DSP], PSC_MDCTL_NEXT, ENABLE);
CSL_FINST(psc0Regs->PTCMD, PSC_PTCMD_GO1, SET);
while (CSL_FEXT(psc0Regs->PTSTAT, PSC_PTSTAT_GOSTAT1)
== CSL_PSC_PTSTAT_GOSTAT1_IN_TRANSITION)
;
CSL_FINST(psc0Regs->MDCTL[CSL_PSC_DSP], PSC_MDCTL_LRST, DEASSERT);
// Initialize OMAPL138 EVM (Configure Pins with UART; UART with ARM)
init_OMAPL138();
// Enable Peripherals (UART)
enable_module_clocks();
//USTIMER_init();
// Setup Peripherals; Run Example
// Configure UART2 and Enable UART Interrupts
setup_UART2();
// Map system interrupts to the ARM interrupt controller
setup_ARM_INTC();
// Pending "Passing" Status of Setup, Run Example
UART_hyperterminal_ARMexample();
}
youma zi:
另外,load完程序后,运行arm程序,ccs就卡死掉,无法调试
Tony Tang:
youma zidsp程序需要arm唤醒(看arm程序判断的),那么还需要设置断点吗?在哪设置断点?
用仿真器跑,DSP不需要ARM唤醒,已经在ARM的gel文件里唤醒了,不然DSP连不上仿真器。