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.

Building BIOS for both ARM and DSP on L-137

Other Parts Discussed in Thread: OMAP-L137, TEST2

Hi,

     I trying to use a Spectrum Digital OMAP-L137 that the DSP will run some older code and have the ARM collect Ethernet data via NDK and pass data to the DSP. I have built a project in CCv5.x and can compile and debug via the USB to JTAG, but this seems to be only the DSP. I have seen many folks mention that they have SYS BIOS running on both the DSP and ARM, but have yet to understand how they configured Code Composer to do it.

  • Do you have two different projects that are linked as one?
  • Do you have two different .cfg files in the same project?
  • How do you specify which source code goes to which processor?
  • I have no .tcf file as CC does not seem to need it.

Here is my setup:

Code Composer Studio Version: 5.1.0.09000

XDCtools 3.23.00.32

SYS BIOS 6.33.01.25

IPC 1.23.05

Any help or examples would be greatly appreciated.

  • SYS/BIOS has examples for both the Arm and DSP for OMAP-L137. Here is an snapshot for making an Arm example

    Hit next and select the ti.platforms.evmOMAPL137 platform. Notice there are source files and .cfg file (BIOS5 .tcf, SYS/BIOS .cfg). You can do the same thing for the DSP side. There will be a .out for each of the cores.

    Todd

  • Thanks for the info. So I created a new arm project that has these general project properties:

    My "second" DSP project has these general properties:

    Notice that the Device-->Family is not modifiable. Also the Connection says that it "applies to the whole project". So if I debug in one project does the other get left out? How do I get both a.outs to run on the 137? It seems that I would be building a single image or at least telling Code Composer that I want to run both at the same time.

    Thanks,

         John C.

  • John,

    Do you have a target config that allows you to connect to the device? Here's a Concerto device example that I have on CCS right now that has an Arm core and a C28 core (I do not have an omapl137 handy).

    I'm able to connect to each core and then load the Arm with a .out (e.g. myArm.out) that was created with a project and then load the C28 with a different .out (e.g. myC28.out) that was created with a separate project. I can run and debug each core separately. If you want, you can just load one core and debug it.

    The IPC product includes examples (one for the Arm and one for the DSP) for the omapl137 board. I would build those examples and then load and run them.

    Todd

  • Todd,

                 I was able to connect to the device when I had just the DSP project. After trying to fix my memory issue (over in the OMAP™ Processors forum) and adding the ARM project, I can no longer link the DSP project, so I can't bring up the board to see if I could connect to the other core. I think your suggestion should get me close, but I'm going to need to back up to just the dsp project running correctly again. I'll mark this as verified as I believe you have me on the right track.

    Thanks,

         John C.

    'Building target: test2.out'
    'Invoking: C6000 Linker'
    "C:/ti/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6740 -g --define=LINUX_SIM --define=omapl137 --display_error_number --diag_warning=225 --abi=coffabi -z -m"test2.map" --verbose_diagnostics --warn_sections -i"C:/ti/ccsv5/tools/compiler/c6000/lib" -i"C:/ti/ccsv5/tools/compiler/c6000/include" --reread_libs --rom_model -o "test2.out" -l"./configPkg/linker.cmd"  "./get_den_vis.obj" "./fft.obj" "./Utils.obj" "./Syscontrol.obj" "./Simulation.obj" "./MathStandAlone.obj" "./Hardware.obj" "./FlowMain.obj" "./FPGADriver.obj" "./AutoGainControl.obj" "./Algos.obj" -l"C:\ti\ccsv5\tools\compiler\c6000\lib\rts6400.lib" -l"C:\ti\ccsv5\tools\compiler\c6000\lib\rts64plus.lib" -l"libc.a" "../lnk.cmd"
    <Linking>
    "../lnk.cmd", line 37: error: BMEM memory range overlaps existing memory range
       L3_CBA_RAM
            BMEM:   o = 80000000h   l = 02000000h
    "./configPkg/linker.cmd", line 200: error #10099-D: run placement fails for
       object ".far", size 0x3fb4073 (page 0).  Available ranges:
       SDRAM        size: 0x1000000    unused: 0xfd5ce0     max hole: 0xfd5cd8  
        .far: load >> SDRAM
    error #10010: errors encountered during linking; "test2.out" not built

    >> Compilation failure
    gmake: *** [test2.out] Error 1
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****