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.

Syslink examples running issue

Other Parts Discussed in Thread: OMAP3530, SYSBIOS

Hello,

I have problem with running any example provided with Syslink 2.21.00.03.   I use kernel 2.6.37 from AM35x-OMAP35x-LINUX-PSP-04.02.00.07, and other required tools in versions mentioned in Syslink Release Notes. I got success with building Syslink.ko module and examples.

Loading Syslink.ko module gives: http://pastebin.com/4HgTrRBP Is it common output, correct loading? The output of lsmod:

root@beagleboard:~# lsmod
Module                  Size  Used by
syslink              1082420  0

Running hello_world example causes that all stops (Ctrl+C doesn't help usually) and here are the last lines of what I see: http://pastebin.com/nR4R5NT9. If I figure out how to get all the output the I will put it here.

My board is Beagleboard C4 with OMAP3530.

Please give me some instructions for troubleshooting.

PS. It is a bit repeated issue from my other thread but the previous concerns iommu problem,  so I decided to create new one.

Kind regards,

Valdez

  • I'm finding it a little difficult to parse through that much trace, can you run with only TRACEFAILURE set to 1 ?

    We'd like to see errors,if any. But maybe don't need to see trace when everything works fine.

    Thanks.

  • Thanks for your quick reply.


    As Syslink User's Guide says (and I understand it correctly), I set traces to the lowest possible level with tracing failures: TRACE=1 TRACEFAILURE=1 TRACEENTER=0 TRACECLASS=1. I set it when loading syslink.ko and I exported it. Don't have idea how to make less trace.

    Here is module loading with these settings: http://pastebin.com/tA1HSYqf
    And ex01_helloworld/release example running: http://pastebin.com/KcqE6DUL

    I also checked what if I set TRACECLASS=0 or only TRACEFAILURE=1, but it gives also a lot of output.

    EDIT ----------------------------------------------------------------------------------------------------------------------------------------

    More info about my Syslink installation, maybe here is some problem:

    - XDCtools 3.24.03.33, SYS/BIOS 6.34.03.19, IPC 1.25.01.09, CodeSourcery 2009q1-203, CGT C6000 7.2.2;

    - linux/arch/arm/mach-omap2/omap-iommu.c file modified, deleted line "#if defined(CONFIG_OMAP_IOMMU_IVA2)" and its "#endif";

    - Angstrom rootfs from http://mentorel.ru/downloads/blueshark/demo/ (console image),

    - env variable for XDC,  correct, should it contain something more?? export XDCPATH=~/workspace/dspv6/ipc/packages:~/workspace/dspv6/sysbios/packages:~/workspace/dspv6/xdctools/packages;

    - in IPC config.bld build target uncommented: elfTargets.C64P and variable changed: var rootDirPre = "~/workspace/dspv6/"; (in dspv6 I have c6000 directory with CGT);

    - kernel config: omap3_beagle_defconfig;

    - syslink/products.mak settings for OMAP3530(others left default):

    DEVICE = OMAP3530
    SDK = NONE
    LOADER = ELF

    DEPOT = /home/valdez/workspace/dspv6

    LINUXKERNEL             = $(DEPOT)/linux
    CGT_ARM_INSTALL_DIR     = /home/valdez/workspace/cross-compiler
    CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
    IPC_INSTALL_DIR         = $(DEPOT)/ipc
    BIOS_INSTALL_DIR        = $(DEPOT)/sysbios
    XDC_INSTALL_DIR         = $(DEPOT)/xdctools

    CGT_C64P_ELF_INSTALL_DIR= $(DEPOT)/c6000

    - "make EXEC_DIR=/media/rootfs/home/root/syslink_examples install"  --> examples in SD card rootfs

  • Please look at this related post:- 

    http://e2e.ti.com/support/embedded/linux/f/354/p/166163/607241.aspx#607241

    Your mem bootargs don't match up with those expected by the example. 

    In SysLink 2.21.01.03, the examples for the OMAP3530 expect a hole in the Linux kernel from 8EF0_0000 - 8FFF_FFFF.

    That means that bootargs to run the SysLink examples should be:  mem=239M@0x80000000

  • I changed it from mem=248M and my uEnv.txt file for U-Boot v2013.01-rc1 looks like this now:

    console=ttyO2,115200n8
    root=/dev/mmcblk0p2 rw rootwait
    mem=239M@0x80000000
    mmc_load_image=fatload mmc 0:1 0x80300000 uImage
     
    #Just: uImage
    xyz_mmcboot=run mmc_load_image;
    echo Boot from SD card!
    loaduimage=run xyz_mmcboot; bootm 0x80300000

    And it doesn't help. l know that I should read more about it, I will,  but two questions:

    1. Do I miss something here?

    2. Due to my curiosity: how did you figure it out from that trace outputs? Could you point me to that ?

  • Valdez Val said:
    2. Due to my curiosity: how did you figure it out from that trace outputs? Could you point me to that ?

    The SysLink salveloader application, when loading the slave executable the applications was attempting to ioremap address ranges (that are configured for a Shared Region) that  were already assigned to the Linux kernel thus the ioremap() error was issued by the kernel,  Changing the bootargs is one possible solution.

    You could also modify the example's memory map to adjust for the mem bootargs needed/wanted.  Take a look at the config.bld file located in the examples/ex01_helloworld/shared directory.  Every example has its own configuration/memory map file.  If you move the DSP cores address range make sure you enable the appropriate MAR bits in the DSP's configuration.  The DSP's MAR bits are set in the Dsp.cfg file located in the  ex01_helloworld/dsp directory.

  • Dear Arnie,

    it works! Thank you very much! You are my savior! :-)

    And also thanks for explanation.