Ein Angebot von

Fachbeiträge

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

Ein Plädoyer für die Verwendung von VHDL-2008

Ein Plädoyer für die Verwendung von VHDL-2008

Viele Entwickler setzen – teils aufgrund veralteter Tools, teils aus reiner Gewohnheit – noch auf den früheren VHDL-2002-Standard. Dabei hält VHDL-2008 zahlreiche Erleichterungen und Verbesserungen bereit. 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

Unit Tests mit Python – Beispiele und Fallstricke

Unit Tests mit Python – Beispiele und Fallstricke

Unit Tests sind wohl die bekannteste Teststufe, die von Entwicklern vor der Integration in die Versionsverwaltung ausgeführt wird. Zunehmend wird dazu die Skriptsprache Python verwendet. Der folgende Beitrag zeigt, wie typische Fallstricke beim Testdesign mit Python umgangen werden können. lesen

Formal korrekten C-Code durch Benutzung von SPARK programmieren

Formal korrekten C-Code durch Benutzung von SPARK programmieren

Ein einfacher Weg zu sicherer Software: Durch den Einsatz der Ada-Variante SPARK ist es möglich, schnell und unkompliziert in C geschriebene Programme automatisch auf Korrektheit zu überprüfen. lesen

C programmieren: 10 Codierungsregeln für sicherheitskritischen Code

C programmieren: 10 Codierungsregeln für sicherheitskritischen Code

Wie geht man beim Programmieren im C am geschicktesten vor, um stabilen, leicht testbaren und vor allem sicheren Code zu erhalten? Hier sind 10 grundsätzliche Codierungsregeln, die sich Entwickler auf dem Weg zu sicherer Software verinnerlichen sollten. lesen

Mit Pyparsing eine eigene Skriptsprache zur Embedded-Entwicklung definieren

Mit Pyparsing eine eigene Skriptsprache zur Embedded-Entwicklung definieren

Python ist auch in der Embedded-Entwicklung zur Generierung praktischer Scripts beliebt. Mit Pyparsing besteht zudem die Möglichkeit, mit wenig Aufwand eine auf die eigenen Bedürfnisse zugeschnittene Skriptsprache zu definieren, die innerhalb des Python-Kontextes läuft. lesen

C programmieren: Wie arbeitet ein C-Compiler?

C programmieren: Wie arbeitet ein C-Compiler?

Wie entsteht aus geschriebenem C-Code ein Programm, dass das Zielsystem auch versteht und Umsetzen kann? In diesem Beitrag sehen wir uns Aufbau und Arbeitsweise des C-Compilers genauer an. lesen

C programmieren: Präprozessor und Standardbibliothek

C programmieren: Präprozessor und Standardbibliothek

Programmieren in C zeichnet sich besonders durch die hohe Flexibilität der Programmiersprache aus. Möglich machen dies der Präprozessor zum Vorverarbeiten des Codes und eine an individuelle Bedürfnisse anpassbare Standardbibliothek. lesen

C programmieren: Arrays, Pointer, Records und Typdefinitionen

C programmieren: Arrays, Pointer, Records und Typdefinitionen

Ohne Datentypen funktioniert in C nichts. Elemente wie Arrays und Zeiger bzw Pointer oder Strukturen zählen zu den wichtigsten Bausteinen der Programmiersprache. Zum Abschluss der syntaktischen Elemente von C wollen wir daher auf diese Dateitypen näher eingehen - und auch den Präprozessor zur Code-Vorverarbeitung kurz erklären. lesen

C programmieren: Kontrollstrukturen und Funktionen in C

C programmieren: Kontrollstrukturen und Funktionen in C

Die Syntax der Programmiersprache C ist mächtig, birgt aber auch einige Tücken. Wie soll ein in C geschriebenes Programm ablaufen und wie führe ich gezielt Funktionen in C aus? Dieser Artikel geht näher auf diese syntaktischen Elemente ein. lesen

C programmieren: Datentypen, Deklarationen, Operatoren und Ausdrücke

C programmieren: Datentypen, Deklarationen, Operatoren und Ausdrücke

Die Syntax einer Programmiersprache stellt so etwas wie ihre Grammatik dar: Erst, wenn die lexikalischen Elemente beim Programmieren in C syntaktisch korrekt verwendet werden, können sinnvolle Anweisungen entstehen. Dieser Artikel beschreibt, wie die Syntax von C aufgebaut ist: Von Datentypen, Deklarationen, Operatoren bis hin zu Ausdrücken und Anweisungen. lesen

C programmieren: lexikalische Grundlagen

C programmieren: lexikalische Grundlagen

C ist in der Embedded-Entwicklung eine überaus beliebte Programmiersprache. Ihre immense Flexibilität und Ausdrucksstärke birgt aber auch größte Gefahren für unerfahrene oder leichtfertige Programmierer. Daher ist es essentiell, sich ausgiebig mit den Grundlagen der Sprache vertraut zu machen. lesen

Grafische objektorientierte C-Programmierung mit Simulink

Grafische objektorientierte C-Programmierung mit Simulink

Mit einem grafischen Ansatz können in C hardwarenahe Schichten oder Betriebssystemanbindungen direkt formuliert werden. Zudem erlauben grafische Entwicklungstools für C-Programme eine einfache Navigation des Codes. Dieser Artikel beschreibt die Anwendung der grafischen Programmierung in einer Matlab-Simulink-Umgebung. lesen

Standardisierung für VHDL-Testbench-Architekturen

Standardisierung für VHDL-Testbench-Architekturen

Die Architektur eines FPGA-Designs spielt eine entscheidende Rolle hinsichtlich Qualität und Entwicklungszeit von FPGAs. Dasselbe gilt für Testbenches, die jedoch meist alles andere als strukturiert sind. Die Open-Source-Methodik UVVM (Universal VHDL Verification Methodology) soll dies ändern. lesen

Ada Lovelace – Erfinderin der Software

Ada Lovelace – Erfinderin der Software

Software begann nicht mit Disketten oder dem „Hello World”-Programm. Sondern über 100 Jahre früher mit Ada Lovelace Mitte des 19. Jahrhunderts. lesen

Fünf weitere Tipps zur Programmierung von Embedded-Software

Fünf weitere Tipps zur Programmierung von Embedded-Software

Im letzten Teil unserer Software-Tipp-Reihe gab Colin Walls praktische Erfahrungen in der Embedded-Software-Entwicklung weiter, unter anderem zu Null-Pointern oder Rekursivem Code. Hier folgen fünf weitere Hilfestellungen für Embedded-Programmierer. lesen

Software-Tipp: Weitere Programmiertechniken zu C++ mit einem RTOS

Software-Tipp: Weitere Programmiertechniken zu C++ mit einem RTOS

Im letzten C++ Tipp haben wir eine interessante Technik für Embedded-Anwendungen geschildert, die einen Embedded-Block mit einem lokalen Objekt verwendete, in dem der zugehörige Konstruktor und Destruktor auf neuartige Weise eingesetzt wurde. Dies kann sich aber auch drastisch auf das Verhalten eines Echtzeitsystems auswirken. Hier einige nähere Details. 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

XMC 4000 / XMC 1000: 32-Bit Industrial Microcontroller Arm® Cortex®-M4/ Arm® Cortex®-M0

Sie lernen, aufbauend auf das Wissen der Arm® Cortex™-M4 Architektur (siehe Training "Cortex™-M4, ...

Firmen stellen vor:

Mixed Mode GmbH

Wie letztes Mal, nur besser!

Artikel in der Design & Elektronik, Juni 2015 über Requirements Engineering und Change Management

MicroConsult Microelectronics Consulting & Training GmbH

TCP/IP: TCP/IP/Ethernet Protokoll IPv4/IPv6

Das TCP/IP Training beleuchtet die TCP/IP-Protokollwelt als Ganzes. So beurteilen Sie die Leistungen und Funktionen der einzelnen Protokolle. ...

Downloads:

Parasoft® Deutschland GmbH

Parasoft – Quality@Speed with DevOps

Today's DevTest teams are under pressure to deliver more - and more innovative - software faster than ever before. ...

MicroConsult Microelectronics Consulting & Training GmbH

Mit durchdachter Software-Usability Wettbewerbsvorteile erzielen

Die Qualität von industrieller Software stellt für Unternehmen einen entscheidenden Wettbewerbsfaktor dar. ...