Ein Angebot von

Fachbeiträge

Software-Entwicklung für Multicore-Systeme

Software-Entwicklung für Multicore-Systeme

Der Anteil an Multicore-Prozessoren in Embedded Systemen steigt stetig. Die Entwicklung und Software-Migration auf diese Architekturen wird immer leichter, Tools zur Entwicklung von Software für Multicore-Systeme sind inzwischen sehr ausgereift. Dieser Beitrag betrachtet vor allem die Bereiche Code-Generierung, Echtzeitbetriebssysteme und Debugging näher. lesen

Migration auf Python 3

Migration auf Python 3

Am 4. März 2019 erschien mit Version 2.7.16 das letzte Update für Python 2. Am 1. Januar 2020 wird der Support für die zweite Generation der Programmiersprache endgültig eingestellt. Eine Migration der Codebasis von Python 2 nach Python 3 ist daher unvermeidlich. Der Einsatz von Tools und Skripten kann hierbei helfen. lesen

Eine offene Plattform für vernetzte Fahrzeuge – Einführung in APPSTACLE und Eclipse Kuksa

Eine offene Plattform für vernetzte Fahrzeuge – Einführung in APPSTACLE und Eclipse Kuksa

Mit Eclipse Kuksa und dem europäischen Forschungsprojekt APPSTACLE entsteht derzeit eine leistungsstarke und zugleich offene Plattform für Connected Cars, welche auch die Eingliederung älterer Fahrzeuge in ein Ökosystem für vernetzte Fahrzeuge einfach gestalten will. lesen

Anatomie eines Plattformtreibers unter Linux

Anatomie eines Plattformtreibers unter Linux

Wie entsteht ein generischer GPIO-Treiber unter Linux? Um einen eigenen Plattformtreiber entwickeln zu können, sollte man sich einmal deren grundsätzlichen Aufbau näher betrachten. lesen

C++11: Aufwand und Nutzen der 'auto' und 'range-based'-Features

C++11: Aufwand und Nutzen der 'auto' und 'range-based'-Features

C++ 11 und seine Nachfolger bieten Entwicklern zahlreiche neue Eigenschaften. Features sind aber mit 'Kosten' verbunden: entweder in der Geschwindigkeit oder bei der Code-Größe. Um die Sprache C++ effektiv nutzen zu können, ist es für Entwickler wichtig zu wissen, welchen Aufwand einzelne Features bergen. lesen

Wiederverwendung von Embedded-Software in Safety-kritischen Automotive-Systemen

Wiederverwendung von Embedded-Software in Safety-kritischen Automotive-Systemen

Wenn es um Safety-Zertifizierung geht, können ursprünglich für andere Projekte entwickelte Standardelemente nicht so einfach in neuen Code implementiert werden. ISO 26262 spricht hierbei von „Safety Elements out of Context“ (SEooC). Wobei handelt es sich hier genau, und was gibt es bei der Implementierung solcher Elemente zu beachten? lesen

10 kleine Dinge, die C++ einfacher machen

10 kleine Dinge, die C++ einfacher machen

Die Einführung der Standards C++11/14/17 hat C++ merklich modernisiert. Nebst Sprachfeatures wie smart-pointers, move semantics und varaidic templates gibt es auch noch eine ganze Menge an kleineren Erweiterungen, die oftmals unter dem Radar fliegen. Aber gerade diese Features können helfen, C++ Code merklich zu vereinfachen und wartbarer zu machen. lesen

Automatischer Einklang von Architektur und Implementierung

Automatischer Einklang von Architektur und Implementierung

Die Architekturbeschreibung eines Software-Systems erlaubt, auf abstraktem Niveau über die Software zu sprechen und Erweiterungen an der Software zu analysieren, zu planen und zu bewerten. Damit dies gut funktioniert, muss die Architektur unter anderem zur Implementierung passen. lesen

Neun praktische Tipps für die Entwicklung von Embedded-Software

Neun praktische Tipps für die Entwicklung von Embedded-Software

Von Zeit zu Zeit präsentiert Colin Walls von Mentor einige nützliche Programmiertipps für Embedded-Entwickler. Dabei geht es nicht um harte und schnelle Regeln, sondern um Denkanreize und einige bewährte Vorgehensweisen aus der Entwicklungspraxis. lesen

Fünf praxisnahe C/C++-Tipps für Embedded-Software-Programmierer

Fünf praxisnahe C/C++-Tipps für Embedded-Software-Programmierer

Es ist Zeit für ein paar weitere, hoffentlich hilfreiche Tipps für Embedded-Software-Entwickler. Diese Tipps sind in vielen Fällen nur gesunder Menschenverstand, aber ich denke, wir müssen sie uns immer mal wieder in Erinnerung rufen. lesen

Hardwarenahe Softwareentwicklung

Hardwarenahe Softwareentwicklung

Ein Thema wie hardwarenahe Programmierung in einer Hochsprache sollte es eigentlich gar nicht geben. Dennoch kann auf Grund eingeschränkter verfügbarer Ressourcen oft auf hardwarenahe Softwareprogrammierung nicht verzichtet werden. Wie geht man am besten mit diesem scheinbaren Konflikt um? lesen

Dynamische Speicherzuweisung und -fragmentierung in C und C++

Dynamische Speicherzuweisung und -fragmentierung in C und C++

In C und C++ kann es sehr komfortabel sein, Speicherblöcke nach Bedarf zu allokieren und wieder freizugeben. Der Umgang mit einem dynamischen Speicher kann jedoch problematisch und ineffizient sein. Bei Desktop-Anwendungen mit ihrem frei verfügbaren Speicher können diese Probleme ignoriert werden. Für Embedded-Anwendungen – meist Echtzeitapplikationen – ist das aber keine Option. lesen

Die Verschmelzung von Hardware und Software

Die Verschmelzung von Hardware und Software

Die Prioritäten in der Entwicklung von Embedded Geräten verlagern sich zunehmend von dem Hard- in den Softwarebereich. Entwickler, die sich auf spezielle Softwaregebiete fokussieren, werden von diesem Trend besonders profitieren. lesen

Richtige Anwendung von Software Design Patterns

Richtige Anwendung von Software Design Patterns

Viele Entwickler besitzen einen Vorrat an allgemein anwendbaren Entwurfsmustern, mit deren Hilfe flexible, leicht anpassbare und gut wartbare Applikationen entwickelt werden können. Aber der Versuch, diese Software Design Patterns Patterns in der Praxis anzuwenden, stellt sich oft schwieriger heraus als erwartet. Dies kann viele Ursachen haben. lesen

Raus aus der Software-Krise: 50 Jahre Software-Engineering

Raus aus der Software-Krise: 50 Jahre Software-Engineering

In den 1960ern beginnen Computer, die Wirtschaft zu erobern. Doch die Softwareentwicklung steckt noch in den Kinderschuhen und verschlingt oft mehr Geld als die zugehörige Hardware. Eine NATO-Tagung in Garmisch-Partenkirchen sucht einen Ausweg: Die Computerlandschaft braucht Software-Engineering! lesen

Model-View-Adapter statt Model-View-Controller: Vorteile und Praxis-Tipps

Model-View-Adapter statt Model-View-Controller: Vorteile und Praxis-Tipps

Ein Model View Adapter (MVA) ist eine modernere Methode, um komplexe GUIs in C++ zum Einsatz in Qt umzusetzen, als der herkömmliche Ansatz eines Model View Controllers (MVC). Diese Beitrag zeigt auf, wo die Unterschiede liegen, und was Sie beim praktischen Einsatz beachten sollten. lesen

Moderne GUIs mit dem Model View Adapter in C++ entwickeln

Moderne GUIs mit dem Model View Adapter in C++ entwickeln

Grafischer Benutzeroberflächen (GUIs) basieren oft noch auf dem Model View Controller-(MVC)-Pattern. Für viele moderne Bibliotheken ist dieser Ansatz inzwischen veraltet. Besser geeignet ist der Model View Adapter (MVA): Er lässt sich gut als Grundlage für das Entwickeln moderner, komplizierterer GUIs mit C++ und Qt verwenden und gewährleistet Wartbarkeit und Erweiterbarkeit. lesen

Stolperfalle Copy & Paste: Kopierte Fehler im Software-Code aufspüren

Stolperfalle Copy & Paste: Kopierte Fehler im Software-Code aufspüren

Auch wenn es als schlechter Stil gilt, ist Copy&Paste dennoch unter Entwicklern ein gängiges Verfahren zur Code-Wiederverwertung. Doch können dabei auch vorhandene Sicherheitslücken kopiert werden – und neue Fehler entstehen. Die statische Code-Analyse kann helfen, Bugs in kopiertem Code zu vermeiden. lesen

Codegenerierung – was man damit (nicht) machen kann

Codegenerierung – was man damit (nicht) machen kann

Die Codegenerierung ist ein wesentlicher Teil eines modellbasierten Entwicklungsprozesses. Der Vortrag vermittelt die wichtigsten Informationen darüber, was man sich von der Codegenerierung in Embedded Systems erwarten soll und was nicht. lesen

Ein sicheres Systemdesign für Flugdrohnen entwickeln

Ein sicheres Systemdesign für Flugdrohnen entwickeln

Flugdrohnen werden - nicht nur in Form von Multikoptern - immer interessanter für den privaten, kommerziellen oder auch industriellen Einsatz. Doch ähnlich wie in der bemannten müssen auch in der unbemannten Luftfahrt hohe Security-Ansprüche erfüllt werden. lesen

Karriere

Hitex GmbH

Application Entwickler Embedded Systeme mit AURIX (w/m)

Unser Team bietet Beratung und Entwicklungsdienstleistung für unsere Kunden im Bereich Embedded Entwicklung. ...

Lauterbach GmbH

Web-Entwickler Frontend (w/m/d)

Wir sind ein mittelständisches Unternehmen mit nahezu 40 Jahren Erfahrung im Bereich von Testsystemen. ...

Events:

MicroConsult Microelectronics Consulting & Training GmbH

Armv8-A Architektur: AARCH64 Cortex®-A32, -A35, -A53, -A55, -A57, -A72, -A73, -A75

IHRE VORTEILE: Effektiver und zeitsparender Einstieg in die Gesamtthematik. Praktische Tipps zu Multicore und Security. ...

Firmen stellen vor:

MicroConsult Microelectronics Consulting & Training GmbH

XC8xx/C500/8051 8-Bit Mikrocontroller: Architektur und Embedded Programmierung

Sie können selbständig C51-Module mit den Tools der Firma Keil erstellen, mit anderen Modulen zu einem ablauffähigen Programm binden sowie Projekte unter µVision3 erstellen, ...

Parasoft® Deutschland GmbH

dotTEST™

Statische .NET-Analyse, Code-Prüfung, Modul-Tests

Hitex GmbH

Für einen raschen Entwicklungsstart: Evalboards, Applikations- und Starterkits

Professionelle Evaluierungswerkzeuge und Starterkits erlauben einen frühen Entwicklungsstart.

Downloads:

Parasoft® Deutschland GmbH

Parasoft Service Virtualisierung

Service Virtualisierung bietet eine simulierte Testumgebung, die es ermöglicht, früher, ...

Mixed Mode GmbH

Expert Sessions 2017

Unsere Expert Sessions finden als kostenlose Halbtagesseminare mehrmals pro Jahr in unseren Schulungsräumen in München statt.