Post Go back to editing

ADZS-21569-EZKIT SPI SLAVE BOOT

Hi,

I have ADZS-21569-EZKIT connected to my board via extension connectors on EZKIT.

I want to boot ADSP-21569 in SPI slave mode from my microcontroler.

Is there any guide how to do this step by step?

I have also a few questions about booting in SPI slave mode:

1. Which pins (gpio) are used in ADSP-21489 for SPI2 booting in slave mode? ( I mean MISO, MOSI, SCK and CS in single mode)

2. How to prepare ldr file for correct boot?

3. Where can I found file with preloader or system init file for booting?

Thank you in advance for your help!



tags added
[edited by: Franciscus at 9:10 PM (GMT -5) on 1 Mar 2021]
Parents
  • Hi,

    Regarding  "1)Which pins (gpio) are used in ADSP-21489 for SPI2 booting in slave mode"
    >>Please refer the below link mentioned ADSP-21569 datasheet signal multiplexing table in Page no: 28/98.
    The SPI2 signals are multiplexed in Port A.

    For ADSP-21569 SPI Slave Mode :
    PA_00 - SPI2_MISO
    PA_01 - SPI2_MOS1
    PA_02 - SPI2_D2
    PA_03 - SPI2_D3
    PA_04 - SPI2_CLK
    PA_05 - SPI2_SEL1

    www.analog.com/.../adsp-21566-21567-21569.pdf

    Regarding  " 2) How to prepare ldr file for correct boot? "
    >>You can also refer the examples available in the Board Support Package(BSP). The ADSP-21569 Ez-kit BSP can be downloaded from below link.
    download.analog.com/.../ADI_ADSP-2156x_EZ-KIT-Rel1.0.1.exe
    After downloading the BSP, please navigate as given below.
    <Installation path>\Analog Devices\ADSP-2156x_EZ-KIT-Rel1.0.1\ADSP-2156x_EZ-KIT\Examples\Power_on_self_test

    Regarding  " 3).Where can I found file with preloader or system init file for booting? "
    >> System Init File : C:\Analog Devices\CrossCore Embedded Studio 2.9.3\SHARC\ldr\init_code
         Preloader : C:\Analog Devices\CrossCore Embedded Studio 2.9.3\SHARC\ldr\init_code\2156x_Init\2156x_preload
         
    Hope this helps. Please let us know if you need any further information on this.

    Regards,
    Anand Selvaraj.

  • hello, 

    I tried to boot ADSP-21569 in SPI slave mode from my microcontroler without any success.

    ldr generation:

    elfloader.exe -v -proc ADSP-21569 -si-revision 0.0 -bspislave -fbinary -width 8 -init "C:\Analog Devices\CrossCore Embedded Studio 2.9.2\SHARC\ldr\ezkit21569_initcode.dxe"

    My connections:

    PA_00 - MISO

    PA_01 - MOSI

    PA_04 - CLK

    PA_05 - CS (active low) from microcontroler

    Is connection correct?

    SPI2_DRDY pin (PB_05) is always low, even just after reset pulse, is this normal?

    My boot algorithm:

    -reset pulse

    - SPI send one byte with SPICMD = 0x03 and own CS cycle.

    - Send ldr file byte per byte with one CD cycle for whole ldr file.

    After sent all bytes from ldr, ADSP-21569 unfortunatelly  didn't boot.

    Have you any suggestion what I maybe do wrong? Or maybe have you example code for SPI host for booting in spi slave mode for ADSP-21569?

    Thank you in advance!

  • Hi,

    Apologies for delayed response.

    From ldr generation command line, We understand that you have not included application(.dxe). Also for SPI slave booting, choose boot format as Include.

    Below is the syntax:
    elfloader -proc ADSP-21569 -si-revision 0.0 -bspislave -fInclude -width 8 -init "C:\Analog Devices\CrossCore Embedded Studio 2.9.2\SHARC\ldr\ezkit21569_initcode.dxe" -o "App.ldr" "App.dxe"

    The SPIx_RDY output is requires a pulling resistor. The boot code requires the SPIx_RDY signal function as active-low. The host is only permitted to transfer data when SPIx_RDY is in the active state. This functionality allows the processor to hold off the host while the processor is in reset or executing the pre-boot and processor initialization sequences. The SPI is configured to deassert SPIx_RDY when the receive FIFO is filled to 75% or more.

    Can you please try with minimum baud rate.

    Also, please refer "SPI Slave Boot Mode" in ADSP-2156x SHARC+ Processor Hardware Reference manual linked below:
    www.analog.com/.../adsp-2156x_hwr.pdf

    Regards,
    Anand Selvaraj.

  • hi,

    I'm trying to boot the dsp (spi-slave mode) on the 21569-EZKIT using the spi1 peripheral on the A2B connector without any success. (I've connected my spi lines on the highlighted pins in the below snapshot on the ez kit)

    can i be using SPI1 connections for the SPI slave boot mode or does it has to be through SPI2?

     

    I generated my LDR as follows: 

     .\elfloader.exe -proc ADSP-21569 "LEDBlink.dxe" -init "ezkit21569_initcode.dxe" -b SPISLAVE -f BINARY -Width 8 -verbose -o "led-blink.ldr"

    for the dsp boot, I'm doing as follows:

    1. DSP reset toggle

    2. Sending SPI CMD of 0x3 

    3. sending the led-blink.ldr genreated previously

    but the dsp does not boot up after this. 

    i have the spi configuration on the host micro as 

    CS active low

    polarity 0

    phase 1

    first bit: MSBit

    First word: LSWord

    freq: 5Mhz

    also attaching the ldr file in binary and include formats:

     led_blink.rarinclude-format.txt

  • Hi,

    Regarding " Can i be using SPI1 connections for the SPI slave boot mode or does it has to be through SPI2?"
    >>> SPI slave booting done through SPI2 only. We suggest to refer the Booting and Table 7. Boot Modes (Page No: 18/102) in ADSP-2156x Datasheet using below link:
    www.analog.com/.../adsp-21562-21563-21565-21566-21567-21569.pdf

    Please let us know is there any specific reason to use Binary Format. For SPI slave booting can you please try with the Boot format as 'Include' format, so that the loader stream can be stored to a buffer array easily at the Host side.

    Can you please refer the below FAQ which discuss about the SPI Slave boot in 21569:
    ez.analog.com/.../faq-adsp-21569-spi-host-example

    Regards,
    Divya.P

Reply Children
No Data