Thanks a lot, Following your advice, I add res6400.lib and a .cmd file to my project , and my code can be debugged now.
More help from Albert... - Rob From: Albert Burbea [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 13, 2008 11:23 AM To: Tivy, Robert Subject: Re: How to debug dsp side program using CCS Hi all again about the _c_int00: you probably did not link the rts6400.lib file in your project Albert On Tue, May 13, 2008 at 7:48 PM, Tivy, Robert <[EMAIL PROTECTED]> wrote: You don't necessarily need a DSP/BIOS TCF file. You need one only if you want to use DSP/BIOS in your C code. For your simple test, you need to create a linker command file. It seems that the CCS project you have created (with odd names; 1.c, 2.pjt) has created one for you (Debug.lkf), but that it doesn't match your actual memory (loading problems) and it doesn't seem to REALLY be part of the project, so you might need to add it manually. Check the Debug.lkf file and modify MEMORY statements to reflect your DSP memory map. The newline warning might be a side effect of the CCS editor. Try editing in a non-CCS editor and saving the file. The _c_int00 warning is because you have not included a boot file in your project. There is a boot.c you can use from codegen tools, you should copy it to your work area and include it in the project. Regards, - Rob > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] > ] On Behalf Of Kamoolkar, Mugdha > Sent: Tuesday, May 13, 2008 1:22 AM > To: cs; davinci-linux-open-source > Subject: RE: How to debug dsp side program using CCS > > Hi, > > It looks like you may not have created TCF configuration file > for your program. You can refer to any DSP/BIOS example > application for this (available within CCS). If you don't > have TCF file, then you will not get any linker command file, > which would otherwise have been generated by the TCONF > utility that runs when you build the project. > If you don't have this, you will get the "entry point symbol > undefined error". > > The TCF file will have memory map, device information etc. > for your device & application. > > Regards, > Mughda > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] > ] On Behalf Of cs > Sent: Tuesday, May 13, 2008 1:08 PM > To: davinci-linux-open-source > Subject: How to debug dsp side program using CCS > > Hi all, > > For those dual core cpu such as Dm6446 , If I want to develop > DSP side program , how to debug the program when using CCS. > > My board is connected by XDS560 . In parallel debug manager > windows , click C6400PLUS_0 enter CCS. > Then I load a gel file and create a new simple TMS320C64XX > project. the code is as followed > > int main() > { > int a,b,c; > a = 8788; > b = 77564; > c = a*b; > > return c; > } > > when I compile my code, the warning information is shown > > ////////////////////////////////////////////////////////////// > ////////////////////////////////////////////////////////////// > ------------------------------- 2.pjt - Debug > ------------------------------- [1.c] > "D:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -g > -fr"D:/try/dsp/2/Debug" -d"_DEBUG" -mv6400 -@"../2/Debug.lkf" "1.c" > "1.c", line 12: warning: last line of file ends without a newline > > Warning: The project has no cmd file while the Text Linker is > selected [Linking...] > "D:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -@"Debug.lkf" > <Linking> > warning: entry point symbol _c_int00 undefined > > Build Complete, > 0 Errors, 3 Warnings, 0 Remarks. > ////////////////////////////////////////////////////////////// > //////////////////////////////////////////////////////////////// > > > > when I load .out file , the following information happen. Do > I forget some steps? > > ////////////////////////////////////////////////////////////// > //////////////////////////////////////////////////////////////// > Loader: One or more sections of your program falls into a > memory region that is not writable. These regions will not > actually be written to the target. Check your linker > configuration and/or memory map. > Trouble Writing Register: Error 0x00000006/-1176 Error > during: Memory, Register, The IM memory request is not > serviced by the HW memory system. This could be caused by > the memory address specified does not exist in the specified > memory/cache level. Sequence ID: 6 Error Code: -1176 Error > Class: 0x00000006 > ////////////////////////////////////////////////////////////// > //////////////////////////////////////////////////////////////// > > > > the gel file is as followed > /* > -------------------------------------------------------------- > ---------- * > * > * > * DaVinciEVM_dsp.gel > * > * Version 3.00 > * > * > * > * This GEL file is designed to be used in conjunction with > * > * CCS 3.2X and the Davinci based EVM. > * > * > * > * > -------------------------------------------------------------- > ---------- */ > /* > -------------------------------------------------------------- > ---------- * > * > * > * StartUp( ) > * > * > * > * Setup Memory Map > * > * > * > * > -------------------------------------------------------------- > ---------- */ StartUp( ) { > setup_memory_map_dsp( ); > } > > /* > -------------------------------------------------------------- > ---------- * > * > * > * OnTargetConnect( ) > * > * > * > * > -------------------------------------------------------------- > ---------- */ OnTargetConnect( ) { } > > /* > -------------------------------------------------------------- > ---------- * > * > * > * setup_memory_map_dsp( ) > * > * > * > * Setup the Memory Map for DSP side only. > * > * > * > * > -------------------------------------------------------------- > ---------- */ setup_memory_map_dsp( ) { > GEL_MapOn( ); > GEL_MapReset( ); > > /* RAM/ROM memory map */ > GEL_MapAddStr( 0x00100000, 0, 0x00100000, "R|W|AS4", 0 ); > // DSP UMAP1 ImgCop > GEL_MapAddStr( 0x00800000, 0, 0x00010000, "R|W|AS4", 0 ); > // DSP UMAP0( L2 Cache ) > GEL_MapAddStr( 0x00E00000, 0, 0x00004000, "R|AS4", 0 ); > // DSP L1P( Secure ROM ) > GEL_MapAddStr( 0x00E08000, 0, 0x00008000, "R|W|AS4", 0 ); > // DSP L1P Cache > GEL_MapAddStr( 0x00F04000, 0, 0x0000C000, "R|W|AS4", 0 ); > // DSP L1D RAM > GEL_MapAddStr( 0x00F10000, 0, 0x00008000, "R|W|AS4", 0 ); > // DSP L1D Cache > > /* Peripheral memory map */ > GEL_MapAddStr( 0x01800000, 0, 0x00010000, "R|W|AS4", 0 ); > // DSP Interrupts > GEL_MapAddStr( 0x01810000, 0, 0x00001000, "R|W|AS4", 0 ); > // DSP Powerdown > GEL_MapAddStr( 0x01811000, 0, 0x00001000, "R|W|AS4", 0 ); > // DSP Security ID > GEL_MapAddStr( 0x01812000, 0, 0x00001000, "R|W|AS4", 0 ); > // DSP Revision ID > GEL_MapAddStr( 0x01820000, 0, 0x00010000, "R|W|AS4", 0 ); > // DSP EMC > GEL_MapAddStr( 0x01840000, 0, 0x00010000, "R|W|AS4", 0 ); > // DSP Memory System > GEL_MapAddStr( 0x01BC0000, 0, 0x00000100, "R|W|AS4", 0 ); > // DSP AET Registers > GEL_MapAddStr( 0x01BC0100, 0, 0x00000100, "R|W|AS4", 0 ); > // DSP Pin Manager and Trace > > GEL_MapAddStr( 0x01C00000, 0, 0x00010000, "R|W|AS4", 0 ); > // EDMA CC > GEL_MapAddStr( 0x01C10000, 0, 0x00000400, "R|W|AS4", 0 ); > // EDMA TC0 > GEL_MapAddStr( 0x01C10400, 0, 0x00000400, "R|W|AS4", 0 ); > // EDMA TC1 > GEL_MapAddStr( 0x01C20000, 0, 0x00000034, "R|W|AS4", 0 ); > // UART 0 > GEL_MapAddStr( 0x01C20400, 0, 0x00000034, "R|W|AS4", 0 ); > // UART 1 > GEL_MapAddStr( 0x01C20800, 0, 0x00000034, "R|W|AS4", 0 ); > // UART 2 > GEL_MapAddStr( 0x01C21000, 0, 0x00000060, "R|W|AS4", 0 ); // I2C > GEL_MapAddStr( 0x01C21400, 0, 0x0000002C, "R|W|AS4", 0 ); > // Timer 0/1 > GEL_MapAddStr( 0x01C21800, 0, 0x0000002C, "R|W|AS4", 0 ); > // Timer 2/3 > GEL_MapAddStr( 0x01C21C00, 0, 0x0000002C, "R|W|AS4", 0 ); > // Watchdog Timer > GEL_MapAddStr( 0x01C22000, 0, 0x0000001C, "R|W|AS4", 0 ); > // PWM 0 > GEL_MapAddStr( 0x01C22400, 0, 0x0000001C, "R|W|AS4", 0 ); > // PWM 1 > GEL_MapAddStr( 0x01C22800, 0, 0x0000001C, "R|W|AS4", 0 ); > // PWM 2 > GEL_MapAddStr( 0x01C40000, 0, 0x00000264, "R|W|AS4", 0 ); > // System Module > GEL_MapAddStr( 0x01C40800, 0, 0x00000174, "R|W|AS4", 0 ); > // PLL 1 > GEL_MapAddStr( 0x01C40C00, 0, 0x00000174, "R|W|AS4", 0 ); > // PLL 2 > GEL_MapAddStr( 0x01C41000, 0, 0x00000AA8, "R|W|AS4", 0 ); > // Power Sleep Controller > GEL_MapAddStr( 0x01C48000, 0, 0x00000050, "R|W|AS4", 0 ); > // ARM Interrupts > GEL_MapAddStr( 0x01C60000, 0, 0x00004000, "R|W|AS4", 0 ); > // IEEE 1394 > GEL_MapAddStr( 0x01C64000, 0, 0x00002000, "R|W|AS4", 0 ); > // USB 2.0 OTG > GEL_MapAddStr( 0x01C66000, 0, 0x00000800, "R|W|AS2", 0 ); > // ATA / CF > GEL_MapAddStr( 0x01C66800, 0, 0x00000074, "R|W|AS4", 0 ); // SPI > GEL_MapAddStr( 0x01C67000, 0, 0x00000038, "R|W|AS4", 0 ); > // GPIO > GEL_MapAddStr( 0x01C67800, 0, 0x00000104, "R|W|AS4", 0 ); > // UHPI > GEL_MapAddStr( 0x01C70000, 0, 0x00004000, "R|W|AS4", 0 ); > // VPSS > GEL_MapAddStr( 0x01C80000, 0, 0x00001000, "R|W|AS4", 0 ); > // EMAC Control > GEL_MapAddStr( 0x01C81000, 0, 0x00001000, "R|W|AS4", 0 ); > // EMAC Wrapper > GEL_MapAddStr( 0x01C82000, 0, 0x00002000, "R|W|AS4", 0 ); > // EMAC Wrapper RAM > GEL_MapAddStr( 0x01C84000, 0, 0x00000090, "R|W|AS4", 0 ); > // MDIO > GEL_MapAddStr( 0x01CC0000, 0, 0x00020000, "R|W|AS4", 0 ); > // Image Coprocessor > GEL_MapAddStr( 0x01E00000, 0, 0x000000b4, "R|W|AS4", 0 ); > // AEMIF Control > GEL_MapAddStr( 0x01E01000, 0, 0x00000560, "R|W|AS4", 0 ); > // VYLNQ Control > GEL_MapAddStr( 0x01E02000, 0, 0x0000005C, "R|W|AS4", 0 ); > // McBSP > GEL_MapAddStr( 0x01E10000, 0, 0x00000078, "R|W|AS4", 0 ); > // MMC / SD > GEL_MapAddStr( 0x01E20000, 0, 0x00000024, "R|W|AS4", 0 ); > // Memory Stick / Pro > > /* Off-chip memory map */ > GEL_MapAddStr( 0x02000000, 0, 0x02000000, "R|W|AS4", 0 ); > // AEMIF CS2 > GEL_MapAddStr( 0x04000000, 0, 0x02000000, "R|W|AS4", 0 ); > // AEMIF CS3 > GEL_MapAddStr( 0x06000000, 0, 0x02000000, "R|W|AS4", 0 ); > // AEMIF CS4 > GEL_MapAddStr( 0x08000000, 0, 0x02000000, "R|W|AS4", 0 ); > // AEMIF CS5 > GEL_MapAddStr( 0x0C000000, 0, 0x04000000, "R|W|AS4", 0 ); > // VLYNQ Remote > > /* ARM memory map */ > GEL_MapAddStr( 0x10008000, 0, 0x00002000, "R|W|AS4", 0 ); > // ARM RAM0 > GEL_MapAddStr( 0x1000A000, 0, 0x00002000, "R|W|AS4", 0 ); > // ARM RAM1 > GEL_MapAddStr( 0x1000C000, 0, 0x00004000, "R|AS4", 0 ); > // ARM ROM > > /* DSP RAM memory map */ > GEL_MapAddStr( 0x11100000, 0, 0x00100000, "R|W|AS4", 0 ); > // DSP UMAP1 ImgCop > GEL_MapAddStr( 0x11800000, 0, 0x00010000, "R|W|AS4", 0 ); > // DSP UMAP0 L2 Cache > GEL_MapAddStr( 0x11E00000, 0, 0x00004000, "R|AS4", 0 ); > // DSP L1P ROM > GEL_MapAddStr( 0x11E08000, 0, 0x00008000, "R|W|AS4", 0 ); > // DSP L1P Cache > GEL_MapAddStr( 0x11F04000, 0, 0x0000C000, "R|W|AS4", 0 ); > // DSP L1D RAM > GEL_MapAddStr( 0x11F10000, 0, 0x00008000, "R|W|AS4", 0 ); > // DSP L1D Cache > > /* DDR2 memory map */ > GEL_MapAddStr( 0x20000000, 0, 0x000000E8, "R|W|AS4", 0 ); > // DDR2 Control > GEL_MapAddStr( 0x42000000, 0, 0x0E000000, "R|W|AS4", 0 ); > // AEMIF/VLYNQ Shadow > GEL_MapAddStr( 0x80000000, 0, 0x10000000, "R|W|AS4", 0 ); > // DDR2 SDRAM > } > > > > > > > > > > 2008-05-13 > _______________________________________________ > Davinci-linux-open-source mailing list > [email protected] > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source > _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source -- Albert Burbea Harishonim 8 Ramat Gan 52502, Israel Tel/Fax + 972-3-7526016 Mobile: +972-52-3541842 cs [EMAIL PROTECTED] 2008-05-14
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
