world leader in high performance signal processing
Trace: » 2013r1

2013 Release 1 (2013R1) Toolchain Release

Version: 2013R1

Date: October. 17, 2013

This is a minor maintenance release and only has a few minor fixes and updates to the kernel headers.

This toolchain release contains tools for three targets: bfin-elf, bfin-uclinux, and bfin-linux-uclibc. All are cross toolchains for the Blackfin architecture. The bfin-elf target toolchain uses newlib for the C library and can be used to develop standalone applications. Both of the bfin-uclinux and bfin-linux-uclibc target toolchains use uClibc for the C library and can be used to develop Linux applications. bfin-uclinux is used for the FLAT binary format while bfin-linux-uclibc is used for the ELF FD-PIC binary format.

This release provides two GCC versions: 4.3.5 and 4.5.3. The Binutils version in this release is 2.21. The GDB version in this release is 6.6. The uClibc version is 0.9.33.2 and the newlib version is 1.19.0.

For the 2013R1 release, there will be two separate toolchain releases. This is due to upstream incompatibilities between the shared libraries of GCC-4.3 and GCC-4.5. The default release package is 2013R1-RC1 and contains GCC-4.3. A second toolchain package is available called 2013R1_45-RC1 and contains an experimental GCC-4.5 compiler. The former will install to the default directory /opt/uClinux, the latter to /opt/uClinux-45.

The release is available as Linux 32-bit (i386), Linux 64-bit (x86_64) and Windows 32-bit (win32).

Additionally, there are two different releases of the uClibc libraries; the default and a “full” package, which contains a few extra features (IPV6, Wide Char, new file tree walk, netlink and ai_addrconfig support).

Quick Selection Guide

Under Files → 2013R1

Select a RELEASE:

  • 2013R1-RC1 - The default GCC 4.3 compiler
  • 2013R1_45-RC1 - The experimental GCC 4.5 compiler

Then Select a PLATFORM:

  • i386 - Linux 32-bit
  • x86_64 - Linux 64-bit
  • src - Source Code
  • blackfin-toolchain-win32-RELEASE.exe - Windows 32-bit

If Selecting A Linux Release, Download:

  • blackfin-toolchain-RELEASE.PLATFORM.{rpm/tar.bz2} - The base package

For Linux (one of):

  • blackfin-toolchain-uclibc-default-RELEASE.PLATFORM.{rpm/tar.bz2} - The default uClibc libraries
  • blackfin-toolchain-uclibc-full-RELEASE.PLATFORM.{rpm/tar.bz2} - The full uClibc libraries

And/Or For Bare-Metal:

  • blackfin-toolchain-elf-gcc-{4.3/4.5}-RELEASE.PLATFORM.{rpm/tar.bz2} - The bare metal gcc compiler.

Known Issues

  1. elf2flt passes -q option to real.ld. --gc-sections will be ignored by ld since it cannot be used together with -q.
  2. We do not support profiling using gprof. The latest uClibc no longer supports gcc -fprofile-arcs -pg style profiling. You may use other alternatives, like OProfile.
  3. Single stepping through hardware loop does not work when there are only one instruction in the loop. It will step over the whole loop instead.
  4. There are some incompatibilities between GCC-4.5 and GDB-6.6.
  5. There is a known anomaly with BF60x which can cause problems when both parity and L1 instruction cache is enabled. There is currently no workaround available for this issue. See 16000005 - Using L1 Instruction Cache with Parity Enabled is Unreliable:

http://www.analog.com/static/imported-files/ic_anom/ADSP-BF606_BF607_BF608_BF609_anomalies_rev.B.pdf

Changes

  1. Some minor updates to urjtag
  2. Updated linux headers
  3. uClibc-full now has NFTW, NETLINK and SUPPORT_AI_ADDRCONFIG enabled.