KUBEL logo KUBEL logo    SECTION5
KUBEL logo KUBEL logo Home | Embedded / Signal Processing | Device control library | Visualization | Contacts/Links

round
Blackfin/uClinux
ICEbear-JTAG
Software
VisionKit
AppNotes
Support

Embedded development / Digital signal processing


Some of our non-commercial projects can be seen in our Tech Blog

Apart from the fun stuff, a few keywords about our current portfolio or stuff we really know well:

  • New: High speed Hardware image compression
  • Blackfin based designs, high speed DSP (vision algorithms)
  • 'ready to play' DSP camera reference designs ('VisionKit')
  • Embedded (uc)Linux, Realtime (Xenomai, ..), Kernel driver development
  • FPGA based signal processing, co-simulation with software
  • tiny 8051 solutions (Cypress FX2, AX206, etc.)
  • MSP430 power management applications
  • JTAG debugging and flash programming solutions (Blackfin, ARM, ZPU, MIPS, custom)

Blackfin development

The great advantages of this architecture is a complex instruction set, but well readable assembly code, which allows parallel execution in one clock cycle inside the pipeline and provides dedicated video processing instructions, among other extras. Its "System on a chip" functionality and hybrid architecture makes this CPU an excellent engine for embedded systems running uClinux or other kernels.
Also, in our opinion, the excellent DMA functionality of this chip makes it unbeaten in its microcontroller domain when it comes to efficient data transmission..

section5 has contributed a complete rewrite of the Blackfin assembler parser for the GNU toolchain in 2004/2005 and implemented the first GNU JTAG debugger for this architecture. Thus, we are proud to say: We do know this chip !


Products and services

ICEbear USB-JTAG adapter

Features:

  • USB 2.0 connection
  • Flash programming of CFI, SPI based or specific flashes, suitable for bulk production (see below)
  • Support for Linux, Windows 2000/NT/XP (32 bit)
  • High speed downloads, typical 120 kB/s
  • Very reliable timing
  • Well suited for developers writing their own kernel or kernel drivers. Debugger support: GDB, Insight

The ICEbear does not support debugging with the VisualDSP toolchain.
Read more on the ICEbear product page.
Image of JTAG adapter
The ICEbear also supports Boundary Scan on Blackfin and SHARC 21xxx platforms.
Applications:
  • Flash programmer (Throughput: typical 50kB/s)
  • First time CPLD or FPGA programming (JTAG bitbanging, SlaveSerial)
  • Board tests

Bulk programming solution

Based on the ICEbear JTAG adapter, we offer a bulk programming solution for your production environment when time matters. An embedded Linux PC with Ethernet (100MBit) and two USB ports can program two units simultaneously, see image below. More units can be supported via USB hubs.

multi flash image

An In-Circuit-Tester or production PC communicates with the Embedded Linux PC via TCP/IP and can remotely control programming and status of each unit. The ICEbear adapters can of course run on the production PC directly (Linux and Windows XP/2000 32 bit supported) as well.

Alternatively, one USB port of the embedded PC can be used for automatical programming by using a USB stick containing the flash images and the programming scripts.

This solution is not provided 'from the box', as it often needs to be customized. Contact us for details and please provide us with an overview about your production environment.

Insight: graphical debugger  for Blackfin

For the 1.0 release of the ICEbear software distribution, the graphical Insight debugger was adapted to Blackfin.
Screenshot insight Insight is a fully featured variant of the GNU debugger (gdb) with a built in user interface and quite sophisticated behaviour.
Development is supported mainly by Red Hat Inc - see homepage of Insight.

Feature overview:
  • Source code and assembly debugging with various stepping features, breakpoint per click and various display modes
  • Separate windows for variable watching (local/global), Stack trace, memory dump registers, etc.
  • Classical GDB command line interface with native scripting support
Insight is especially suited for debugging of embedded targets.
It is available both as Linux and Windows version as part of the ICEbear software distribution on the software download page

Find more specific information on how to debug embedded targets in the documentation of the Embedded Developer Kit.

JTAG emulation library

JTAG is a very important feature when it comes to board testing and first time programming, as well as hardware level debugging. section5 has developed a library allowing to access the in circuit emulation mode of the Blackfin hardware.

You may also want to check the Application Notes.

Read more about the JTAG blackfin functionality in the PDF of the presentation given at the Embedded Systems Conference San Francisco in March 2005, which is found here.

Detailed information: Documentation of libbfemu. Note that this documentation might not be up to date, please check the ICEbear software distribution for the current version.

uClinux

uClinux is a Linux variant for non-MMU controllers which is getting increasingly popular, especially on the Blackfin series. With uClinux, you can for instance, build a multimedia system at very little development costs, due to known and existing components. Find more information about the Blackfin uClinux port and toolchain at http://blackfin.uclinux.org. section5 has been participating in early development of uClinux and can offer:
  • Palette of kernel drivers:
    • PPI high performance DMA buffer queue drivers for line scan applications, etc.
    • Drivers for USB FIFOs
    • FPGA slave serial
    • Various SPI devices (FPGA, ADC, etc)
    Development of kernel drivers for custom hardware

In our development, we focus on the Blackfin, but we also use XScale and are not afraid to touch other ARM chips featured by the GNU toolchain.

XML Device control library: netpp

A standard task when designing an embedded device is, to remote control it via a user interface. This can happen via web interface or other standardized protocols as XMLRPC. However, most of these protocols are too heavy weight for their target platform. Some hardware may just be register based and talk via simple interfaces such as I2C. Covering simple hardware up to complex systems, we have developed a library that allows a user to create register or property and attribute specifications of a device in XML. From this, we generate very compact C code in order to obtain a library knowing the properties of the system and allowing to remote control it via PC applications. Examples:
  • Remote control an intelligent sensor (SPI) from within a tiny kernel
  • Configure and control an Ethernet camera via a proprietary real time capable UDP protocol from your PC
  • Talk to a little MCU controlling various I/Os over a simple checksummed serial protocol
The protocol allows accessing of single bits in a register for hardware prototyping. The code generation chain is set up that way, that you can also create register definitions in VHDL for your own programmed hardware. The design flow is then like:
  • Ponder about functionality and property names first
  • Define registers for flags, modes and parameters and their according bit fields
  • Map the properties into the low level entities (integer registers, bit fields, etc.)
  • Generate and compile the library with a single 'make' procedure.
  • Talk to the device using Python scripts or a GUI front end.

Find more on the netpp page.

Blackfin uClinux camera reference designs

Since 2005, we have supported a significant number of customers in getting their uClinux powered data acquisition hardware running - from the first prototype up to maturity for the market. In particular, we can offer a camera framework with the following features:

  • Fast onboard processing for line scan applications with no tolerable data loss using improved, modularized v4l2 driver
  • Realtime (guaranteed low latency) image processing
  • 2D bar code solution (not open source)
  • Motion-JPEG video streaming (VGA @20 fps)
  • Wireless 802.11 data transmission/video streaming

Update: This reference design has now a name and is described in detail here: VisionKit

VHDL designs and co-simulation

Based on the free GHDL simulator engine, section5 has created some extensions that allow to co-simulate real software interaction with virtual hardware such that the same software runs on the real hardware design as well.

A few example applications:

  • JTAG test access port (TAP) for various custom CPU/DSP architectures supported by GDB
  • ZPU based SoC (System on Chip) FPGA design for dedicated DSP operations
  • Virtual silicon: Simulation of signal processing hardware with I/O stimulation and 'live' data

Find more information:

Custom development

Since we have developed our own JTAG toolchain, we know very well what is happening on the hardware. Our expertise thus lies in debugging errors or occasional dropouts down to the hardware. If you are developing your own blackfin platform, we can definitely help you with:
  • Getting your hardware verified, tested (via Emulation or Boundary Scan)
  • Assist you with setting up the automated production chain (including database interfaces)
  • uClinux ports
  • Development of drivers for various hardware (Flash chips, I/O, FPGA/CPLD)
We are in close cooperation with core module developers (see Partners page), if you need a ready made engine for your platform, we can guide you in your decision, be it Blackfin, ARM, or MSP430 and in general: not too expensive but powerful enough for your needs:
  • CAN bus Motor controls
  • Blackfin based cameras or intelligent video processing systems (prototype for demonstration available)
  • High speed UDP/TCP stacks
  • General device remote control via USB, Ethernet, serial interface

mailaddr


Version: 11.2011