Sign in

username:

password:



Not a member?

Search c6x



Search tips

Subscribe to c6x



c6x by Keywords

AD535 | BIOS | Booting | Bootloader | C621 | C6211 | C6415 | C671 | C6711 | C6711DSK | C6713 | CCS | Chassaing | COFF | DAT | DM64 | DM642 | DMA | DSK671 | DSK6711 | EDM | EDMA | EMIF | Emulator | EVM | EVM620 | FFT | FIR | GPIO | Halting | HPI | HWI | IDK | JTAG | LDB | LDH | LDW | Linker | LMS | LOG_printf | Matlab | McBSP | MEM_alloc | MIPS | PCI | PCM3003 | Pipeline | Profiling | QDM | Reset | ROM | RTDX | Sampling | SDRAM | Stack | TEB | THS1206 | TMS320C621 | TMS320C6416 | TMS320C6711 | TMS320C6713 | UART | Vector Table | XBUS | XDS560

Sponsor

NEW! TMS320C6474: 3x the performance. 1/3 the cost. Three 1 GHz cores on 1 chip.

Discussion Groups

Discussion Groups | TMS320C6x | Re: MY GEL FILE(Modified) + ERRORS + MY SOURCE FILE to Jeff

Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).

  

Post a new Thread

Re: MY GEL FILE(Modified) + ERRORS + MY SOURCE FILE to Jeff - Jeff Brower - Sep 17 8:44:55 2006



Arunav-
> Thanks for replying.
> Now I am able to see my all the system in Big Endian Configuration, we are using
> it, as finally my system is used in Apple Machine, so to see the future constrains,
> My senior team decided to make it in Big Endian. The issuee related to the Endian
> has been solved, Now in CSR register, the eighth bit is low,(at the time of boot
> up, the read only register updates), thats having the value 0x00020000, means, my
> Target Board is now responding the Big Endian. Also I am able to download the code
> in Big Endian Libraries + Build option in BE.

Ok, you can tell your Sr. team that our Sr. team thinks that decision may need to be
re-evaluated given that MACs are moving to x86.
> The Issuee that is teasing me now a days is GEL file, I have modified the GEL file
> named, mem_map.GEL provieded in C:\ti\cc\gel. that is working fine, but my system
> starts with a message: - Trouble Writing Target CPU memory: Timeout on Target
> Processor Please check cabling or multi-processor configuration that is the one
> issuee, in other hand, I am not able to communicate with the peripherals, I am only
> able to read write in to internal memory.
> I have addedd the following files in my project
> 1.) GEL File
> 2.) .CMD file
> 3.) Vector.asm
> 4.) BE Libs
> 5.) Source file
>
> But still I am not able to cet chip selects at the out ports.

First, you need to kill anything in the .gel file other than CE2.  You don't have CE0
and CE1 hooked up right?  So what's going to happen when you access those areas or
the EMIF control registers for those areas?  You don't even have ECLKIN for those mem
spaces, so who knows what undefined behavior will occur.  I note that your first CCS
target error comes from this statement:

  *(int *)0x01800004 = 0xFFFFFF23;

which is CE1 but you have no memory there.

-Jeff
> Jeff Brower <j...@signalogic.com> wrote:
>
>       Arunav-
>
>      > I am sending the GEL File(Modified according to you), + Errors that are
>      comming +
>      > My Program with BIG ENDIAN
>
>      Why are you using big endian? If your board is set to boot the C6211
>      little endian,
>      then you need to set CCS build option to le, and also use le libraries.
>
>      Unless hardware constraints demand that you to use big endian for some
>      reason (and it
>      would need to be a good reason, for example shared memory with a PowerPC
>      processor)
>      then you should be using little endian.
>
>      -Jeff
>      > ========================================================
>      >
>      > My GEL FILE
>      > =======================================================
>      > StartUp()
>      > {
>      > setup_memory_map();
>      > GEL_Reset();
>      > init_emif();
>      > }
>      >
>      > init_emif()
>      > {
>      > /*
>      > * First we define the EMIF addresses
>      > */
>      > #define EMIF_GCTL 0x01800000
>      > #define EMIF_CE1 0x01800004
>      > #define EMIF_CE0 0x01800008
>      > #define EMIF_CE2 0x01800010
>      > #define EMIF_CE3 0x01800014
>      > #define EMIF_SDRAMCTL 0x01800018
>      > #define EMIF_SDRAMTIMING 0x0180001C
>      > #define EMIF_SDRAMEXT 0x01800020
>      > #define EMIF_CCFG 0x01840000; /*Cache configuration register*/
>      > *(int *)EMIF_GCTL = 0x00003300; /* EMIF global control register */
>      > *(int *)EMIF_CE2 = 0xFFFFFF23; /* CE2-32bit async on daughtercard*/
>      > #define CE1_32bit *(int *)0x01800004 = 0xFFFFFF23
>      > }
>      > clear_memory_map()
>      > {
>      > GEL_MapOff();
>      > }
>      > setup_memory_map()
>      > {
>      > /* Enable memory mapping in Code Composer */
>      > GEL_MapOn();
>      > /* Reset all memory to unreadable and unwritable */
>      > GEL_MapReset();
>      > /* Syntax for GEL_MapAdd(address, page, length, readable, writeable)
>      > * page: Program Memory = 0, Data Memory = 1, I/O Space = 2
>      > * readable: Not Readable = 0, Readable = 1
>      > * writeable: Not Writeable = 0, Writeable = 1
>      > */
>      >
>      > /* C6211 DSK-specific memory mapping */
>      >
>      /*--------------------------------------------------------------------*/
>      > GEL_MapAdd(0x00000000,0,0x00010000,1,1); /* Internal RAM (L2) mem */
>      > GEL_MapAdd(0x01800000,0,0x00000024,1,1); /* EMIF control regs */
>      > GEL_MapAdd(0x01840000,0,0x00000004,1,1); /* Cache configuration reg */
>      > GEL_MapAdd(0x01844000,0,0x00000020,1,1); /* L2 base addr & count regs*/
>
>      > GEL_MapAdd(0x01844020,0,0x00000020,1,1); /* L1 base addr & count regs*/
>
>      > GEL_MapAdd(0x01845000,0,0x00000008,1,1); /* L2 flush & clean regs */
>      > GEL_MapAdd(0x01848280,0,0x00000010,1,1); /* CE2 mem attribute regs */
>      > GEL_MapAdd(0x01880000,0,0x00000004,1,1); /* HPI control reg */
>      > GEL_MapAdd(0x018c0000,0,0x00000028,1,1); /* McBSP0 regs */
>      > GEL_MapAdd(0x01900000,0,0x00000028,1,1); /* McBSP1 regs */
>      > GEL_MapAdd(0x01940000,0,0x0000000c,1,1); /* Timer0 regs */
>      > GEL_MapAdd(0x01980000,0,0x0000000c,1,1); /* Timer1 regs */
>      > GEL_MapAdd(0x019c0000,0,0x0000000c,1,1); /* Interrupt selector regs */
>      > GEL_MapAdd(0x01a00000,0,0x00000800,1,1); /* EDMA parameter RAM */
>      > GEL_MapAdd(0x01a0ffe0,0,0x00000020,1,1); /* EDMA control regs */
>      > GEL_MapAdd(0x01bc0000,0,0x00000050,1,1); /********cTools*********/
>      > GEL_MapAdd(0x02000000,0,0x00000014,0,1); /* QDMA regs */
>      > GEL_MapAdd(0x02000020,0,0x00000014,0,1); /* QDMA pseudo-regs */
>      > GEL_MapAdd(0x30000000,0,0x04000000,0,1); /* McBSP0 data */
>      > GEL_MapAdd(0x34000000,0,0x04000000,0,1); /* McBSP1 data */
>      > GEL_MapAdd(0xA0000000,0,0x10000000,0,1); /* CE2 - Daughtercard */
>      > }
>      > /***********************************************/
>      > OnReset(int nErrorCode)
>      > {
>      > CE1_32bit;
>      > FlushCache();
>      > init_emif();
>      > }
>      > OnPreFileLoaded()
>      > {
>      > CE1_32bit;
>      > FlushCache();
>      > }
>      > FlushCache()
>      > {
>      > *(int *)0x01840000 = (*(int *)0x01840000 | 0x00000300);
>      > }
>      > menuitem "MEMORY_MAP";
>      > hotmenu SetMemoryMap()
>      > {
>      > setup_memory_map();
>      > }
>      > hotmenu ClearMemoryMap()
>      > {
>      > clear_memory_map();
>      > }
>      >
>      =============================================================================
>
>      > Errors: -
>      > Trouble Writing Target CPU memory: Processor accessing not ready memory
>      at
>      > 0x1840004
>      > Trouble Writing Target CPU memory: Timeout on Target Processor Please
>      check cabling
>      > or multi-processor configuration
>      > Trouble Writing Target CPU memory: Timeout on Target Processor Please
>      check cabling
>      > or multi-processor configuration
>      > Trouble Writing Target CPU memory: Timeout on Target Processor Please
>      check cabling
>      > or multi-processor configuration
>      > Trouble Writing Target CPU memory: Processor accessing not ready memory
>      at
>      > 0x1840004
>      > Trouble Writing Target CPU memory: Processor accessing not ready memory
>      at
>      > 0x1BC0010
>      > Can't Set Breakpoint: Processor accessing not ready memory at 0x81C4
>      > Trouble Writing Target CPU memory: Timeout on Target Processor Please
>      check cabling
>      > or multi-processor configuration
>      > Trouble Writing Target CPU memory: Processor accessing not ready memory
>      at
>      > 0x1840004
>      > Trouble Writing Target CPU memory: Processor accessing not ready memory
>      at
>      > 0x1BC0010
>      > Can't Set Breakpoint: Processor accessing not ready memory at 0x81C4
>      >
>      ==================================================================================
>
>      > My Program: -
>      > /* This is the first program to be run on Master card */
>      >
>      > #include "std.h"
>      > #include "c6211dsk.h"
>      > #include
>      > #include
>      > #include
>      > #include
>      > void main()
>      > {
>      > int arun;
>      > *(unsigned volatile int *)0x000000FF=0x123456;
>      > arun=*(unsigned volatile int *)0x000000FF;
>      > printf("%x",arun);
>      > if(CHIP_ENDIAN_BIG)
>      > printf("OK BIG ONE");
>      > else
>      > printf("Not BIG");
>      > }
>      >
>      =================================================================================
>
>      > Program is not loading
>      >



(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )