Post Go back to editing

SELF-BOOTING OF ADAU1861

Thread Summary

The user wants to configure the ADAU1861 Eval to work in self-boot mode. The solution involves building the program with the correct memory map for flash, generating an .hex file, and using the FTDI interface to write the file to the QSPI flash. Set the SELFBOOT and ROM_BOOT jumpers to high and ensure all QSPI flash jumpers are correctly placed for booting from flash.
AI Generated Content
Category: Hardware
Product Number: ADAU1861

I want my ADAU1861 Eval to work in self-boot mode.I have tried some of the sample codes in Debug mode with Xtensa and ADAU1861-Eval and its working.I want my code to work in self-boot mode how to do that? there are few blogs taking about testapp.exe but i am not able to figure it out.

Can any one give a detailed procedure over self-booting of ADAU1861 and corresponding jumper settings and software's and hardware used for it

How to generate a .bin file using xtensa?. 

How to flash the code on to onboard flash using QSPI?

should i use a separate external flash programmer to program onboard flash?

Thread Notes

  • Hi Veda,

    The first step would be building the program with the correct memory map for flash as described in this thread:  RE: How to generate HEX file for selfboot 
    For more information please refer to ADAU1860-1: Installing Tools for Xtensa Xplorer 
    After doing this, you will get an .hex file containing your TDSP program, ready to be uploaded to the flash.

    You do not need an external flash programmer to program the QSPI flash. If you look at C:\Analog Devices\Lark SDK v3.2.2\src\adi_lark_qspi.c, you will find functions to read and write blocks of data to the flash (such as adi_lark_qspi_tx_data). You can do that from Windows thanks to the FTDI interface. What I would recommend is that you write a Windows program that opens the TDSP program file and writes it to the flash in chunks.

    Once the program is in the flash, you can automatically boot the TDSP from it by seting the SELFBOOT and ROM_BOOT jumpers to high. Also make sure that all the jumpers for the QSPI flash are placed, to ensure connection to 1861. You will find all of the details in the EVAL-ADAU1860 UG.

    Best regards,
    Roberto

  • Hi Roberto,

    when ever i'm using the following set of command in post build 

    xt-dumpelf --base=0x68000000 --width=32 --full --size=0x30000 --little-endian .\bin\hifi3z_lark_swupgrade\Debug\dmic_dac_flashV2> dmic_dac_flashV2.hex

     The generated .HEX file is populated by only zeros, it contains no valid data.[After build process its generating 2 sets of .HEX file]

    5344.Hex files.zip

    • When ever i included xt-clang command in my pre-build step its showing a error as "reset_vector.o not found in the mentioned directory" 
  • Hi Veda, I would suggest that you run the command manually in the cmd to see what is failing. If you are not going to change the LSP you only need to build reset_vector once (don't forget to rebuild it each time you change LSP, for example, from RAM to FLASH).

    xt-clang --xtensa-core=hifi3z_lark_RI_2022_10 -mlsp= .\gdbio_flash -DXTOS_UNPACK -g -c -mlongcalls -mtext-section-literals -I "C:\usr\xtensa\XtDevTools\install\tools\RI-2022.10-win32\XtensaTools\xtensa-elf\src\xtos" -o  C:\usr\xtensa\XtDevTools\install\builds\RI-2022.10-win32\hifi3z_lark_RI_2022_10\xtensa-elf\arch\lib\reset-vector.o  C:\usr\xtensa\XtDevTools\install\tools\RI-2022.10-win32\XtensaTools\xtensa-elf\src\xtos\xea2\reset-vector-xea2.S

    Kind regards,
    Roberto