Hi Ti,
I am a newcomer for developing dsp. I am trying to use ccs to debug the dsp side codes of the notify example in syslink on DM8148. I am using ccs 5.4.0. And its components' versions are:
sys/bios 6.35.1.29
ipc 1.25.0.04
xdctools 3.25.0.48
And I am using syslink 2.0 which is one component of EZSDK 5.03.01.15. The versions of the other related components in EZSDK are:
bios: 6.32.05.54
ipc: 1.23.05.40
xdctools: 3.22.04.46
The versions of components used in ccs (windows) and EZSDK(for building syslink samples) are really not coincident.
First I create and build the notify project in ccs as http://processors.wiki.ti.com/index.php/Creating_CCS_Project_for_SysLink_samples says. But I do "not" set the build options as "-DSYSLINK_PLATFORM_TI81XX" because of the different versions of ccs between mine and the authors'. Also I do "not" set the configuration script arguments type as "{dmTimerFreq: 32768}" because the example would be stuck behind ipc_start() if so. And I changes the Timer.intFreq.lo as 20000000 in .cfg file. Because the project created by ccs needs the path to syslink, I copy the syslink 2.0 to windows environment and indicate its path.
Based on the above settings, I build the project and get the .out file. But there are two warnings "#10063-D:entry-point symbol other than ' _c_int00 specified ' " and "#10247-D:creating output section '.plt' without a SECTIONS specification". It seems nothing matters. In order to verify the correctness of the .out file or my settings, I download the .out file into the platform's filesystem and run in the same way as the .xe674 file in syslink. The results are the same. I think my settings are correct, am I right? But the sizes of the .out file and the .xe674 file differ largely. Is it because the difference between windows and linux? Oh, I’m digressing here.
Then, I begin to debug the codes on dsp side as follows:
1. Startup DM8148 and the dsp core: ./slaveloader_debug startup DSP ./notify_ti81xx_dsp.xe674
2. Startup ccs, debug .ccxml, right click on dsp core and select "connect target". Although it prompts one error "No source available for '0x8b0168fc' ", but I ignore it. After I load the symbols, it should spin on Ipc_start(), but it halts on ti_sdo_ipc_GateMP_start() in the GateMP.c file.
Also I try to load program, the debugger can find the main(), it spins on Ipc_start(). Then I run the example on DM8148, sometimes it can halt on the breakpoint set in the task function, but sometimes it doesn't and the example can execute without errors. It seems to be not steady enough.
I have consulted many threads but got no way. I have tried my best. Is anyone willing to help me? Thanks!