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.

EVMK2H ARM Sample Project

Hi. Info from the Release Notes - I'm using MCSDK Release 3.0.3.

I'm using EVMK2H. I don't know where to get the Revision - On the box a sticker mentions (2P) REV: 40.

I have Code Composer Studio Version: 5.5.0.00077.

https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/385728

I went through the responses in the link above.

  1. My board is in the No boot / JTAG DSP little endian boot mode
  2. I'm able to run on a DSP (C66xx_0) the sample project at  "..\ti\mcsdk_bios_3_00_03_15\examples\ndk\helloWorld\evmk2h"    mentioned by Shankari G in the link above.
  3. Can someone tell me where a similar sample project exists for an ARM Cortex A15_1 ? The answer would be a path like "..\ti\mcsdk_bios_3_00_03_15\examples\ndk\helloWorld\evmk2h"

Thanks

Siddhartha

       

e2e.ti.com/.../385728

  • Hi Siddhartha,
    Please refer to the following TI E2E post for running ARM code.

    e2e.ti.com/.../430233

    ti\mcsdk_bios_3_00_03_15\examples\ndk\helloWorld\evmk2h

    We don't have NDK examples for ARM core.
  • Hi Siddhartha,

    Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com). Please read all the links below my signature.

    Please refer below link for ARM SYS/BIOS support.

    https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/447613

    Thank you.

  • Hi Titus. I have Code Composer Studio Version: 5.5.0.00077

    The ARM options are shown below. Generic CortexA8 Device is available. But Generic CortexA15 Device isn't available.


    I tried building for Generic CortexA8 Device with the linker command file from e2e.ti.com/.../430233

    But I get errors shown below.


    Can the 9 steps given by you in e2e.ti.com/.../430233 be adjusted for Code Composer Studio Version: 5.5.0.00077 ?  If so, please give the adjusted steps.

    Earlier actually I wan't asking for an NDK sample project. A path to any sample project for ARM under the ti folder is OK. The sample project should build properly & run on ARM Cortex A15_1.

    Thanks
    Siddhartha

  • Hi Siddhartha,
    K2X devices has ARM cortex A15 cores not cortex A8 like AM335x devices.
    You need CCSv6.x (latest is CCSv6.1) version to create ARM cortex A15 projects.
  • Hi Titus. I installed Code Composer Studio 6 (Version: 6.0.1.00040)

    For the hello world project mentioned in e2e.ti.com/.../430233
    I have these settings: Generic CortexA15 Device, Compiler TI v5.1.6, Linker command file is the one you gave in the above link
    When building - I get the error shown below

    My hello.c file has the code below

    #include <stdio.h>
    
    /*
     * hello.c
     */
    int main(void) {
    	printf("Hello World!\n");
    	
    	return 0;
    }
    

    Please let me know if you need more info about my setup

    Thanks
    Siddhartha

  • Hi Siddhartha,
    Could you please attach your project linker command file (*.cmd) ?
    I haven't used MSMC RAM but used DDR3.

    You can also use MSMC RAM.

    -heap 0x800
    -stack 0x1000

    MEMORY
    {
    L2SRAM: o = 0x0C000000 l = 0x00400000
    MSMCSRAM (RWX) : org = 0xc000000, len = 0x600000
    /* External DDR3, upto 2GB per core */
    DDR3: o = 0x80000000 l = 0x01000000
    }

    SECTIONS
    {
    .text > DDR3
    .cinit > DDR3
    .const > DDR3
    .switch > DDR3
    .data > DDR3
    .stack > DDR3

    GROUP
    {
    .neardata
    .rodata
    .bss
    } > DDR3

    .far > DDR3
    .fardata > DDR3
    .cio > DDR3
    .sysmem > DDR3
    }
  • Hi Titus. My linker command file is attached below - it is identical to the code from your previous post.

    (Don't worry about the txt extension - this website doesn't allow cmd files to be attached, so I renamed the extension to cmd.txt)

    -heap  0x800
    
    -stack 0x1000
    
    
    
    MEMORY
    
    {
    
    L2SRAM: o = 0x0C000000  l = 0x00400000
    
    MSMCSRAM (RWX) : org = 0xc000000, len = 0x600000
    
    /* External DDR3, upto 2GB per core */
    
    DDR3: o = 0x80000000  l = 0x01000000
    
    }
    
    
    
    SECTIONS
    
    {
    
    .text           >    DDR3
    
    .cinit          >    DDR3
    
    .const          >    DDR3
    
    .switch         >    DDR3
    
    .data >    DDR3
    
    .stack          >    DDR3
    
    
    
    GROUP
    
    {
    
    .neardata
    
    .rodata
    
    .bss
    
    } >    DDR3
    
    
    
    .far            >    DDR3
    
    .fardata        >    DDR3
    
    .cio            >    DDR3
    
    .sysmem         >    DDR3
    
    }
    

    The error msg refers to overlap of MSMCSRAM (RWX) : org = 0xc000000, len = 0x600000 with L2SRAM: o = 0x0C000000 l = 0x00400000

    Can you suggest a different org value for MSMCSRAM ? Currently it looks identical to L2SRAM. (both are c000000)

    Thanks
    Siddhartha

  • Hi Siddhartha,
    Here I have modified the linker command file as per K2H memory map.

    -heap 0x800
    -stack 0x1000

    MEMORY
    {
    L2SRAM: o = 0x00800000 l = 0x00900000
    MSMCSRAM: o = 0x0c000000 l = 0x0C600000

    /* External DDR3, upto 2GB per core */
    DDR3: o = 0x80000000 l = 0x01000000
    }



    SECTIONS

    {
    .text > DDR3
    .cinit > DDR3
    .const > DDR3
    .switch > DDR3
    .data > DDR3
    .stack > DDR3

    GROUP
    {
    .neardata
    .rodata
    .bss
    } > DDR3

    .far > DDR3
    .fardata > DDR3
    .cio > DDR3
    .sysmem > DDR3

    }

    Please try this and let me know.
  • Hi Titus. Using your new linker command file - I was able to build a .out file without errors.

    When I load the .out file on the ARM core, I see the error below (see screenshot).
    If you need more info, please let me know.

    Thanks
    Siddhartha

  • Hi,
    I can run the code.
    Did you connect DSP core0 first then connecting ARM core 0 ?
    Because DSP core 0 will call the gel file to initialize the DDR to run the code.
    Please make sure that you have selected/using the following target configuration.
    C:\ti\mcsdk_bios_3_01_03_06\tools\program_evm\configs\evmk2h\evmk2h.ccxml
  • Hi Titus. Ok I can set configuration to drive:\ti\mcsdk_bios_a_bb_cc_dd\tools\program_evm\configs\evmk2h\evmk2h.ccxml
    & see what happens. Where is the correct gel file for this configuration ?

    Thanks
    Siddhartha

  • Here you go.
    C:\ti\mcsdk_bios_3_01_03_06\tools\program_evm\gel\xtcievmk2x.gel
  • Thanks Titus. Using those settings I'm able to run the Hello World program on the Generic CortexA15 Device.
  • Hi Siddhartha,
    Sounds good.
    Thanks for your update.