SELF-BOOTING OF 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
veda16 - Moved from Speech Processing Solutions to Processors & DSP. Post date updated from Thursday, January 29, 2026 7:53 AM UTC to Friday, March 27, 2026 3:36 AM UTC to reflect the move.
veda16 - Moved from Speech Processing Solutions to Processors & DSP. Post date updated from Friday, March 27, 2026 3:36 AM UTC to Friday, March 27, 2026 3:36 AM UTC to reflect the move.
hardware
ADAU1861
processors and dsp
Integrated/Special Purpose A/D Converters
Processors and Microcontrollers
Audio CODECs
Show More
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
Please log in to reply.