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.

Symbol host2dspmailbox not found DESKTOP-LINUX-SDK C6678 DSPC-8681

Greetings,

When running the basic setup from http://processors.wiki.ti.com/index.php/Desktop-linux-sdk_01.00.00_Getting_Started_Guide

I am able to go through all the steps from installation, compilation through to running the demo application. (FYI, might want to edit the wiki to ensure advantech drivers are compiled and loaded before 'install cmem autoload ...'.)

The uploading of the image appears to be a success:

sk@JST05UBUNTU1210:/opt/ti/desktop-linux-sdk_01_00_00_07/demos/scripts$ sudo ./init_dspc8681_1000.sh 4

boot config file ./demos/scripts/initcfg.txt
 DSP boot config addr 0x86ff00
 DSP boot config size in bytes 8
Boot config words: 0xbabeface,
Boot config words: 0x14,
 Overriding image entry point with input 860000 Download image success !

boot config file ./demos/scripts/initcfg.txt
 DSP boot config addr 0x86ff00
 DSP boot config size in bytes 8
Boot config words: 0xbabeface,
Boot config words: 0x14,
 Overriding image entry point with input 860000 Download image success !

boot config file ./demos/scripts/initcfg.txt
 DSP boot config addr 0x86ff00
 DSP boot config size in bytes 8
Boot config words: 0xbabeface,
Boot config words: 0x14,
 Overriding image entry point with input 860000 Download image success !

boot config file ./demos/scripts/initcfg.txt
 DSP boot config addr 0x86ff00
 DSP boot config size in bytes 8
Boot config words: 0xbabeface,
Boot config words: 0x14,
 Overriding image entry point with input 860000 Download image success !

The download of the demo also appears to be a success:

sk@JST05UBUNTU1210:/opt/ti/desktop-linux-sdk_01_00_00_07/demos/filetestdemo/scripts$ sudo ./dnld_demo_loopback.sh 4

boot config file ./bootcfg/bootcfg_0.txt
 DSP boot config addr 0x800000
 DSP boot config size in bytes 16
Boot config words: 0xbabeface,
Boot config words: 0x0,
Boot config words: 0x12345678,
Boot config words: 0x90abcdef, Download image success !

boot config file ./bootcfg/bootcfg_1.txt
 DSP boot config addr 0x800000
 DSP boot config size in bytes 16
Boot config words: 0xbabeface,
Boot config words: 0x1,
Boot config words: 0x12345678,
Boot config words: 0x90abcdef, Download image success !

boot config file ./bootcfg/bootcfg_2.txt
 DSP boot config addr 0x800000
 DSP boot config size in bytes 16
Boot config words: 0xbabeface,
Boot config words: 0x2,
Boot config words: 0x12345678,
Boot config words: 0x90abcdef, Download image success !

boot config file ./bootcfg/bootcfg_3.txt
 DSP boot config addr 0x800000
 DSP boot config size in bytes 16
Boot config words: 0xbabeface,
Boot config words: 0x3,
Boot config words: 0x12345678,
Boot config words: 0x90abcdef, Download image success !

However, I always get the error "ERROR: Symbol host2dspmailbox not found". I don't see any e2e, google or bing hits with this error, so I expect it is something simple that I am doing wrong. For what its worth, I'm on ubuntu 12.10 rather than 12.04.

sk@JST05UBUNTU1210:/opt/ti/desktop-linux-sdk_01_00_00_07/demos/filetestdemo/scripts$ sudo ./run_dmatest.sh 4 0x400000
dspBits = FFFFFFFF
dspBits = FFFFFFFF

 ERROR: Symbol host2dspmailbox not found
sk@JST05UBUNTU1210:/opt/ti/desktop-linux-sdk_01_00_00_07/demos/filetestdemo/scripts$

sk@JST05UBUNTU1210:/opt/ti/desktop-linux-sdk_01_00_00_07/demos/filetestdemo/scripts$ sudo ./run_memcpytest.sh 4 0x400000
dspBits = FFFFFFFF
dspBits = FFFFFFFF

 ERROR: Symbol host2dspmailbox not found
sk@JST05UBUNTU1210:/opt/ti/desktop-linux-sdk_01_00_00_07/demos/filetestdemo/scripts$

sk@JST05UBUNTU1210:/opt/ti/desktop-linux-sdk_01_00_00_07/demos/filetestdemo/scripts$ sudo ./run_dspmaptest.sh 4 0x400000
dspBits = FFFFFFFF
dspBits = FFFFFFFF

 ERROR: Symbol host2dspmailbox not found
sk@JST05UBUNTU1210:/opt/ti/desktop-linux-sdk_01_00_00_07/demos/filetestdemo/scripts$

Any help is appreciated with this error.

Regards,

Steve

  • Hello Steve,

    I apologize for this. This is a bug in the source code.

    Here is the code snippet to be fixed in file sdk/dnldmgr/src/dnldmgr.c to resolve this issue: See code to be added highlighted in red

    int32_t dnldmgr_get_symbol_address(void *dsp_image_handle, char *symbol_string, uint32_t *symbol_addr)
    {
      bfd* dsp_bfd;
      uint32_t nsyms, nsize;
      asymbol **symtab;
      symbol_info syminfo;
      int i;
      int32_t ret_val=-1;

      dsp_bfd = (bfd *)dsp_image_handle;

      // Find boot address and address of mpi_rank.
      nsize = bfd_get_symtab_upper_bound (dsp_bfd);
      if ((symtab = malloc(nsize)) == NULL) {
        return (-1);
      }

      nsyms = bfd_canonicalize_symtab(dsp_bfd, symtab);
       
      for (i = 0; i < nsyms; i++) {
        if (strcmp(symtab[i]->name, symbol_string) == 0) {
          bfd_symbol_info(symtab[i], &syminfo);
          *symbol_addr = syminfo.value;
          ret_val = 0;
          break;
        }
      }
      free(symtab);
      return(ret_val);
    }
    Let us know if this helps.

    with regards,

    Sam

  • Thanks Sam. That did it.

    -Steve