openocd for ADSP-SC589 gives Error: session transport was not selected. Use 'transport select <transport>'

I am following below document for environment setup, porting Uboot on ADSP-SC589 EZ Board:

https://download.analog.com/tools/LinuxAddInForCCES/documentation/Linux_Add-in_User's_Guide-1.2.0.pdf

When i run openocd command, I am getting following error:

root@nikesh:/opt/analog/cces/2.8.2/ARM/openocd/share/openocd/scripts# /opt/analog/cces/2.8.2/ARM/openocd/bin/openocd -f interface/ice1000.cfg target/adspsc58x.cfg


Open On-Chip Debugger (Analog Devices CCES 2.8.0 OpenOCD 0.9.0-g5030ad7) 0.9.0
Licensed under GNU GPL v2
Report bugs to <processor.tools.support@analog.com>
adapter speed: 1000 kHz
Info : ICE-1000 firmware version is 1.0.2
Info : clock speed 1000 kHz
Error: session transport was not selected. Use 'transport select <transport>'
Error: Transports available:
Error: jtag
Error: swd
in procedure 'init'
in procedure 'ocd_bouncer'

What would be the reason for this?

I did following connections,

  1. Connected power cable to P22.
  2. J2 port of ICE-1000 mounted on P3 port of ADSP-SC589 EZ Board’s P3 port.
  3. MicroUSB-to-USB cable connected to USB to UART port (P8) of EZ Board.
  4. MicroUSB-to-USB cable connected to P1 port of ICE-1000.
  5. Ethernet cable connected to J2 of EZ Board.

Let me know if I am missing any connection.

Thanks,

Nikesh

Top Replies

Parents Reply Children
  • +1
    •  Analog Employees 
    on Jun 27, 2019 3:12 AM over 1 year ago in reply to nikeshspatil@eaton.com

    Hello 

    Yes, you are right, the original code in the svn server is just like what you've seen, but we applied 3 patches in buildroot/package/libmcapi, in those patches we enriched our send/receive functions.

    This is based on buildroot package rules, not apply those patches directly in our svn server code.
    For how to get a complete MCAPI, you could enable libmcapi in buildroot menuconfig and then the patched libmcapi-HEAD.tar.gz would be downloaded in the dl/ directory automatically. Or you could apply those three patches in buldroot/package/libmcapi/ manually based on the svn server code.

    Thanks & Best regards,
    HuanFeng

  • Thanks HuanFeng,

    I don't think that we have buildroot, so i am not sure where I need to enable libmcapi option. Can you share the path where these patches are kept.

    Best Regards,

    Nikesh

  • 0
    •  Analog Employees 
    on Jun 27, 2019 7:33 AM over 1 year ago in reply to nikeshspatil@eaton.com

    Hi, Nikesh

      For the patch, it's only located in our kit right now, Download the Linux Add-In for ADSP-SC5xx(Rev 1.3.1) from here: https://www.analog.com/en/design-center/evaluation-hardware-and-software/software/LinuxAddin.html#software-overview,
      And then install the debian package, you can get the buildroot source code from here: /opt/analog/cces-linux-add-in/1.3.1/buildroot-sc5xx-1.3.1/src/buildroot-sc5xx-1.3.1.tar.gz
      Unzip the buildroot-sc5xx-1.3.1.tar.gz, the patches will be in buildroot/package/libmcapi directory.

      For our Linux-1.4.0 release, we will release our code via github, at that time we can get all source code from github. Sorry for the inconvinient.

    Thanks & Regards,

    HuanFeng

  • Hi HuanFeng,

    I followed above steps to apply patch to mcapi library. I also got the definition of function mcapi_trans_msg_send(). But I am getting below error.

    I think in order to remove this error patch should be applied to  ICC drivers also.

    So please let me know the if there is patch for icc driver or any other way to resolve below error.

    make  all-recursive
    make[1]: Entering directory '/home/nikesh/mustang/libmcapi_with_patches/libmcapi-2.0'
    Making all in .
    make[2]: Entering directory '/home/nikesh/mustang/libmcapi_with_patches/libmcapi-2.0'
    /bin/bash ./libtool  --tag=CC   --mode=compile arm-cortexa5-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I. -I./include  -U_FORTIFY_SOURCE  -funwind-tables -I/home/nikesh/mustang/product-mustang/output/exported/include   -I /home/nikesh/mustang/product-mustang/output/exported/include/linux/sc58x/ -MT tran_impl_dev.lo -MD -MP -MF .deps/tran_impl_dev.Tpo -c -o tran_impl_dev.lo `test -f 'trans_impl/tran_impl_dev.c' || echo './'`trans_impl/tran_impl_dev.c
    libtool: compile:  arm-cortexa5-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I. -I./include -U_FORTIFY_SOURCE -funwind-tables -I/home/nikesh/mustang/product-mustang/output/exported/include -I /home/nikesh/mustang/product-mustang/output/exported/include/linux/sc58x/ -MT tran_impl_dev.lo -MD -MP -MF .deps/tran_impl_dev.Tpo -c trans_impl/tran_impl_dev.c  -fPIC -DPIC -o .libs/tran_impl_dev.o
    trans_impl/tran_impl_dev.c: In function 'sm_send_packet':
    trans_impl/tran_impl_dev.c:113:17: error: 'struct sm_packet' has no member named 'payload'
       *payload = pkt.payload;
                     ^
    trans_impl/tran_impl_dev.c: In function 'sm_send_scalar':
    trans_impl/tran_impl_dev.c:161:10: warning: assignment makes pointer from integer without a cast [enabled by default]
      pkt.buf = scalar0;
              ^
    trans_impl/tran_impl_dev.c: In function 'sm_recv_scalar':
    trans_impl/tran_impl_dev.c:210:12: warning: assignment makes integer from pointer without a cast [enabled by default]
       *scalar0 = pkt.buf;
                ^
    trans_impl/tran_impl_dev.c: In function 'sm_get_remote_ep':
    trans_impl/tran_impl_dev.c:225:5: error: 'struct sm_packet' has no member named 'timeout'
      pkt.timeout = timeout;
         ^
    trans_impl/tran_impl_dev.c: In function 'sm_wait_nonblocking':
    trans_impl/tran_impl_dev.c:262:5: error: 'struct sm_packet' has no member named 'timeout'
      pkt.timeout = timeout;
         ^
    trans_impl/tran_impl_dev.c:263:5: error: 'struct sm_packet' has no member named 'payload'
      pkt.payload = payload;
         ^
    trans_impl/tran_impl_dev.c:273:18: error: 'CMD_SM_WAIT' undeclared (first use in this function)
      ret = ioctl(fd, CMD_SM_WAIT, &pkt);
                      ^
    trans_impl/tran_impl_dev.c:273:18: note: each undeclared identifier is reported only once for each function it appears in
    Makefile:515: recipe for target 'tran_impl_dev.lo' failed
    make[2]: *** [tran_impl_dev.lo] Error 1
    make[2]: Leaving directory '/home/nikesh/mustang/libmcapi_with_patches/libmcapi-2.0'
    Makefile:558: recipe for target 'all-recursive' failed
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory '/home/nikesh/mustang/libmcapi_with_patches/libmcapi-2.0'
    Makefile:392: recipe for target 'all' failed
    make: *** [all] Error 2


    Thanks and Best Regards,

    Nikesh

  • 0
    •  Analog Employees 
    on Jul 9, 2019 3:23 AM over 1 year ago in reply to nikeshspatil@eaton.com

    Hi,

    Oh yes, there should be patches for icc drivers. Sorry i forgot this part.

    May i ask which version are you based on ? So that i can make a patch for you.

    Or you can refer to the code in the buildroot packages(v1.3.1) you unzipped previously. The icc driver is located in buildroot/linux/linux-kernel/drivers/staging/icc, and don't forget about the core_control driver and the dts changes in your code.

    Thanks and Regards,
    HuanFeng