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

Entwicklung Embedded / Digitale Signalverarbeitung


Die Spezialisten, die im Umkreis des section5-Netzwerks tätig sind, besitzen eine reichhaltige Erfahrung betreffend Elektronik und Signalverarbeitung auf verschiedenen Plattformen, von einfachen diskreten Mikrocontroller-Entwicklungen über komplexe uClinux-Systeme bis zur Simulation und Implementierung von FPGA Designs (VHDL).

Einige unserer nonkommerziellen Projekte sind in unserem Tech Blog dokumentiert

Nebst der akademischen Basteleien wollen wir auch einige Schlüsselwörter zu Fachbereichen auflisten, in denen wir uns sehr sicher und gerne bewegen:

  • Neu: Optisch aktives und hochzuverlässiges Tracken von speziell modulierten Lichtquellen (pat. pend.).
  • Blackfin basierte Hardwaredesigns, high speed DSP (Bildverarbeitungs-Algorithmen)
  • Digitale Signalverarbeitung auf FPGAs, Co-Simulation mit Software
  • Embedded (uc)Linux Lösungen, Echtzeitanwendungen, Kernel-Treiber-Entwicklung
  • 8051 (Cypress FX2, ...)
  • MSP430 Stromspar-Anwendungen
  • JTAG Debugging und Flash-Programmierungs-Lösungen (Blackfin, ARM, ZPU, custom)

Die nächste optimale Gelegenheit, über interessante Entwicklungen zu plaudern, ist die Embedded World 2012 in Nürnberg.

Wenn Sie Interesse an effektiven aber kostengünstigen Methoden zur VHDL-Enwicklung und Co-Simulation mit Software haben, seien Sie hiermit gerne zu einem informativen Überblick eingeladen (siehe 'Software Development and Debug Methods II' embedded world conference program).

Blackfin Entwicklungen

Die grossen Vorteile dieser Architektur sind ein komplexer Befehlssatz, aber sehr gut lesbarer Assembler-Code, der eine parallele Abarbeitung in einem Takt-Zyklus innerhalb der Pipeline erlaubt und einige spezifische Instruktionen zur Videoverarbeitung und anderen DSP-Aufgaben bereitstellt. Die "System on a chip" Funktionalität des Blackfin und seine Hybrid-Architektur küren diese CPU zu einem perfekten Motor für embedded Systeme auf denen komplexere Betriebssysteme wie uClinux ausgeführt werden.
Unserer Meinung nach bietet die DMA Funktionalität dieses Chips die beste Basis für schnelle Datenerfassung und -Verarbeitung und macht den Blackfin in diesem Bereich nahezu zum ungeschlagenen Spitzenreiter.

section5 hat 2004/2005 den Blackfin-Assembler für die GNU-Toolchain mitentwickelt und den ersten GNU JTAG Debugger für diese Architektur implementiert. Deshalb sind wir stolz, sagen zu dürfen: Wir kennen diesen Chip bis aufs Silizium!


Produkte und Dienstleistungen

ICEbear USB-JTAG Adapter

Features:

  • USB 2.0 (1.1) Verbindung
  • Flash-Programmierung von CFI, SPI basierten oder speziellen Flash-Bausteinen, geeignet für Produktion (s.u.)
  • Unterstützung für Linux, Windows 2000/NT/XP (32 bit)
  • Schnelle Downloads, typischerweise 120 kB/s bis 1 MB/s
  • Zuverlässiges Timing/Signalintegrität
  • Gut geeignet für Entwickler, die eigene Kernels oder Kerneltreiber entwickeln. Debugger Support: GDB, Insight

Der ICEbear unterstützt zur Zeit keine Fehlersuche mit der VisualDSP Software.
Mehr siehe ICEbear product page.
Image of JTAG adapter
Der ICEbear unterstützt ebenfalls Boundary Scan auf Blackfin and SHARC 21xxx Plattformen.
Anwendungen:
  • Flash programmer (Durchsatz: typ. 50kB/s)
  • Erstmalige Programmierung von CPLD oder FPGA (JTAG bitbanging, SlaveSerial)
  • Board Tests

Lösungen für Produktion

Basierend auf dem ICEbear JTAG adapter können wir eine Lösung für die automatische Produktion von Platinen anbieten, die interessant wird, wenn Zeit eine Rolle spielt. Ein 'embedded' Linux PC mit Ethernet (100MBit) und zwei oder mehr USB ports kann mehrere Geräte simultan programmieren, siehe Bild unten. Weitere Programmiereinheiten können via USB hubs implementiert werden.

multi flash image

Ein In-Circuit-Tester oder Produktions-PC kommuniziert mit dem Embedded Linux PC per TCP/IP und fernprogrammiert so jede Board-Einheit. Die ICEbear-Adapter können auch direkt auf dem Produktions-PC laufen (Linux and Windows XP/2000 32 bit).

Alternativ kann ein USB-Port auf dem embedded PC zur automatischen Programmierung per USB-Memory-Stick verwendet werden.

Diese Lösung wird allgemein auf kundenspezifische Wünsche angepasst.

Insight: ein grafischer Debugger für Blackfin

Zum 1.0-Release der ICEbear Software, wurde der Insight debugger auf den Blackfin adaptiert.
Screenshot insight Insight ist eine Variante des GNU Debuggers (gdb) mit grafischer Oberfläche und erweiterter Funktionalität für Remote-Debugging.
Die Entwicklung von Insight wird hauptsächlich von Red Hat Inc angetrieben - siehe Insight Homepage.

Übersicht der Funtktionalität:
  • Quellcode- und Assembler- Debugging mit unterschiedlichen Einzelschritt-Funktionen (Stepping), Haltepunkte (Breakpoint) per Mausklick und verschiedenen Anzeigemodi
  • Unterschiedliche Fenster für Monitoring von Variablen (local/global), Stack trace, Speicher- und Register-Inhalte, etc.
  • Klassisches GDB command line interface mit Script-Support
Insight ist für Embedded Targets besonders gut geeignet.
Im Rahmen der ICEbear-Software wird Insight sowohl für Windows als auch Linux mitgeliefert. Siehe dazu Software Download page

Dokumentation zu Insight finden Sie unter Embedded Developer Kit.

JTAG emulation library

JTAG ist eine gewichtige Technologie betreffend Hardware-Tests und erstmalige Programmierung, wie auch zur Fehlersuche auf der Hardware. section5 hat eine Bibliothek mit Funktionen zur sog. in circuit emulation auf dem Blackfin entwickelt.

Mehr zur Funktionalität der Bibliothek in dieser Präsentation.

Detaillierte Information zur Bibliothek: Documentation libbfemu. Diese Dokumentation ist nicht immer auf dem letzten Stand, die aktuelle Version findet sich in der ICEbear Software-Distribution.

uClinux

uClinux ist eine Linux-Variante für non-MMU Controller, die sich einer zunehmenden Popularität erfreut, insbesondere auf den Blackfin Serien. Mit uClinux wird es dank einer guten Etablierung typischer Komponenten und zugehöriger Treiber möglich, stromsparende Multimedia-Systeme in kurzer Zeit aufzubauen. Mehr über die Blackfin-uClinux-Variante und Entwicklungswerkzeuge finden Sie auf http://blackfin.uclinux.org. section5 ist vom Anfang an 'mit dabei' und bietet entsprechendes Kernel-Knowhow:
  • Palette von Kernel-Treibern:
    • Hochperformanter Video-Treiber (PPI, v4l2) für Kameras und Zeilensensoren
    • Treiber für USB FIFOs
    • FPGA Loader
    • Diverse Realtime-SPI devices (FPGA, ADC, etc)
    Entwicklung von Kerneltreibern für kundenspezifische Hardware

Unsere Entwicklung ist geprägt von Blackfin, aber auch anderen Plattformen wie XScale/Marvell, wir scheuen uns auch nicht vor anderen Chip-Architekturen (ARM, Freescale, MIPS).

netpp/DClib: Gerätesteuerung per XML

Die typische Aufgabe einer Gerätesteuerung: Viele schreiben Code und Dokumentation, wir schreiben (fast) nur XML. Weitere Details finden Sie in der netpp-Übersicht

Blackfin Kamera Referenzdesigns

Seit 2005 haben wir viele Kunden im Design von uClinux-basierenden Datenacquisitions-Systemen unterstützt - vom ersten Prototyp bis zur Marktreife. Insbesondere können wir damit ein Kamera-Framework mit folgendem Umfang/Beispielapplikationen anbieten:

  • Schnelle Bildverarbeitung auf der Kamera unter uClinux (auch für Zeilenkameras)
  • Bildverarbeitung in Echtzeit (garantierte Latenz)
  • 2D bar code Lösung (Nicht OpenSource)
  • Motion-JPEG video streaming (VGA @20 fps)
  • Wireless 802.11 Datenübertragung/Video streaming
  • Aktives Motion tracking

Update: Dieses Referenzdesign hat nun einen Namen: VisionKit

VHDL Design und Co-Simulation

Basierend auf der freien GHDL-Engine hat section5 einige Erweiterungen entwickelt, die die Kommunikation realer Software mit virtueller Hardware ermöglicht, und zwar derart, dass die Software gleichermassen mit der realen Hardware läuft.

Einige Beispielanwendungen:

  • JTAG test access port (TAP) für verschiedene mit GDB unterstützte CPU(Soft core)-Architekturen
  • SoC (System on Chip) FPGA design basierend auf ZPU-Soft-Core für dedizierte DSP-Operationen
  • Virtuelles Silizium: Simulation von signalverarbeitender Hardware mit realer I/O stimulation und echten Messdaten

Eine Einführung findet sich in unserem FPGA blog.

Kundenspezifische Entwicklung

Da wir unsere eigene Toolchain entwickelt haben, kennen wir die Hardware wie unsere Hosentasche. Deshalb liegt unsere Expertise im Finden von Fehlern, und zwar auch den ganz harten auf der untersten Ebene. Wenn Sie Blackfin-Plattformen entwickeln, können Sie folgende Hilfe erwarten:

  • Verifizierung und Tests der Hardware (via Emulation or Boundary Scan)
  • Assistenz mit der Entwicklung der Produktionskette (Datenbank-Interfaces, usw.)
  • Linux Portierungen
  • Treiberentwicklung für verschiedene Hardware (Flash, I/O, FPGA/CPLD)
Wir haben eine gute Zusammenarbeit mit Modulentwicklern (siehe Partner), falls Sie das Rad nicht neu erfinden wollen . Auch können wir Ihnen diverse Entscheidungen unter Umständen leichter machen, wenn es um die Wahl der geeigneten Chips geht und die Lösung günstig, aber zukunftsstabil sein soll.

mailaddr


Version: 11.2011