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
  • 0
    •  Analog Employees 
    on Jan 18, 2019 11:51 AM over 1 year ago in reply to nikeshspatil@eaton.com

    Hi,

    the document (linux_add_in_user_guide.pdf) should be located in the /opt/analog/cces-linux-add-in/1.3.0/Docs directory of you host system once you install the 1.3.0 release of the Linux add-in.

    An online version can also be located here:

    https://download.analog.com/tools/LinuxAddInForCCES/documentation/linux_add_in_user_guide_1.3.0.pdf

  • Thanks Dave,

    I loaded uboot in SPI flash, checkout below log,

    sc # run update
    Speed: 1000, full duplex
    Using dwmac.3100c000 device
    TFTP from server 192.168.0.2; our IP address is 192.168.0.15
    Filename 'u-boot.ldr'.
    Load address: 0xc2000000
    Loading: ####################
    3.5 MiB/s
    done
    Bytes transferred = 282752 (45080 hex)
    SF: Detected W25Q128BV with page size 256 Bytes, erase size 4 KiB, total 16 MiB
    SF: 524288 bytes @ 0x0 Erased: OK
    SF: 282752 bytes @ 0x0 Written: OK
    sc # save
    Saving Environment to SPI Flash...
    SF: Detected W25Q128BV with page size 256 Bytes, erase size 4 KiB, total 16 MiB
    Erasing SPI flash...Writing to SPI flash...done
    sc #

    Now, next I am trying to copy Linux kernel image using tftp,

    but i am getting below error:

     Net: Phy 1 not found

    Because of this error i am not able to load Linux Kernel. As per linux_add_in_user_guide_1.3.0.pdf, this can be solved by applying patches on uboot and kernel(as my board Rev is 2.0). I could build uboot but while building kernel below errors:

    Makefile:1358: recipe for target 'doc/libtool.info' failed
    make[3]: *** [doc/libtool.info] Error 127
    make[3]: *** Waiting for unfinished jobs....
    make[3]: Leaving directory '/home/nikesh/temp/buildroot/output/build/host-libtool-2.4.5'
    Makefile:1605: recipe for target 'install-recursive' failed
    make[2]: *** [install-recursive] Error 1
    make[2]: Leaving directory '/home/nikesh/temp/buildroot/output/build/host-libtool-2.4.5'
    Makefile:1907: recipe for target 'install' failed
    make[1]: *** [install] Error 2
    make[1]: Leaving directory '/home/nikesh/temp/buildroot/output/build/host-libtool-2.4.5'
    package/pkg-generic.mk:194: recipe for target '/home/nikesh/temp/buildroot/output/build/host-libtool-2.4.5/.stamp_host_installed' failed
    make: *** [/home/nikesh/temp/buildroot/output/build/host-libtool-2.4.5/.stamp_host_installed] Error 2
    ni

    I am stuck at this point, can you please help me here.

    Thanks,

    Nikesh.

  • 0
    •  Analog Employees 
    on Jan 21, 2019 11:46 AM over 1 year ago in reply to nikeshspatil@eaton.com

    Hi Nikesh, this sounds like it might be related to the version of the host OS on your build machine, or the packages that you have installed.

    Could you confirm the host OS by performing a lsb_release -a

    For the release testing of the product we develop, build and test using the 32-bit 14.04 LTS release of Ubuntu. There is a section in the User Guide (Environment set up) which details all the packages that are required to build the sources using that host OS.

    If you are using a different host OS (which is likely) then this list of packages may vary.

    I would suggest making sure that all the packages in the user guide are installed before retying the build - it sounds like libtool may be missing. If it still fails we will try and reproduce the error here.

    Regards,

    Dave

  • Thanks for the reply Dave,

    I installed all packages and built uImage as mentioned in user guide.

    Now, when I try to load this uImage, I get following error:

    sc # run ramboot
    Wrong Image Format for bootm command
    ERROR: can't get kernel image!

    I have uboot environment variables as below:

    sc # print
    addip=set bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:eth0:off
    autoload=no
    baudrate=57600
    bootargs=root=/dev/mtdblock2 rw rootfstype=jffs2 clkin_hz=(25000000) earlyprintk=serial,uart0,57600 console=ttySC0,57600 mem=224M ipf
    bootcmd=run ramboot
    bootdelay=5
    dtbaddr=0xC4000000
    dtbfile=sc589-ezkit.dtb
    ethact=dwmac.3100c000
    ethaddr=02:80:ad:20:31:e8
    gatewayip=192.168.0.1
    hostname="sc58x"
    ipaddr=192.168.0.15
    loadaddr=0xC2000000
    loads_echo=1
    nc=set ncip ${serverip};set stdin nc;set stdout nc;set stderr nc
    netmask=255.255.255.0
    nfsargs=set bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath},tcp,nfsvers=3
    nfsboot=tftp ${loadaddr} ${nfsfile};run nfsargs;run addip;bootm
    nfsfile=vmImage
    ramargs=set bootargs root=/dev/mtdblock2 rw rootfstype=jffs2 clkin_hz=(25000000) earlyprintk=serial,uart0,57600 console=ttySC0,57600M
    ramboot=tftp ${loadaddr} ${ramfile};tftp ${dtbaddr} ${dtbfile};run ramargs;run addip;bootm ${loadaddr} - ${dtbaddr}
    ramfile=uImage
    rootpath=/romfs
    serverip=192.168.0.2
    stderr=serial
    stdin=serial
    stdout=serial
    ubootfile=u-boot.ldr
    update=tftp ${loadaddr} ${ubootfile};sf probe 2:1;sf erase 0 0x80000;sf write ${loadaddr} 0 ${filesize}

    Environment size: 1330/8188 bytes
    sc #

    Please let me know, how can I load kernel?

  • I broke down run ramboot command and run each and every commads in it one-by-one,

    ramboot=tftp ${loadaddr} ${ramfile};tftp ${dtbaddr} ${dtbfile};run ramargs;run addip;bootm ${loadaddr} - ${dtbaddr}

    sc # print loadaddr
    loadaddr=0xC2000000
    sc # print ramfile
    ramfile=uImage
    sc # print dtbaddr
    dtbaddr=0xC4000000
    sc # print dtbfile
    dtbfile=sc589-ezkit.dtb
    sc # tftp 0xC2000000 uImage
    sc # tftp 0xC4000000 sc589-ezkit.dtb
    sc # run ramargs

    sc #bootm ${loadaddr} - ${dtbaddr}
    Wrong Image Format for bootm command
    ERROR: can't get kernel image!
    sc # bootm 0xC2000000 - 0xC4000000
    Wrong Image Format for bootm command
    ERROR: can't get kernel image!
    sc # bootm 0x2000000
    data abort
    pc : [<cff79adc>] lr : [<cff69fe8>]
    sp : cfe63d30 ip : cfe65232 fp : 00000000
    r10: cfe6520c r9 : cfe63f08 r8 : 00000001
    r7 : cffa1a28 r6 : 0000070f r5 : 02000000 r4 : cffa1a28
    r3 : 00000000 r2 : 00000010 r1 : 00000000 r0 : 02000000
    Flags: nZCv IRQs off FIQs off Mode SVC_32
    Resetting CPU ...

    ### ERROR ### Please RESET the board ###

    As you can see above, loadaddr=0xC2000000 and dtbaddr=0xC4000000, so bootm ${loadaddr} - ${dtbaddr} will be equals to -0x2000000, which would be an invalid address, so I tried to run "bootm 0x2000000" command, but still i got above error.

    As mentioned in below thread,

    https://ez.analog.com/search?q=ERROR%3A%20can%27t%20get%20kernel%20image!#serp=1

    Do I need to run sf probesf erase and sf write commands? And if yes, then what addresses I should use in it?

    Regards,

    Nikesh.