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

Release Notes for Blackfin Linux Distribution 2010R1

Version: 2010R1

Date: Nov. 23, 2010

The latest version of this document can always be found here:

Development Environments

Tool Chain: toolchain release 2010R1 based on GCC 4.3

u-boot: uboot release 2010R1 based on uboot_2010.06

Host platform: SuSE Linux 9.2 or above

Target board: STAMP, EZKIT and EZBRD boards

Note: The source code in this release is for customers to develop application in the other Linux host distributions and with the other blackfin target boards. But, they are not tested by ADI.


Source files


Compressed Linux image


This document


Compressed archive of test results


Summary of test results


New features and changes

Improve kernel

  1. mainline framework
    • Upgrade kernel to 2.6.34
    • Update real time ADEOS patch to kernel 2.6.34 and update Xenomai to version 2.5.3.
    • Enable kernel preemption support by doing real task switch while ret from interrupt/exception to kernel space.
    • Add the PREEMPT_RT patch into distribution as an experimental feature.
    • Add syscall sys_cacheflush for compiler to deal with trampline user code. It can also be used by applications.
  2. SMP related
    • Work around IFLUSH anomaly in SMP kernel by run IFLASH in different L1 SRAM on different core.
    • update kgdb SMP switch core patch to mainline.
    • Turn IPI message queue list into per cpu static array of 5 elements. This improves the performance under SMP.
    • Add sleep and sleep deeper PM function for SMP kernel on bf561.
    • Implement nmi_watchdog for SMP kernel on BF561.
    • Implement cpu frequency on blackfin SMP
    • Supporting SMP dynamic percpu_alloc on BF561
  3. Blackfin arch specific
    • Enable 128/256k/512k uncacheable DMA memory region for small memory system
    • Support kernel XIP on NORflash for blackfin in both NOMMU and MPU mode.
    • Implement ndelay() in Blackfin arch.
    • Add peripheral group check to detect periphreral function group conflict for bf51x,bf52x and bf537.
    • Extend memory start to cover init memory. So, access_ok check doesn't report wrong failure.


  1. Changes
    • Enable interrupt for bfin SPI bus driver in PIO mode.
    • Fit bfin sport uart driver into mainline uart inftrastructure and move platform data into board file. Enable hardware flow control via GPIO PINs.
    • Work around blackfin MUSB hardware anomalies in MUSB driver.
    • Work around 32bit SPORT PIO read/write anomaly in bfin sport uart driver.
    • Convert ad1836 ALSA driver into ASOC driver. Enable on board ad1836 for bf561-ezkit
    • Discontinue support for ad1980 driver, since this chip is obsolete.
    • Move most bfin uart platform data from bfin serial driver into board file. Bind the index of uart device nodes to physical uart port.
    • Add API to reorder channel sequence in ASOC and merged by maintainer.
    • Remove stm_flash driver and switch to common MTD driver.
    • Support BF518 IEEE 1588 PTP framework in bfin MAC driver.
    • BF538/9 PORT C,D,E GPIO support.
    • Deduce Ethernet FCS from hardware IPv4 payload checksum in bfin MAC driver.
    • Implement streaming DMA mapping functions in blackfin arch.
    • Support cable selectable OTG in MUSB driver.
    • Add MAC status interrupt handler to bf537, bf527 and bf518.
    • Enable wake up by Ethernet packet in bfin MAC driver.
    • reclaim TX skb as early as possible after EMAC tx transfer. Otherwise, a IP socket may not be closed and freed up in time. Push peripheral pin list to board files. Move PHYINT into mii bus platform data in board file.
    • Fix wrong raw page read/write flow in bfin NAND driver.
    • Convert simple PPI frame captures demo to use bfin_ppi driver instead of ppi_fcd driver
    • Enable support for packing in PPI driver (bfin_ppi). Add 24 bit EPPI mode for bf548
    • Enable suspend/resume PM functions in MUSB driver. Enable hibernate wakeup from USB support in MSB driver as well.
    • Recover from CRC error in SD read/write operation over SPI.
    • Save/restore power state data during suspend/resume. Enable onboard ssm2603 on bf518-ezbrd.
    • speed up sport RX sample rate to be 3% faster than the normal uart device. Othersize, wrong data are received.
  2. move to mainline
    • Drop YAFFS2 and use UBIFS from mainline instead.
  3. new
    • input driver for ADXL345/346 Three-Axis Digital Accelerometers
    • ad1938 ASOC driver with I2C or SPI support.
    • ad7147 capacitor touch sensor driver to support both button and non-button(slider) events
    • gpiochip driver for adp5588 GPIO expanders
    • blackfin CAN net driver
    • Network Driver for ADF7020/21 ISM Narrow-Band Single Chip Transceiver ICs
    • ADAU1373 ASOC driver.
    • ADAU1761 ASOC driver.
    • ADAU1361 ASOC driver.
    • SIGMA DSP firmware loader for adau1373 and adau1761 drivers.
    • ADP8860/70 Blacklight Driver.
    • add a simple driver for preempt latency test

New supported development boards

  • bf527-ezkit-V2

Application and library

  1. new app
    • Switch from msh to hush in busybox by default.
    • import GNU macchanger
    • import PTP daemon
    • import inputattach
    • import socket CAN utility and apply CAN netlink support patch into iproute2
    • Add a sigma-firmware-util to generate firmware for some soundcard
  2. new lib
    • import faac
    • import dbus
    • import libsamplerate
    • import libsndfile

Known Issues

A full list of known issues of 2010R1 release can be found at:

Known issues since 2009R1 release:

No Issue Title
5214 trunk applications don't build with trunk toolchain due to missing fork()
5396 reset button would fail to work on bf518f ezbrd after serveral days with power on
5425 reboot for the first time on bf548 ezkit with jffs fs as rootfs need wait 1 min
5468 traps test 20 prefetch l1_instruction fails on trunk head
5600 tcp checksum fails sometimes if WB data cache is enabled on bf527-ezkit
5690 debug smp kernel using gdb, single step would crash the kernel
5725 netperf running on bf548-ezkit relatively slower that before
5816 PREEMPT_RT: cyclic test stalls in some test mode
6014 bf537 and bf527 Processor stalls in SSYNC randomly under heavy network load6037
6037 Sometimes bf561-ezkit smp kernel crashed when rcp file to target in ltp test
6057 Kernel crashed with slob configuration
6136 Illegal i2c bus lock upon certain transfer scenarios
6153 Blackfin hardware trace sometimes falls out of order
6191 Traps test may fail at Stack set to non-existant L1 on bf538-ezkit
6192 Traps test may fail at Read of L1 instruction on bf538-ezkit
6218 In sport emulate spi testing, can't see square wave through network oscilloscope(ndso) on target board BF537_STAMP
6247 the sound is very very bad and test case fail in AD73311 driver testing on Board BF537-STAMP
6259 ad73322 channel attribution problem
6288 IFS can not be modified in hush
6319 latency benchmark on xenomai built into shared flat binary exits with NULL pointer access
6324 There is confict in sport emulate spi with spi flash card on board bf537-stamp when boot.

Build Procedure

  1. Install Toolchain Release 2010R1
  2. Download the source code of project uClinux-dist for Blackfin release 2010R1
  3. Follow basic compilation directions

Reporting Bugs

1. Go to the following Blackfin uClinux bug tracker page,

2. If the bug is not already reported click on “Submit New” button to report new bug.