Getting started
ADSP evaluation boards do not ship with pre-installed software. The chips also do not support booting directly from SD cards. Therefore the evaluation boards need to be bootstrapped over JTAG using a ADI ICE-1000 or ICE-2000 JTAG debugger.
Download a binary release
Navigate to the br2-external releases page and download the appropriate images-*.tar.xz release archive.
Setup a JTAG connection
Build and install the ADI fork of OpenOCD:
~$
git clone https://github.com/analogdevicesinc/openocd
~$
cd openocd
~/openocd$
./bootstrap
~/openocd$
./configure
~/openocd$
make -j$(nproc)
Run openocd with either ice1000.cfg or ice2000.cfg and one of the
following configs:
adspsc58x.cfgadspsc59x_a55.cfg
For example, for the ICE-1000 and ADZS-SC589-EZLITE run the following:
~/openocd$
src/openocd -f ice1000.cfg \
-f adspsc58x.cfg \
--search tcl/ \
--search tcl/interface/ \
--search tcl/target/
Boot U-Boot Proper
To boot U-Boot SPL and U-Boot Proper using GDB install
gdb-multiarch on Debian or Ubuntu systems:
~$
sudo apt-get install -y gdb-multiarch
In the terminal, cd into the extracted release archive or the appropriate
build output directory.
Then download the GDB automation u-boot.gdb script using:
~$
curl -O https://raw.githubusercontent.com/analogdevicesinc/documentation/refs/heads/main/docs/products/adsp/u-boot.gdb
Once downloaded, start GDB and run the following command with the script in order to load and run both U-Boot stages as:
~$
gdb-multiarch -x u-boot.gdb
Boot Linux
Once U-Boot Proper is running and a U-Boot prompt is accessible over serial it is possible to load and boot Linux.
In a new terminal cd into the extracted release archive and run a web
server (e.g. python -m http.server).
In the console of U-Boot, we can load images as:
=> dhcp
=> wget ${fdt_addr_r} <host-ip-addr>:/<path-to-image>