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

Reply via email to