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.

Can't execute a simple test application on my AM335x Starter Kit

Hello,


I've recently updated to SDK 08 version with CCS v6 to use for development on my AM335x Starter Kit. I've created a simple hello world program and setup debugging it following the steps in  processors.wiki.ti.com/index.php/Linux_Debug_in_CCSv5 in Run Mode. Although a little different in CCS v6, it is relatively the same.

My problem is I keep getting a "No such file or directory" error message from the gdbserver when trying to execute code on the target but I'm 100% certain the file is there as I can see it if I go on the console and  on putty (using ssh). I've doubled check if the executable compatibility with the target with the "file" command and it gave me "ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.31, not stripped" which is seem fine. I get the same error if I try to execute the binary directly from terminal. It may be a compatibility issue but I can't think of how to find out, since the error message reported doesn't tell much.


Any ideas ?

Thanks,

LM

  • You are missing a shared library on the target. Use the ldd command to check.

  • I don't have ldd installed but I've used objdump -p instead which gave me this:

    root@am335x-evm:~# objdump -p simpleone

    simpleone:     file format elf32-littlearm

    Program Header:
    0x70000001 off    0x0000044c vaddr 0x0000844c paddr 0x0000844c align 2**2
             filesz 0x00000008 memsz 0x00000008 flags r--
        PHDR off    0x00000034 vaddr 0x00008034 paddr 0x00008034 align 2**2
             filesz 0x00000100 memsz 0x00000100 flags r-x
      INTERP off    0x00000134 vaddr 0x00008134 paddr 0x00008134 align 2**0
             filesz 0x00000019 memsz 0x00000019 flags r--
        LOAD off    0x00000000 vaddr 0x00008000 paddr 0x00008000 align 2**15
             filesz 0x00000458 memsz 0x00000458 flags r-x
        LOAD off    0x00000458 vaddr 0x00010458 paddr 0x00010458 align 2**15
             filesz 0x0000011c memsz 0x00000120 flags rw-
     DYNAMIC off    0x00000464 vaddr 0x00010464 paddr 0x00010464 align 2**2
             filesz 0x000000e8 memsz 0x000000e8 flags rw-
        NOTE off    0x00000150 vaddr 0x00008150 paddr 0x00008150 align 2**2
             filesz 0x00000044 memsz 0x00000044 flags r--
       STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
             filesz 0x00000000 memsz 0x00000000 flags rw-

    Dynamic Section:
      NEEDED               libc.so.6
      INIT                 0x000082a1
      FINI                 0x0000842d
      INIT_ARRAY           0x00010458
      INIT_ARRAYSZ         0x00000004
      FINI_ARRAY           0x0001045c
      FINI_ARRAYSZ         0x00000004
      HASH                 0x00008194
      STRTAB               0x0000820c
      SYMTAB               0x000081bc
      STRSZ                0x00000041
      SYMENT               0x00000010
      DEBUG                0x00000000
      PLTGOT               0x0001054c
      PLTRELSZ             0x00000020
      PLTREL               0x00000011
      JMPREL               0x00008280
      REL                  0x00008278
      RELSZ                0x00000008
      RELENT               0x00000008
      VERNEED              0x00008258
      VERNEEDNUM           0x00000001
      VERSYM               0x0000824e

    Version References:
      required from libc.so.6:
        0x0d696914 0x00 02 GLIBC_2.4
    private flags = 5000002: [Version5 EABI] [has entry point]


    It says it needs libc.so.6 and I have it in the /lib folder on the target.

    Any thoughts ?

  • I have actually no clue what is going on. Might revert to a previous sdk version and see if I can get something working...

  • Ok got it to work. Had to made sure to save the compiled filesystem and kernel from SDK 0.8 to the SD card which I thought I did but not. Now I have a system I can start playing with !