This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
resources:tools-software:linuxdsp:docs:quickstartguide:quickstart_sc589_3_0_0 [24 May 2023 10:55] Vasileios Bimpikas |
resources:tools-software:linuxdsp:docs:quickstartguide:quickstart_sc589_3_0_0 [25 May 2023 11:06] Vasileios Bimpikas |
||
---|---|---|---|
Line 109: | Line 109: | ||
\\ | \\ | ||
==== Building the example ==== | ==== Building the example ==== | ||
- | You can build three different versions of the root file system; tiny, minimal and full. | + | You can build two different versions of the root file system; minimal and full. |
To build the example images invoke bitbake from within the build directory created previously. | To build the example images invoke bitbake from within the build directory created previously. | ||
<code bash> | <code bash> | ||
- | $ bitbake adsp-sc5xx-tiny | ||
$ bitbake adsp-sc5xx-minimal | $ bitbake adsp-sc5xx-minimal | ||
$ bitbake adsp-sc5xx-full | $ bitbake adsp-sc5xx-full | ||
Line 138: | Line 137: | ||
<code bash> | <code bash> | ||
$ ls tmp/deploy/sdk | $ ls tmp/deploy/sdk | ||
- | adi-distro-musl-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.host.manifest | + | adi-distro-glibc-glibc-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.host.manifest |
- | adi-distro-musl-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.sh | + | adi-distro-glibc-glibc-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.sh |
- | adi-distro-musl-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.target.manifest | + | adi-distro-glibc-glibc-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.target.manifest |
- | adi-distro-musl-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.testdata.json | + | adi-distro-glibc-glibc-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.testdata.json |
</code> | </code> | ||
- | The ''adi-distro-musl-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.sh'' or ''adi-distro-musl-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-mini-toolchain-3.0.0.sh'' is a self-extracting archive containing the SDK. | + | The ''adi-distro-glibc-glibc-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.sh'' or ''adi-distro-glibc-glibc-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-mini-toolchain-3.0.0.sh'' is a self-extracting archive containing the SDK. |
=== Installing the SDK === | === Installing the SDK === | ||
Line 151: | Line 150: | ||
For the minimal image on SC589-EZKIT | For the minimal image on SC589-EZKIT | ||
<code bash> | <code bash> | ||
- | $ ./adi-distro-musl-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.sh | + | $ ./adi-distro-glibc-glibc-x86_64-adsp-sc5xx-minimal-cortexa5t2hf-neon-adsp-sc589-ezkit-toolchain-3.0.0.sh |
- | Analog Devices Inc Reference Distro SDK installer version 3.0.0 | + | Analog Devices Inc Reference Distro (glibc) SDK installer version 3.0.0 |
- | =============================================================== | + | ======================================================================= |
- | Enter target directory for SDK (default: /opt/adi-distro/3.0.0): | + | Enter target directory for SDK (default: /opt/adi-distro-glibc/3.0.0): |
- | You are about to install the SDK to "/opt/adi-distro/3.0.0". Proceed [Y/n]? y | + | You are about to install the SDK to "/opt/adi-distro-glibc/3.0.0". Proceed [Y/n]? y |
- | Extracting SDK........................................................................done | + | Extracting SDK................................................................................................................done |
Setting it up...done | Setting it up...done | ||
SDK has been successfully set up and is ready to be used. | SDK has been successfully set up and is ready to be used. | ||
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. | Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. | ||
- | $ . /opt/adi-distro/3.0.0/environment-setup-cortexa5t2hf-neon-adi-linux-musleabi | + | $ . /opt/adi-distro-glibc/3.0.0/environment-setup-cortexa5t2hf-neon-adi_glibc-linux-gnueabi |
</code> | </code> | ||
Line 208: | Line 207: | ||
;''**Terminal2: OpenOCD**'' | ;''**Terminal2: OpenOCD**'' | ||
:<code bash> | :<code bash> | ||
- | $ sdk_usr=/opt/adi-distro/3.0.0/sysroots/x86_64-adisdk-linux/usr/ | + | $ sdk_usr=/opt/adi-distro-glibc/3.0.0/sysroots/x86_64-adi_glibc_sdk-linux/usr/ |
$ $sdk_usr/bin/openocd -f $sdk_usr/share/openocd/scripts/interface/<ICE>.cfg -f $sdk_usr/share/openocd/scripts/board/adspsc589_ezbrd.cfg</code> | $ $sdk_usr/bin/openocd -f $sdk_usr/share/openocd/scripts/interface/<ICE>.cfg -f $sdk_usr/share/openocd/scripts/board/adspsc589_ezbrd.cfg</code> | ||
Where <ICE> should be replaced with ice1000 or ice2000 depending on your hardware. | Where <ICE> should be replaced with ice1000 or ice2000 depending on your hardware. | ||
Line 233: | Line 232: | ||
: <code bash> | : <code bash> | ||
$ cd /tftpboot | $ cd /tftpboot | ||
- | $ /opt/adi-distro/3.0.0/sysroots/x86_64-adisdk-linux/usr/bin/arm-adi-linux-gnueabi/arm-adi-linux-gnueabi-gdb u-boot-spl-sc589-ezkit.elf | + | $ /opt/adi-distro-glibc/3.0.0/sysroots/x86_64-adi_glibc_sdk-linux/usr/bin/arm-adi_glibc-linux-gnueabi/arm-adi_glibc-linux-gnueabi-gdb u-boot-spl-sc589-ezkit.elf |
... | ... | ||
Reading symbols from u-boot-spl-sc589-ezkit.elf...done. | Reading symbols from u-boot-spl-sc589-ezkit.elf...done. | ||
Line 256: | Line 255: | ||
: <code bash> | : <code bash> | ||
$ cd /tftpboot | $ cd /tftpboot | ||
- | $ /opt/adi-distro/3.0.0/sysroots/x86_64-adisdk-linux/usr/bin/arm-adi-linux-gnueabi/arm-adi-linux-gnueabi-gdb u-boot-spl-sc589-mini.elf | + | $ /opt/adi-distro-glibc/3.0.0/sysroots/x86_64-adi_glibc_sdk-linux/usr/bin/arm-adi_glibc-linux-gnueabi/arm-adi_glibc-linux-gnueabi-gdb u-boot-spl-sc589-mini.elf |
... | ... | ||
Reading symbols from u-boot-spl-sc589-mini.elf...done. | Reading symbols from u-boot-spl-sc589-mini.elf...done. | ||
Line 445: | Line 444: | ||
====== Booting Linux ====== | ====== Booting Linux ====== | ||
==== Booting Linux from SPI Flash ==== | ==== Booting Linux from SPI Flash ==== | ||
- | The ADSP-SC589-EZKIT and ADSP-SC589-MINI come equipped with 16 MiB of SPI Flash. The ''adsp-sc5xx-tiny'' image can be stored into it and used to boot Linux from it. You can do this from the U-Boot prompt. Following the guide so far, you'll have U-Boot installed into SPI Flash and getting the U-Boot prompt when powering up the board with the boot selector set to '1'. | + | The ADSP-SC589-EZKIT and ADSP-SC589-MINI come equipped with 16 MiB of SPI Flash. There's the option of building the ''adsp-sc5xx-tiny'' image, after changing the Libc implementation from the default GNU to musl, to further reduce the image's size. Follow the guide in [[resources:tools-software:linuxdsp:docs:quickstartguide:boot-flash-sc58x-573|Boot from SPI Flash on the SC58x & SC573]] |
- | + | ||
- | You'd first need to copy the fitImage and the ''tiny'' root filesystem on the TFTP server directory of the Host machine: | + | |
- | + | ||
- | <code bash> | + | |
- | $ cp tmp/deploy/images/adsp-sc589-ezkit/fitImage /tftpboot/ | + | |
- | $ cp tmp/deploy/images/adsp-sc589-ezkit/adsp-sc5xx-tiny-adsp-sc589-ezkit.jffs2 /tftpboot/ | + | |
- | </code> | + | |
- | or | + | |
- | <code bash> | + | |
- | $ cp tmp/deploy/images/adsp-sc589-mini/fitImage /tftpboot/ | + | |
- | $ cp tmp/deploy/images/adsp-sc589-mini/adsp-sc5xx-tiny-adsp-sc589-mini.jffs2 /tftpboot/ | + | |
- | </code> | + | |
- | + | ||
- | In order to flash the kernel on the flash, run the below command and observe a similar output: | + | |
- | + | ||
- | <code bash> | + | |
- | => run update_spi_fit | + | |
- | Speed: 1000, full duplex | + | |
- | Using eth0 device | + | |
- | TFTP from server 192.168.1.223; our IP address is 192.168.1.217 | + | |
- | Filename 'fitImage'. | + | |
- | Load address: 0xc2000000 | + | |
- | Loading: ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ################################ | + | |
- | 3.6 MiB/s | + | |
- | done | + | |
- | Bytes transferred = 6193382 (5e80e6 hex) | + | |
- | SF: Detected w25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB | + | |
- | device 0 offset 0xe0000, size 0x5e80e6 | + | |
- | SF: 6193382 bytes @ 0xe0000 Written: OK | + | |
- | </code> | + | |
- | + | ||
- | Now run the following command to also flash the root filesystem: | + | |
- | <code bash> | + | |
- | => run update_spi_rfs | + | |
- | Speed: 1000, full duplex | + | |
- | Using eth0 device | + | |
- | TFTP from server 192.168.1.223; our IP address is 192.168.1.217 | + | |
- | Filename 'adsp-sc5xx-tiny-adsp-sc589-ezkit.jffs2'. | + | |
- | Load address: 0xc2000000 | + | |
- | Loading: ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ################################################################# | + | |
- | ## | + | |
- | 3.6 MiB/s | + | |
- | done | + | |
- | Bytes transferred = 9568256 (920000 hex) | + | |
- | SF: Detected w25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB | + | |
- | device 0 offset 0x6e0000, size 0x920000 | + | |
- | SF: 9568256 bytes @ 0x6e0000 Written: OK | + | |
- | </code> | + | |
- | + | ||
- | You are now ready to boot into Linux, by entering ''run spiboot'' on the U-Boot prompt: | + | |
- | + | ||
- | <code bash> | + | |
- | => run spiboot | + | |
- | SF: Detected w25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB | + | |
- | device 0 offset 0xe0000, size 0x5e80e6 | + | |
- | SF: 6193382 bytes @ 0xe0000 Read: OK | + | |
- | ## Loading kernel from FIT Image at c2000000 ... | + | |
- | Using 'conf-1' configuration | + | |
- | Verifying Hash Integrity ... OK | + | |
- | Trying 'kernel-1' kernel subimage | + | |
- | Description: Linux kernel | + | |
- | Type: Kernel Image | + | |
- | Compression: uncompressed | + | |
- | Data Start: 0xc20000dc | + | |
- | Data Size: 4774696 Bytes = 4.6 MiB | + | |
- | Architecture: ARM | + | |
- | OS: Linux | + | |
- | Load Address: 0x80008000 | + | |
- | Entry Point: 0x80008000 | + | |
- | Hash algo: sha1 | + | |
- | Hash value: 24bf0dc6adfde94b1e336f0ab5623bf5ec8d9c1e | + | |
- | Sign algo: sha1,rsa2048: | + | |
- | Sign value: unavailable | + | |
- | Verifying Hash Integrity ... sha1+ sha1,rsa2048:- OK | + | |
- | + | ||
- | ... | + | |
- | + | ||
- | systemd-journald[153]: Oldest entry in /run/log/journal/0e090b939c924da8bc4494744ba9ea15/system.journal is older than the configured file retention duration (1month), suggesting rotation. | + | |
- | systemd-journald[153]: /run/log/journal/0e090b939c924da8bc4494744ba9ea15/system.journal: Journal header limits reached or header out-of-date, rotating. | + | |
- | + | ||
- | + | ||
- | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ | + | |
- | @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | + | |
- | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | + | |
- | + | ||
- | Analog Devices Yocto Distribution | + | |
- | www.analog.com | + | |
- | www.yoctoproject.org | + | |
- | + | ||
- | adsp-sc589-ezkit login: root | + | |
- | Password: adi | + | |
- | </code> | + | |
==== Booting Linux Using SD Card ==== | ==== Booting Linux Using SD Card ==== |