CDT bei Bosch Rexroth (Ein Erfahrungsbericht)



Ähnliche Dokumente
C++ mit Eclipse & GCC unter Windows

Kurzanleitung zu XML2DB

Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner

Apache - Maven. Java-Erstellung auf Plugin-Basis. Martin Hoffmann

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Sonnenfinsternis in der Technischen Redaktion

Nico Lüdemann. Applikationsvirtualisierung mit Microsoft SoftGrid Galileo Press

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

Hex Datei mit Atmel Studio 6 erstellen

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Entwicklung einer App mit FIspace How to get started?

Versionsverwaltung mit SVN

ANT. Kurzvortrag von Manuel Schulze.

Macher Solutions Produktinformation SAP Crystal Reports 2011

Entwicklungswerkzeuge

25 Import der Beispiele

Pflichtenheft Programmanwendung "Syntax Tool"

Version 0.3. Installation von MinGW und Eclipse CDT

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Einführung in die Arbeit mit Eclipse und CDT

Datenhaltung für Android Model First Christian Ingenhaag, Frederik Götz, Carl Steeg

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

XQueue Product Sheet - Seiten Editor

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages

Embedded So)ware. Einrichten der Arbeitsumgebung

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

Techniken der Projektentwicklung

DP ITS Vorgehensmodell Build und Microsoft Team Foundation Server

SAP NetWeaver Gateway. 2013

Dokumentation zu Pocket NeuroNet

atcsv2ctm Ein Tool für die Foldergenerierung mittels Excel/CSV in einem CONTROL-M Umfeld

OpenSource bei PostFinance Einsatz in der Software Entwicklung. informativ

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee Berlin. Telefon 030/ Telefax 030/

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Ablösung von Control-M durch JobScheduler

Wie konfiguiriert man Eclipse (mit oder ohne Plugin) Erich Ehses

Internet Explorer Version 6

Generative Prozessmodelle Patrick Otto MDD Konferenz

How to do? Projekte - Zeiterfassung

Informationen zur Verwendung von Visual Studio und cmake

Ressourcenmanagement in Forschung und Entwicklung Grünenthal integriert SAS in sein Berechtigungs- und Mandantenkonzept 7.

Durch Drücken des Buttons Bestätigen (siehe Punkt 2) wird Ihre an Ihr Outlookpostfach weiterleiten.

ZAPP-Installation unter Windows-7

Predictive Modeling Markup Language. Thomas Morandell

IHRE IDEEN WURDEN UMGESETzT

Software Release Notes

07. November, Zürich-Oerlikon

Schnelleinstieg Visual Studio C/C#

HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang

Die Entwicklung des Open-Source. Source-Tools. zum Datenbankabgleich von Karsten Panier. Inhalt

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Continuous Delivery in der Realität eines Großunternehmens

Maus & Tastatur Anleitungen für Merlin Project ProjectWizards

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Trust is good, TRASD 2. is better! Transaction Application for Secured Data Distribution. Copyright 2013 TEAC CORPORATION All Rights Reserved

INFOnline Service Code-Monitoring

Produktinformation DaVinci Developer

System Center Essentials 2010

Literaturverwaltungs- programme: Zotero

Mobile-Szenario in der Integrationskomponente einrichten

Arbeitsbereich (workspace) auf Laufwerk D anlegen Dateiendung.dsw (=developer studio workbench)

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1

Leistungsangebot Projektcontrolling/Projektpor5oliomanagement

Benutzerhandbuch. Bürgel ConsumerCheck für OXID eshop

Uwe Baumann artiso Solutions

Planung für Organisation und Technik

Dr. Klaus Körmeier BlueBridge Technologies AG

TwinCAT HMI Application

ECLIPSE PLUG-IN. Redwood Anwendertage 2015

Git in großen Projekten

Open Source Einsatz in der Stadt Wien

Enterprise Program Management Service

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz

Installation des edu- sharing Plug- Ins für Moodle

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Techniken der Projektentwicklung

Pressegespräch zum Kongress AUTOMATION Juli Umfrage der GMA Smart Technologies und Industrie 4.0. Dr.

Intrexx auf einem Windows 2012 Server

Weather Professional & WS 550 Treiber Installation unter Windows

TUSReport Installationsanleitung

Software-Engineering Grundlagen des Software-Engineering

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

:: Anleitung Hosting Server 1cloud.ch ::

Cisco Security Monitoring, Analysis & Response System (MARS)

Inhaltsverzeichnis. TeiM. V E E.l E.2 E.3 E.4. Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank

Bachelorarbeit: Entwicklung eines Konfigurationsvalidierers (extern)

Einführung in Maven und GWT

NaturalONE. Einführung von NaturalONE beim Kernkraftwerk Emsland. Martin Kottenstede, kub GmbH. 12. November 2015

SWISSVAULT StorageCenter Console Version 5 Kurzanleitung für SWISSVAULT Combo Partner

Transkript:

CDT bei Bosch Rexroth (Ein Erfahrungsbericht) DCC/EDF Harald Kästel-Baumgartner

Agenda Firmenpräsentation Ausgangslage Zielsetzung Know How Toolchain Projektstruktur Positive und negative Erfahrung 2

Das Unternehmen Die Produkte Elektrische Antriebe und Steuerungen Getriebe Lineartechnik Montagetechnik Hydraulik, Industrie Pneumatik Hydraulik, Mobil Service und Qualifizierung 3 A8

Das Unternehmen Innerhalb der Bosch-Gruppe Bosch-Gruppe Umsatz: 45,0 Mrd. Euro Mitarbeiter 1.1.2009: 282.000 Kraftfahrzeugtechnik Industrietechnik Gebrauchsgüter und Gebäudetechnik Bosch Rexroth 1) Verpackungstechnik 1) Bosch Rexroth AG (100% Bosch) 4 A12

Innovative Produkte Elektrische Antriebe und Steuerungen Antriebstechnik Automationssysteme Steuerungstechnik Schraub- und Einpress- Systeme Widerstandsschweiß- Systeme 5 C5

Ausgangslage Etablierte Projektstruktur und Vorgehensweise Modulorientierte einheitliche Softwarebasis für die unterschiedlichen Derivate der Firmware Datenbankbasierte Generierung von Headerdateien Präprozessordirektiven für die funktionale Unterscheidung Versionsverwaltungssystem Skripts für die automatische Erstellung der Derivate Entwicklung unter MS Visual Studio Einsatz diverser Tools zur Qualitätssicherung 6

Zielsetzung Unterschiedlichste Hardware muss unterstützt werden D.h. hohe Flexibilität bei der Entwicklungsumgebung (IDE) gefordert Ersatz von MS Visual Studio durch Eclipse CDT Unterstützung der etablierten Projektstruktur und Vorgehensweise Integration der Datenbanken und Tools in den Buildprozess Automatischer Build Zentrale interne Softwareverwaltung und Verteilung von Updates 7

Know How Erfahrungen mit der Entwicklung eines Plugin im Java Umfeld (JDT) CDT Plug-in Developer Guide in der Eclipse Hilfe ( Managed Build System Extensibility Document / CDT 4.0) Diverse Einträge in Bugzilla GCC Plugin (org.eclipse.cdt.managedbuilder.gnu.ui) definierte Extensions als Blaupause für die Toolchain CDT (org.eclipse.cdt.managedbuilder.core) als Blaupause für Builder und Errorparser Sonstiges Material im WWW 8

Toolchain Plugin erstellen auf Basis des CDT Extension Point org.eclipse.cdt.managedbuilder.core.builddefinitions Definition von tool, project type, configuration und toolchain Hinzufügen von tool options (GUI-Komponenten, Projektdaten) Verwendung des Internal Builders (builder, managed build) Hinzufügen eines Command Line Generator Erstellen eines Error Parser Praktikable Sonderlösung für das Handling verschiedener Toolchain Versionen (abhängig von der Firmwaregeneration) Vorgegebene plattformabhängige Umgebungsvariablen Separate Toolchain Definitionen Projektabhängige Verwendung der Umgebungsvariablen 9

Besonderheiten der Projektstruktur Verlinkte Ressourcen mit relativen Pfaden CDT Projektdatei referenziert relative Pfade Eclipse Projektdatei.project referenziert absolute Pfade Hinzufügen einer neuen Projektdatei.create, um das Projekt plattformunabhängig zu archivieren und wiederherzustellen. 10

.create als Ersatz für.project Plattformunabhängiges Speichern der Projektinformationen Basis für das Anlegen des Projekts auf der Entwicklerplattform Neuer Wizard <?xml version="1.0" encoding="utf-8"?> <project> <name>av01</name> <buildcommand> <external>/.externaltoolbuilders/databases.launch</external> </buildcommand> <buildcommand> <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> </buildcommand> <buildcommand> <name>com.boschrexroth.edf.project.pclintbuilder</name> </buildcommand> <link> <name>databases</name> <location>../../databases</location> </link> <link> <name>moduls</name> <location>../../moduls</location> </link> </project> 11

ANT und der automatische Build <eclipse path>\eclipse.exe -data <workspace path> -console -nosplash application org.eclipse.ant.core.antrunner -buildfile build.xml -logfile build.log -vmargs -Dorg.eclipse.cdt.core.console=org.eclipse.cdt.core.systemConsole 12

Builder für QA-Tools Integration ist einfach möglich durch das Hinzufügen eines zusätzlichen Builders und Error Parsers 13

Builder Softwareausschnitt 14

Funktionale Erweiterungen Umgesetzt Dekorator für excluded resources Schlanker ANT-Editor mit reduzierten Java Abhängigkeiten (GUI) Wunschliste Kommando zum Aufruf des Linkers Mehr CDT-Kommandos im Navigator (clean und build project) Autobuild permanent deaktivieren Bessere Verwaltung der Workspaces (Eclipse 3.5, Bug 162102) Bessere Indexierung von Headerdateien mit Präprozessordirektiven zur bedingten Kompilierung mit dynamischen Makrodefinitionen (Optionale spezifische Lösung, Bug 267907) Besserer Support des Build durch die Eclipse Plattform (org.eclipse.core.resources_3.4.0.v20080604-1400.jar, Bug 271623) 15

Positive Erfahrungen Sehr gute Erweiterbarkeit um eine Toolchain Managed Build System Projektdateien sind für Versionsverwaltung geeignet und gut lesbar Alle Projektdaten dürfen schreibgeschützt sein CodeStyle kann einfach definiert und verteilt werden Integration von Dokumentationstools (Doxygen) Integration des Versionsverwaltungssystem (ClearCase) Professionelle Plattform und Softwareverwaltung Vielfalt von PlugIns steht zur Verfügung Offene Software 16

Negative Erfahrungen Eclipse ist sehr komplex Rudimentäre Verwaltung von Workspaces Viel unnötiger Ballast (Automatischer Build, Perspektiven, Views) Keine Integration des Betriebssystem-Papierkorbs Schlechte Unterstützung eines automatischen Build Schwierige Einbindung von Bibliotheken Dokumentation und Support ist schlecht => Schwieriger Umstieg und schleppende Akzeptanz 17

Ende Vielen Dank für Ihre Aufmerksamkeit. 18