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.

How to run CCS produced .out of A8 and project in EZSDK linux and also how to load M3.out

Hello

Can you  please help me to find answers following Q's

1.  How to execute it ton linux in EVM EZSDK supported ?

2.How to load M3 .out in  hough EZSDK linux in EVM

3. Will ."/slaveloader_debug startup VPSS-M3 . M3.out "will work out .. ?here M3.out produced from CCVS4 for M3 project

  • Hi pachi,

    I am having some trouble understanding your questions. From your title it looks like you are trying to build your own application on the A8 and on the M3 using CCS. Unless you insist on using CCS, it'd be easier if you first get the syslink examples from the EZSDK to work by rebuilding them in Linux, and then use the Linux build system for your application. See the SysLink Install Guide (http://processors.wiki.ti.com/index.php/SysLink_Install_Guide) for instructions on how to build and run the examples. In particular it also has instructions on how to use the slaveloader to load the slave cores like the M3. Note that if you are interested in developing you own code for the M3 you will need to set SDK=NONE in products.mak in SysLink and point it to an M3 toolchain.

    Best regards,

    Vincent

  • Thanks for the reply ...

    there are samples but there is no document saying how to add our own examples in it ..it is made so complex to understand ...

    Can you please provide any other link so that I can run my own A8 and M3 apps in package

  • Hi pachi,

    Most people start by making modifications to the existing samples to create their own application. So I suggest to do the same first to get yourself familiar with the SysLink API,  its configuration, how to use the slaveloader, how to send data to/from the M3's, etc. Have you been able to successfully follow the installation guide and run the syslink samples? Writing embedded software is not an easy task by any means, so it is better to approach it one step at a time.

    If, at a later point in time, after you have a working application, you'd like to decouple your build system from the one used in Syslink, I have attached an example that can be built independently. Hopefully it'd help illustrate what an independent build system would look like with simpler makefiles. The example builds the executables for ARM and DSP, so you would need to take a look at the dsp/makefile and create one for the M3 based on it (ONLY if you are writing your own app for the M3). Otherwise, what you have to do is

    1. Unpack the attached example
    unzip examples_ex02_MessageQ.zip

    2. Replace the source files with your own and change the host/Makefile and dsp/Makefile to point to them by modifying the line that says "srcs =...". Note that the first time around you may want to leave everything as is and follow the rest of the instructions to understand how the build system works.

    3. Set up your memory map in config.bld (the current memory map is meant for the TI814x EVM).  

    4. Specify the product install paths in product.mak (and install them if you haven't already)
    Edit the products.mak file in the ex02_MessageQ folder. You will need to specify the install paths of all the required tools and products. Just edit the install variables, no need to change anything else. These are the lines you would edit.
    DEPOT = $(word 1, $(subst /examples, /examples,$(CURDIR)))/Depot
    BIOS_INSTALL_DIR        = $(DEPOT)/bios_6_32_01_38
    IPC_INSTALL_DIR         = $(DEPOT)/ipc_1_23_01_26
    SYSLINK_INSTALL_DIR     = $(DEPOT)/syslink_2_00_03_81_eng
    TI_ARM_INSTALL_DIR      = $(DEPOT)/ti_arm_4_9_0
    TI_C6X_INSTALL_DIR      = $(DEPOT)/ti_c6x_7_2_2
    CS_ARM_INSTALL_DIR      = $(DEPOT)/cs_arm_2009q1_203/bin/arm-none-linux-gnueabi-
    XDC_INSTALL_DIR         = $(DEPOT)/xdctools_3_22_01_21

    5. Build the example.
    Go into the ex02_MessageQ folder and run the make command. You can also run 'make help' to get a brief summary of what goals are available. This will go down into the host and dsp folders and build them also. The executables are placed in the respective bin folders.
    % cd ex02_MessageQ
    % make help
    % make
    You can also build the programs individually. This is handy if you are debugging or fiddling with the programs for fun.
    % cd ex02_MessageQ/host
    % make
    % cd ex02_MessageQ/dsp
    % make
    5. Copy the example to the target file system and run it.
    As a convenience, you can build the install goal in the example base folder to create a single folder which contains all the files you need on the target file system.
    % cd ex02_MessageQ
    % make install
    This is what you will get.
    install/ex02_MessageQ/debug/app_host
    install/ex02_MessageQ/debug/run.sh
    install/ex02_MessageQ/debug/server_dsp.bin.xe674
    install/ex02_MessageQ/release/app_host
    install/ex02_MessageQ/release/run.sh
    install/ex02_MessageQ/release/server_dsp.bin.xe674

    Copy the ex02_MessageQ folder to your target file system. Once your are logged into the target, use the run.sh script to run the example. You will probably need to set the execute bit the first time you copy the files. Don't forget to install the SysLink driver before you run the example.
    $ insmod syslink.ko

    $ cd ex02_MessageQ/debug
    $ chmod a+x *
    $ ./run.sh

    $ cd ex02_MessageQ/release
    $ chmod a+x *
    $ ./run.sh
    You should see output similar to the following if you had kept the source code as provided (Obviously if you have changed it you'd see something different).
    $ ./run.sh
    + ./app_host DSP server_dsp.bin.xe674
    --> Main_procStart:
    <-- Main_procStart: 0x97d2000
    --> App_exec:
    App_exec: sending message 1
    App_exec: sending message 2
    App_exec: sending message 3
    App_exec: sending message 4
    App_exec: sending message 5
    App_exec: sending message 6
    App_exec: sending message 7
    App_exec: sending message 8
    App_exec: sending message 9
    App_exec: sending message 10
    App_exec: sending message 11
    App_exec: sending message 12
    App_exec: sending message 13
    App_exec: sending message 14
    App_exec: sending message 15
    <-- App_exec: 0
    --> Main_procStop:
    <-- Main_procStop: 0x0

    Hope this helps,

    Vincent

    5773.examples_ex02_MessageQ.zip