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