From BlueWiki

Jump to: navigation, search


1 Home of BLACKSheep® OS

BLACKSheep® logo
BLACKSheep® OS stands for a powerful and multithreaded real-time operating system (RTOS) originally designed for digital signal processing application development on Analog Devices Blackfin® embedded processors. This high-performance OS is based on the reliable and stable real-time VDK kernel from Analog Devices that comes with VDSP++ IDE. Of course BLACKSheep® OS is fully supported by all Bluetechnix Core Modules and development hardware. Have a look on the system overview below this to get an idea of BLACKSheep® OS wide spread hardware driver support and its bulky software features which are included.

Due to extensive work on BLACKSheep® OS at the moment for a completely new release, the BLACKSheep® OS BSP projects are currently unavailable. This affects mainly the multimedia features of the supported Core Modules. Of course, the bsboot projects for all Core Modules continue to be available throughout this time.

Because of latest requests we are starting to revamp the current distribution system of BLACKSheep® OS. We have already started in the past with distributing the software package on our Subversion server. This has yielded a great response from our customers. Yet, since we are providing more and more Blackfin-based products, keeping BLACKSheep® OS up to date consumes an extensive amount of time. This change mainly affects BLACKSheep® BSP projects, there won't be a change for bsboot projects (for the difference, please see our Wiki  section Blacksheep® OS). Therefore, in the future, the strategy will be as follows:

  • Every 8 weeks we will provide a current version of the BSP which will be tested for a specific combination of Core Module and Extender Boards
  • All versions will be available in our SVN for later reference, so you will be able to check out the version you used 3 years ago
  • During these iteration cycles we will collect bug reports from customers (please direct these to These reported bugs will be fixed in the next release of the BLACKSheep® OS support package for the specific Core Module. In case of severe bugs, Bluetechnix will provide a workaround as soon as possible.

The roadmap for the following months will be.

  1. CM-BF561 + EXT-BF5xx-VIDEO + EXT-BF5xx-AUDIO + EXT-BF5xx-CAM + EXT-BF5xx-USB-ETH2
  2. CDK-BSP (eCM-BF561 + CDEV-BF5xx)
  3. CM-BF537 + EXT-BF5xx-VIDEO + EXT-BF5xx-AUDIO + EXT-BF5xx-CAM + EXT-BF5xx-USB-ETH2
  4. eCM-BF561 + eDEV-BF5xx
  6. CM-BF548 + EXT-BF5xx-USB-ETH2 + EXT-BF5xx-VIDEO
  7. CM-BF548 + EXT-BF5xx-CAM + EXT-BF5xx-AUDIO
  8. CM-BF527 + EXT-BF5xx-VIDEO + EXT-BF5xx-CAM

1.1 BLACKSheep® OS system overview

BLACKSheep® OS system overview

*NDA with Analog Devices required.

1.2 BLACKSheep® OS Features

1.2.1 Development

Multithread support All drivers are usable in a multithreaded VDK environment as well as in single threaded applications.
Debugging Debugging support over all Analog Devices JTAG devices and Bluetechnix Dev-BF5xxDA-Lite boards.
IDE Development under Analog Devices VDSP++ IDE.
Applications Focused on typical DSP applications and multimedia applications.

1.2.2 OS-Functionality

VDK Kernel The Analog Devices Visual DSP VDK-Kernel is a small multithreaded kernel featuring semaphores,
messages and event handling. Within a VDK project, all BLACKSheep® OS
drivers can be easily integrated in a multithreaded environment.
V100 Terminal A standard VT100 ASCII-Computer-Terminal is emulated for standard I/O.
IDE Development under Analog Devices VDSP++ IDE.
Application Loader The application loader can download and execute applications in Intel HEX and binary format without the need of a JTAG device. The applications can be stored and booted with the BLACKSheep® OS boot loader from flash by a single BLACKSheep® OS command.

1.2.3 Mass Storage Devices - MSD

MSD-Manager BLACKSheep® OS offers a MSD-manager that controls all block and character based devices and provides a common interface to each device based on three functions: read, write and info.
Supported driver for MSD BLACKSheep® OS offers integrated driver support for the following MSDs:
  • CF-card
  • SD-card on SPI
  • RAM-drive
  • SD-card on SDIO (CM-BF548)
  • ATA (CM-BF548)
FAT 12/16/32 support BLACKSheep® OS comes with full featured FAT 12/16 and 32 drivers which are partly ports of FreeDos 32FAT and open source ELFS.

FullFAT is an own proprietary FAT stack which is included at BLACKSheep® OS. Other filesystems can be integrated and mounted very easily.

1.2.4 Protocol Stacks

Power Management Internal HAL driver for setting the processors PLL according to speed or power saving settings. Part of the system service library from ADI.
USB-Host USB host bulk calss driver from Analog Devices.

1.2.5 Hardware Abstraction Layer - HAL

TCP/IP The TCP/IP stack is a port of the lightweight IP (lwIP) stack.
DMA-Manager Internal HAL driver that supports Memory-to-Memory-DMA (MDMA) transfers.
Interrupt-Manager Global interrupt manager which gets mostly used by device drivers. Part of the system service library from ADI.
RTC, Timer Effective and user-friendly RTC- and internal timer-HAL.
Basic I/O Interfaces Bulked easy-to-use and -configure GPIO, UART, SPI, CAN, TWI (I2C), SPORT drivers are part of the internal HAL.
USB2.0 Bulk Device Fully supported NET2272 IC from PLXtech for setting up a USB2.0 device.
Audio In/Out BLACKSheep® OS fully supports the AD1836A which is a high performance, single-chip codec that provides three stereo DACs and two stereo ADCs.
Video In/Out Both video processing ICs ADV7171 (DAC) and ADV7183 (ADC) from Analog Devices are supported by BLACKSheep® OS.
TFT-Display Supports Hitachis TX09D50VM1CCA 3.5” TFT-display and similar displays. Note: Not supported by CM-BF533.
Camera Driver Implements a SCCB serial interface driver found in all OmniVision cameras and uses the PPI driver to setup the PPI interface with the correct parameters. Supported camera modules are: OV7660, OV2630, OV2655, OV2640 and OV3640.
AD/DA Controller Powerful drivers for Analog Devices ADC: AD8266 and DAC: AD5415 and AD5405 are supported.
Touch Controller Easy to use low level driver for a touch controller (TSC2003).
Flash Driver Powerful (Intel-) StrataFlash driver to gain full access of the on-board flash.
PPI and EPPI Powerful Parallel-Peripheral-Interface and Enhanced-PPI (EPPI, on CM-BF548) driver for data intense DMA transfer applications such as ADC, DAC, Camera, TFT, Video etc.
Ethernet Supports the on-board Ethernet interface of CM-BF537 and CM-BF518 as well as the external devices SMSC 91C111 and SMSC 9218.

1.3 Support

1.3.1 General description

BLACKSHeep® OS is delivered as preconfigured VDSP++ project-file-package including the complete set of BLACKSHeep® OS C/C++ sources.

The package consists of two preconfigured VDSP++ projects

  • the bsboot-project and
  • the BSP-project.

The bsboot-project configures BLACKSHeep® OS as boot loader including different automated firmware update processes. The BSP-project extends the bsboot-project with a lot of different multimedia drivers for audio and video processing.

The developer can tailor his individual BLACKSheep® OS version which strongly depends on his needs and driver dependencies simply by adding or removing appropriate C/C++ files. Individual source code can easily be added to BLACKSHeep® OS which will be compiled to one executable.

1.3.2 Blackfin® FAQ

There is an unforeseen problem with your tiny core module? Have a look at the Blackfin® FAQ first.

1.3.3 Software Developers Guide

Refer to BLACKSheep® Software Developers Guide to get detailed information on software development under BLACKSheep® OS.

1.3.4 BLACKSheep® V1.0.0 Command Reference

Refer to BLACKSheep® V1.0.0 Command Reference to get detailed information on all available BLACKSheep® commands.

1.3.5 Doxygen Documentation of BLACKSheep® OS

Have a look at the BLACKSheep® doxygen documentation to see driver-dependencies, modules, data structures, files and directories!

1.3.6 BLACKSheep® Coding Guideline

See the BLACKSheep® Coding Guideline to develop BLACKSheep® conform drivers and applications on your own.

1.3.7 BLACKSheep® Doxygen Guideline

See the BLACKSheep® Doxygen Guideline to add valid doxygen comments at your individul source code.

1.3.8 BLACKSheep® Examples

Look at the BLACKSheep® Examples page for BLACKSheep® sample code.

1.4 Licensing

Refer to BLACKSheep® OS Licensing to get detailed information about licensing BLACKSheep® OS.

Personal tools