This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EZDSP TMX320C5535 REV C / Not Compiling

Hello,

I am trying to compile the LED example project and watch the light show on the eval board; however, my target configuration as:

Texas Instruments XDS100v2 USB Emulator/ EZDSP5535

Receives the following error:

C55xx: Error connecting to the target: (Error -600 @ 0x0) A required dynamic library could not be located. The library isn't on the search path. (Release 5.0.429.0)

I tried changing the target configuration to others but just get more errors, or it just spits out that it worked on the console but the LEDs dont change.

The SD card is still in and and is displaying "Play Aduio rom Your PC" on the display and the console for ccv4 only seems to work for:

Texas Instruments Simulator/ C55xx Rev3.0 CPU

But still changes nothing hardware wise.  Is it because I have it plugged in with the mini USB?  That was all that came with it, so it would be disappointing if it was.

I mean seriously, I am at the point where it would just be easier writing from assembly like I usually do on the Motorola boards.  Currently working on senior design project so please help.

-Wyatt

  • Alright so the answer to the question before was obviously that emulation/ compiling requires the standard USB connection.

    I have already ran into several more problems that I was able to figure out on my own but now I have hit another wall.

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    "../lnkx.cmd", line 57: error: run placement fails for object ".bss", size
    0x16f7b (page 0). Available ranges:
    DARAM0 size: 0xff40 unused: 0xc224 max hole: 0xc224
    SARAM0 size: 0x10000 unused: 0x63be max hole: 0x63be
    SARAM1 size: 0x20000 unused: 0x1 max hole: 0x1
    error: errors encountered during linking; "ASR.out" not built

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    I have seen others with this problem and are usually told to adjust heap size or allocated memory per section but I don't see what is wrong with my .cmd configuration file.  Notice that the size of the file is 94075 bytes long but I have allocated way more than that.  What is going on??????  Please help!!!

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    -stack 0x2000 /* Primary stack size */
    -sysstack 0x1000 /* Secondary stack size */
    -heap 0x2000 /* Heap area size */

    -c /* Use C linking conventions: auto-init vars at runtime */
    -u _Reset /* Force load of reset interrupt handler */

    /* SPECIFY THE SYSTEM MEMORY MAP */

    MEMORY
    {
    PAGE 0: /* ---- Unified Program/Data Address Space ---- */

    MMR (RWIX): origin = 0x000000, length = 0x0000c0 /* MMRs */
    DARAM0 (RWIX): origin = 0x0000c0, length = 0x00ff40 /* 64KB - MMRs */
    SARAM0 (RWIX): origin = 0x010000, length = 0x010000 /* 64KB */
    SARAM1 (RWIX): origin = 0x020000, length = 0x020000 /* 128KB */
    SARAM2 (RWIX): origin = 0x040000, length = 0x00FE00 /* 64KB */
    VECS (RWIX): origin = 0x04FE00, length = 0x000200 /* 512B */
    PDROM (RIX): origin = 0xff8000, length = 0x008000 /* 32KB */

    PAGE 2: /* -------- 64K-word I/O Address Space -------- */

    IOPORT (RWI) : origin = 0x000000, length = 0x020000
    }

    /* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */

    SECTIONS
    {
    .text >> SARAM1|SARAM2|SARAM0 /* Code */

    /* Both stacks must be on same physical memory page */
    .stack > DARAM0 /* Primary system stack */
    .sysstack > DARAM0 /* Secondary system stack */

    .data >> DARAM0|SARAM0|SARAM1 /* Initialized vars */
    .bss >> DARAM0|SARAM0|SARAM1 /* Global & static vars */
    .const >> DARAM0|SARAM0|SARAM1 /* Constant data */
    .sysmem > DARAM0|SARAM0|SARAM1 /* Dynamic memory (malloc) */
    .switch > SARAM2 /* Switch statement tables */
    .cinit > SARAM2 /* Auto-initialization tables */
    .pinit > SARAM2 /* Initialization fn tables */
    .cio > SARAM2 /* C I/O buffers */
    .args > SARAM2 /* Arguments to main() */

    vectors > VECS /* Interrupt vectors */

    .ioport > IOPORT PAGE 2 /* Global & static ioport vars */
    }

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  • Wyatt,

    I am moving this thread to the C5000 forum.


    Thank you,
    Brett

  • Wyatt Crosby said:
    "../lnkx.cmd", line 57: error: run placement fails for object ".bss", size
    0x16f7b (page 0). Available ranges:
    DARAM0 size: 0xff40 unused: 0xc224 max hole: 0xc224
    SARAM0 size: 0x10000 unused: 0x63be max hole: 0x63be
    SARAM1 size: 0x20000 unused: 0x1 max hole: 0x1

    This message is telling you that there is no room left to put .bss on the device.  The only memory that is big enough is SARAM1, and it is already completely taken up by something else.  I would need to see the linker map file to tell you exactly what.  The solution may involve altering the linker command file to remove SARAM1 from the sections specification for sections other than .bss.   Also, you have a lot of .bss; if you have any large arrays that are never written, you should make them const, so that they will be allocated in .const instead of .bss.  The proper fix depends on what your linker map file looks like.

  • I attached the .map file in .txt format.  The large space is me trying to implement ASR (automatic speech recognition) and the variable size is from the samples from

    the codec (16000 samples).  It is currently in float (the matrix) but I still thought that is should have fit.  You are probably wondering why I need

    2 sec and it's because I already have my LPCC front end (with end point detection, framing, DTW, etc.) created in MATLAB that is made for 16000 samples.  Therefore 

    all I need is room for 16000 samples times two (for the buffer) and then space for the code.  Was thinking about using the DMA interupt and some others.  I am

    new to this platform and going to try to implement this idea to the next company I work for and therefore; if I am successful, you can bet on me buying a lot of your

    chips.


    Any thoughts?


    -Wyatt


    7658.ASR_map.txt

  • I was cutoff last post but what I am trying to implement is a DMA transfer to the DARAM so that the CPU is freed to process the last 2 sec of data and then after the processing is done, the CPU waits for the DMA interupt to tell it to process the new array of 2 sec while the DMA writes over the last, already processed, array.

    I am not completely new to this but it looks like I am going to have to write straight to the registers I2SSCTRL, I2SINTMASK, and others seeing as seeing as any libraries predfinied to make this "easier" are beyond me and more complicated.

  • Sorry, the last mapping file was when I lowered the array to make it fit.  This is the unsuccessful build.

    Thanks in advance and I hope you can be patient with me!

    3225.ASR_map.txt

  • Your map file shows that SARAM1 is entirely consumed by .text (function code).  The bulk of this is for locale support, which is astonishingly large.  This is being dragged in because your program uses C++ iostreams for I/O.  You'll probably want to rewrite your program to use printf instead of iostream (cout, etc), which will save you a lot of space.

  • What does emulation/ compiling requires the standard USB connection in the message Posted by Wyatt Crosby on Apr 22 2012 12:22 PM mean?  I don't have that option in my Target Configuration....