{"id":8128,"date":"2025-11-29T09:44:31","date_gmt":"2025-11-29T08:44:31","guid":{"rendered":"https:\/\/web-dev-weissblau.de\/microconsult\/?p=8128"},"modified":"2026-02-11T05:11:49","modified_gmt":"2026-02-11T04:11:49","slug":"and-the-multicore-is-acting-up-again","status":"publish","type":"post","link":"https:\/\/www.microconsult.de\/en\/und-wieder-bockt-der-multicore\/","title":{"rendered":"And the multicore is acting up again."},"content":{"rendered":"<h2>Hilfsmittel und Werkzeuge f\u00fcr das Multicore-Debugging<\/h2>\n<p style=\"text-align: left;\" align=\"center\">Autor: Jens Braunes, PLS Programmierbare Logik &amp; Systeme GmbH<\/p>\n<h3>Beitrag &#8211; Embedded Software Engineering Kongress 2015<\/h3>\n<p class=\"Einleitung\"><strong>Beim Debugging tief eingebetteter Multicore-Systeme geht es nicht mehr nur um das Aufsp\u00fcren von falschen Variablenwerten. Auf der Tagesordnung stehen vielmehr Deadlocks, Ressourcenkonflikte oder Timing-Probleme. F\u00fcr den Entwickler bedeutet das eine gro\u00dfe Herausforderung, die nur durch geeignete Unterst\u00fctzung durch On-Chip-Debugfunktionen im engen Zusammenspiel mit leistungsf\u00e4higen Softwarewerkzeugen gemeistert werden kann. Der folgende Beitrag stellt solche L\u00f6sungen vor und zeigt ihre M\u00f6glichkeiten, aber auch ihre Grenzen. \u00a0\u00a0<\/strong><\/p>\n<p>Wenn man nur den Consumer-Markt betrachtet, sind Multicore-Systeme schon seit zehn Jahren im Mainstream angekommen. Bei den tief eingebetteten Systemen hingegen, wie wir sie vor allem in Industrieanwendungen oder bei Automotive-Steuerungen finden, wurde der Technologiewechsel erst in den letzten Jahren vollzogen, und das auch recht z\u00f6gerlich. Ein Grund daf\u00fcr sind sicherlich die hohen Anforderungen an Sicherheit, Zuverl\u00e4ssigkeit und Echtzeit, die in den genannten Bereichen nun einmal absoluten Vorrang genie\u00dfen. Aber auch das umfangreiche Portfolio an bew\u00e4hrten und gut getesteten Softwaremodulen f\u00fcr Singlecore-Systeme, deren Portierung auf mehrere Kerne einen nicht zu untersch\u00e4tzenden Aufwand bedeutete, bremste hier sicherlich einen schnelleren Vormarsch aus. Und nicht zu vergessen:<\/p>\n<p><strong>Multicore ist nicht gleich Multicore<\/strong><\/p>\n<p>Beim aus der Windows-, Linux- und Android-Welt bekannten Multicore-Ansatz k\u00f6nnen Tasks und Prozesse dynamisch erzeugt werden, die dann je nach Last auf einem beliebigen Kern zur Ausf\u00fchrung kommen. Das ist m\u00f6glich, weil die verwendeten Prozessoren \u00fcber identische Rechenkerne verf\u00fcgen, es sich also um homogene Multicore-Systeme handelt. Jeder Kern ist in der Lage und auch geeignet, zugewiesene Tasks gleicherma\u00dfen auszuf\u00fchren.<\/p>\n<p>Industrial- und Automotive-Anwendungen erfordern allerdings in der Regel festgelegte Abarbeitungszeiten f\u00fcr einzelne Tasks und garantierte Antwortzeiten. Deshalb kommen hier zumeist heterogene Multicore-Systemen mit mehreren speziell auf eine bestimmte Aufgabe zugeschnittenen Kernen zum Einsatz, wie das Beispiel der AURIX\u2122-Mikrocontroller aus dem Hause Infineon verdeutlicht (s. Abbildung 1,\u00a0<a title=\"Und wieder bockt der Multicore (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_multicore_und_wieder_bockt_der_multicore_pls_braunes.pdf\">PDF<\/a>). Zwar stammen die drei Hauptkerne allesamt aus der TriCore-Architekturfamilie, jedoch sind nur zwei davon als sogenannte Performancekerne (P-Cores) f\u00fcr normale rechenintensive Aufgaben vorgesehen. Die dritte, als Economy-Kern (E-Core) bezeichnete Zentraleinheit \u00fcbernimmt vorrangig die Verwaltung der Peripherals und allgemeine, weniger Rechenleistung erforderliche Aufgaben. F\u00fcr sicherheitskritische Tasks wurde einer der P-Cores und der E-Core mit einem zus\u00e4tzlichen Lockstep-Core ausgestattet, der im Hintergrund die gleichen Operationen wie der eigentliche Kern ausf\u00fchrt. Tritt beim Vergleich der Ergebnisse eine Abweichung auf, so arbeitet das System nicht mehr zuverl\u00e4ssig. Es muss \u00a0gegebenenfalls in einen sicheren Zustand zur\u00fcckversetzt werden.<\/p>\n<p>Komplexe Zeitsteueralgorithmen sowie die effiziente und parallele Verarbeitung von Signalen unterst\u00fctzt ein vierter &#8222;Kern&#8220;, das sogenannte Generic Timer Module (GTM). V\u00f6llig andersartig als die TriCore-Kerne, ist das GTM dennoch \u00fcber einen eigenen Befehlssatz programmierbar. Dadurch k\u00f6nnen auch Tasks darauf ausgef\u00fchrt werden.<\/p>\n<p>Wenn es also um die Verteilung der Applikationslasten auf die Rechenkerne geht, kann man hier kaum auf das Betriebssystem vertrauen. Vielmehr muss bereits w\u00e4hrend des Softwareentwurfs klar sein, welcher Kern welche Aufgaben zu \u00fcbernehmen hat.<\/p>\n<h2>Tief eingebettetes Debugging<\/h2>\n<p>Vor allem Applikationen, die ihre einzelnen Aufgaben mit hohen Echtzeitanforderungen und verteilt auf unterschiedliche Rechenkerne abarbeiten, stellen f\u00fcr Debugging, Test und Systemanalyse oftmals eine gro\u00dfe Herausforderung dar. So wirken sich die im Normalfall zumeist ziemlich gro\u00dfen Abh\u00e4ngigkeiten zwischen den auf unterschiedlichen Kernen ausgef\u00fchrten Tasks nat\u00fcrlich auf das Stop-Go-Debugging aus. Man kann nicht einfach unbedacht einen Kern anhalten, w\u00e4hrend alle anderen weiterlaufen. Mitunter m\u00fcssen auch die restlichen Kerne und die Peripherals gleichzeitig angehalten werden, damit die Applikation nicht g\u00e4nzlich au\u00dfer Tritt und in einen undefinierten Zustand ger\u00e4t. Ein wirklich gleichzeitiges Anhalten ist aber bei heterogenen Kernen mit unterschiedlicher Taktung und Ausf\u00fchrungs-Pipelines kaum m\u00f6glich. Deshalb wird es in der Praxis immer einen gewissen Zeitversatz geben, mit dem man als Entwickler leben muss. Manchmal kann das Anhalten eines kompletten Multicore-Systems sogar fatale Folgen haben, beispielsweise wenn parallel noch andere Anwendungen laufen, die zu diesen Zeitpunkt nicht debuggt werden sollen oder d\u00fcrfen. Die genannten Anwendungsszenarien machen deutlich, wie wichtig ein flexibles, synchrones Run-Control f\u00fcr die Multicore-Debug-Infrastruktur ist.<\/p>\n<p>Ein zweiter bedeutsamer Aspekt ist die Analyse des Laufzeitverhaltens, und zwar ohne dabei selbiges zu beeinflussen. Diese nicht-intrusive Systembeobachtung spielt nicht nur bei echtzeitkritischen Anwendungen, sondern auch bei Profiling-Aufgaben oder f\u00fcr die Beobachtung der Kommunikation zwischen den Kernen eine wichtige Rolle. Oftmals ist es w\u00fcnschenswert, den jeweiligen Systemzustand zu einem bestimmten Zeitpunkt mit Hilfe des extern angeschlossenen Debuggers aus dem Target-System auslesen zu k\u00f6nnen. Allerdings w\u00fcrde ein Anhalten der Applikation das Systemverhalten unter Umst\u00e4nden so grundlegend ver\u00e4ndern, dass es nichts mehr mit dem ohne angeschlossenen Debugger zu tun h\u00e4tte. Daraus folgt: F\u00fcr eine effiziente nicht-intrusive Systembeobachtung ist Tracen unerl\u00e4sslich.<\/p>\n<h2>On-Chip Debugger<\/h2>\n<p>Doch zuerst noch einmal zur\u00fcck zum Thema synchrones Run-Control. Hierf\u00fcr sind schnelle Signalwege zwischen den Kernen not\u00adwendig, die sich nur mit Debug-Hardware direkt auf dem Chip realisieren lassen. Stop- und Go-Signale von extern \u00fcber die Debug-Schnittstelle zu \u00fcbermitteln, w\u00fcrde bei den heutzutage \u00fcblichen hohen Taktfrequenzen viel zu lange dauern. Die Applikation k\u00e4me unweigerlich au\u00dfer Tritt.<\/p>\n<p>Nun bietet jeder Chip-Hersteller seine eigene On-Chip Debug-L\u00f6sung an. Infineon beispielsweise nennt sie OCDS (On-Chip Debug System). Ein wichtiger Bestandteil darin ist ein Trigger-Switch, der Halt- und Suspend-Signale einzeln konfigurierbar systemweit verteilt. Damit lassen sich einzelne Rechenkerne und Peripherieeinheiten ohne Beeinflussung der restlichen Funktionsgruppen ganz gezielt gleichzeitig anhalten und wieder starten. Zus\u00e4tzlich k\u00f6nnen einzelne Trigger-Leitungen des Trigger-Switches auch \u00fcber Pins nach au\u00dfen gef\u00fchrt werden. Das ist eine interessante Option, um beispielsweise ein Oszilloskop anzuschlie\u00dfen, oder gar ein Break von au\u00dferhalb des Chips auszul\u00f6sen.<\/p>\n<p>Neben der AURIX-Familie von Infineon gibt es nat\u00fcrlich noch eine Reihe anderer Multicore-Mikrocontroller, die den Industrial- und Automotive-Sektor abdecken, darunter beispielsweise die Freescale MPC57xx-Familie oder SoCs auf Basis der Arm-Cortex-R-Architektur. Werfen wir als erstes einen Blick auf CoreSight\u2122 [1], der On-Chip Debug-Hardware von Arm.<\/p>\n<p>F\u00fcr die Verteilung der Break- und Go-Signalen zwischen den Kernen wird eine sogenannte Cross-Trigger-Matrix (CTM) mit daran angeschlossenen Cross-Trigger-Interfaces (CTI) genutzt. Kan\u00e4le in der CTM leiten die Signale im Broadcast-Modus an die angeschlossenen CTIs weiter. Diese sind wiederum direkt mit den Kernen verbunden und so konfigurierbar, dass sie die Signale f\u00fcr das Run-Control zwischen Kern und CTM wahlweise entweder weiterleiten oder blockieren. Aufgrund der notwendigen Handshake-Mechanismen zwischen den beteiligten Komponenten kommt es dabei zu Signalverz\u00f6gerungen von mehreren Takten. Wie gro\u00df diese Verz\u00f6gerungen tats\u00e4chlich sind, h\u00e4ngt von der jeweiligen Implementierung und nat\u00fcrlich der Taktung der einzelnen Komponenten ab. Komplett vermeiden l\u00e4sst sich der beim synchronen Anhalten entstehende Schlupf von einigen wenigen, typischerweise im einstelligen Bereich angesiedelten Befehlen jedoch nicht. Ob allerdings der jeweilige Arm-Controller diese Hardwareunterst\u00fctzung bietet, obliegt dem Chip-Hersteller. Er ist frei in der Entscheidung, ob er die notwendigen CoreSight-Komponenten \u00fcberhaupt auf dem Chip implementiert (siehe Abbildung 2,\u00a0<a title=\"Und wieder bockt der Multicore (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_multicore_und_wieder_bockt_der_multicore_pls_braunes.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>).<\/p>\n<p>Auch von den Power-Architecture-basierten Controllern der MPC57xx-Familie wird das synchrone Run-Control hardwareseitig unterst\u00fctzt. Die daf\u00fcr verantwortliche Einheit hei\u00dft DCI (Debug and Calibration Interface). Der Vorteil gegen\u00fcber der Arm-L\u00f6sung: Wie beim Trigger-Switch des AURIX sind auch beim DCI die Peripherieeinheiten gleich mit angeschlossen, was ein Anhalten des gesamten Systems und nicht nur der Kerne erlaubt.<\/p>\n<p>Freilich w\u00e4re es Entwicklern am liebsten, wenn sie sich mit solchen unterschiedlichen Gesichtspunkten gar nicht erst im Detail auseinandersetzten m\u00fcssten. Debugger verbergen deshalb die unn\u00f6tigen Details bez\u00fcglich der Konfiguration des synchronen Run-Controls hinter einer leicht zu bedienenden Oberfl\u00e4che. Ein Beispiel daf\u00fcr ist der Multi-Core Run-Control-Manager in der Universal Debug Engine (UDE) der Firma PLS (siehe Abbildung 3,\u00a0<a title=\"Und wieder bockt der Multicore (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_multicore_und_wieder_bockt_der_multicore_pls_braunes.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>). Darin lassen sich Kerne zu Run-Control-Gruppen zusammenfassen, die dann beispielsweise an einem Breakpoint synchron angehalten und danach auch wieder synchron gestartet werden k\u00f6nnen.<\/p>\n<h2>Spuren mit Trace verfolgen<\/h2>\n<p>Gerade wenn es um Echtzeitanwendungen geht, gibt es neben dem synchronen Run-Control noch eine weitere wichtige Grundvoraussetzung f\u00fcr eine genaue und zuverl\u00e4ssige Systemanalyse: den On-Chip-Trace. Nat\u00fcrlich \u00a0steht diese Technologie auch bei den oben genannten Multicore-Controllern zur Verf\u00fcgung. Freescale beispielsweise setzt f\u00fcr seine \u00a0MPC57xx-Familie auf Nexus [2], Infineon nutzt daf\u00fcr die Multi-Core Debug Solution (MCDS) [3] und Arm bietet das bereits bekannte CoreSight. Allen gemein ist die M\u00f6glichkeit, Trace f\u00fcr mehrere Kerne parallel aufzuzeichnen, bei MCDS ist dies allerdings auf maximal zwei ausw\u00e4hlbare Kerne limitiert. Zeitstempel erlauben die zeitliche Zuordnung der Trace-Daten, um die genaue Abfolge von Ereignissen zu rekonstruieren. Damit lassen sich zum einen Deadlocks und Race Conditions aufsp\u00fcren, zum anderen aber auch Flaschenh\u00e4lse in der Kommunikation.<\/p>\n<p>Eine gro\u00dfe Herausforderung besteht nun darin, die aufgezeichneten Trace-Daten zum Debugger zu \u00fcbertragen, der dann die weitere Analyse vornimmt. Entweder werden diese auf dem Chip in einem Trace-Buffer zwischengespeichert und per Debug-Schnittstelle ausgelesen, oder aber \u00fcber ein breitbandiges Interface w\u00e4hrend der Aufzeichnung \u00fcbertragen. Ersteres bietet nat\u00fcrlich eine viel h\u00f6here Bandbreite, aber nur eine sehr begrenzte Speicherkapazit\u00e4t. Letzteres erlaubt zwar eine theoretisch unbegrenzte Beobachtungsdauer, daf\u00fcr kann es aber\u00a0 h\u00e4ufiger zu \u00dcberl\u00e4ufen kommen, wenn mehr Trace-Daten anfallen als \u00fcbertragen werden k\u00f6nnen. In beiden F\u00e4llen schaffen ausgekl\u00fcgelte Filter- und Trigger-Mechanismen Abhilfe, welche die Menge der Trace-Daten einschr\u00e4nken. Auch sogenanntes Cross-Triggering ist damit m\u00f6glich. Damit l\u00e4sst sich beispielsweise der Trace f\u00fcr einen Kern starten, wenn eine Bedingung f\u00fcr einen anderen Kern wahr wird. Hilfreich ist diese Funktion \u00a0beispielsweise, um Kommunikationen zwischen den Kernen zu debuggen. Bei MCDS und CoreSight z\u00e4hlt Cross-Triggering zu den Standardfunktionen. Allerdings konkurriert das bei CoreSight mit dem synchronen Run-Control, da beide die gleichen Hardwareressourcen verwenden. Freescale hingegen musste seine Nexus-Implementierung extra um eine propriet\u00e4re Einheit, die sogenannte Sequence Processing Unit (SPU), erweitern, da im Nexus-Standard Cross-Triggering nicht vorgesehen ist.<\/p>\n<p>Auch bei der zielgerichteten Beobachtung des Systemverhaltens mittels Trace sowie der anschlie\u00dfenden Auswertung und Analyse sind die F\u00e4higkeiten des Debuggers gefragt. F\u00fcr die Erstellung von Trace-Aufgaben stellt die UDE beispielsweise ein grafisches Werkzeug zur Verf\u00fcgung, mit dem sich selbst komplexe Cross-Trigger recht einfach konfigurieren lassen. Das Ganze funktioniert f\u00fcr verschiedene On-Chip Trace-Systeme, ohne dass sich der Anwender um die technischen Details k\u00fcmmern muss. Verschiedene Ansichten, die beispielsweise die parallele Ausf\u00fchrung von Code auf mehreren Kernen visualisieren, erleichtern die Trace-Auswertung. Falls gew\u00fcnscht oder ben\u00f6tigt, lassen sich mit Hilfe des Debuggers auch Profiling-Informationen gewinnen oder Code-Coverages bestimmen. Diese beiden Optionen sind jedoch nicht Multicore-spezifisch, sondern vielmehr f\u00fcr die Systemanalyse und -optimierung von allgemeinem Nutzen.<\/p>\n<h2>Fazit<\/h2>\n<p>Ohne die Unterst\u00fctzung durch geeignete Hardware auf dem Chip w\u00e4re das Multicore-Debugging f\u00fcr tief eingebettete Systeme nur sehr m\u00fchsam zu bewerkstelligen. Auch ein moderner Debugger st\u00f6\u00dft unweigerlich an seine Grenzen, wenn es um synchrones Anhalten und Starten von mehreren Kernen geht. Wirklich synchrones Run-Control wird \u00fcberhaupt erst durch geeignete On-Chip Debug-Hardware mit konfigurierbaren Cross-Triggern m\u00f6glich. \u00c4hnliches gilt f\u00fcr die umfassende Systemanalyse von Multicore-Applikationen. Ohne On-Chip-Trace sind auch hier die Grenzen des Machbaren schon schnell erreicht. Zwar folgen die Chiphersteller keinem einheitlichen Standard, wenn es um On-Chip-Debugging geht, jedoch kommen moderne Debugger durchaus gut damit zurecht. Und moderne Debugger wie die UDE erlauben dem Entwickler eine einfache Nutzung der Funktionen, so dass er sich nur selten mit den Chip-spezifischen Besonderheiten besch\u00e4ftigen muss.<\/p>\n<h2>Quellen<\/h2>\n<p class=\"LiteratureintragCxSpFirst\">[1]\u00a0 ARM Ltd:\u00a0<strong><a title=\"Arm CoreSight Debug and Trace\" href=\"https:\/\/www.arm.com\/products\/system-ip\/debug-trace\/\" target=\"_blank\" rel=\"noopener\"><em>CoreSight Debug and Trace<\/em><\/a><\/strong><\/p>\n<p class=\"LiteratureintragCxSpMiddle\">[2]\u00a0<strong>\u00a0<a title=\"Nexus 5001 Forum\" href=\"https:\/\/nexus5001.org\/\" target=\"_blank\" rel=\"noopener\">Nexus 5001 Forum<\/a><\/strong>:\u00a0<em>IEEE-ISTO 5001\u2122-2012, The Nexus 5001\u2122 Forum Standard for a Global Embedded Processor Debug Interface<\/em><\/p>\n<p class=\"LiteratureintragCxSpLast\">[3]\u00a0 A. Mayer, H. Siebert, C. Lipsky:\u00a0<em>Multi-Core Debug Solution IP<\/em>; Whitepaper,\u00a0 IPextreme, 2007<\/p>\n<p><a title=\"Und wieder bockt der Multicore (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_multicore_und_wieder_bockt_der_multicore_pls_braunes.pdf\" target=\"_blank\" rel=\"noopener\"><strong>Beitrag als PDF downloaden<\/strong><\/a><\/p>\n<hr \/>\n<h2>Multicore &#8211; unsere Trainings &amp; Coachings<\/h2>\n<p><strong>Wollen Sie sich auf den aktuellen Stand der Technik bringen?<\/strong><\/p>\n<p>Dann informieren Sie sich\u00a0<a title=\"Trainings und Termine - Mikrocontroller\" href=\"https:\/\/www.microconsult.de\/alle-trainings-termine-komplettuebersicht\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>zu Schulungen\/ Seminaren\/ Trainings\/ Workshops und individuellen Coachings von MircoConsult zum Thema Multicore \/Mikrocontroller.<\/p>\n<p><strong>Training &amp; Coaching zu den weiteren Themen unseren Portfolios finden Sie\u00a0<a title=\"Training &amp; Beratung - alle Themen\" href=\"https:\/\/www.microconsult.de\/training-beratung\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n<hr \/>\n<h2>Multicore &#8211; Fachwissen<\/h2>\n<p>Wertvolles Fachwissen zum Thema Modellierung \/Embedded- und Echtzeit-Softwareentwicklung steht\u00a0<a title=\"Embedded- und Echtzeit-Softwareentwicklung\" href=\"https:\/\/www.microconsult.de\/embedded-und-echtzeit-softwareentwicklung\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>f\u00fcr Sie zum kostenfreien Download bereit.<\/p>\n<p><a title=\"Embedded- und Echtzeit-Softwareentwicklung\" href=\"https:\/\/www.microconsult.de\/embedded-und-echtzeit-softwareentwicklung\/\" target=\"_blank\" rel=\"noopener\"><strong>Zu den Fachinformationen<\/strong><\/a><\/p>\n<p><strong>Fachwissen zu weiteren Themen unseren Portfolios finden Sie\u00a0<a title=\"Fachinformationen\" href=\"https:\/\/www.microconsult.de\/fachwissen\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hilfsmittel und Werkzeuge f\u00fcr das Multicore-Debugging Autor: Jens Braunes, PLS Programmierbare Logik &amp; Systeme GmbH Beitrag &#8211; Embedded Software Engineering Kongress 2015 Beim Debugging tief eingebetteter Multicore-Systeme geht es nicht mehr nur um das Aufsp\u00fcren von falschen Variablenwerten. Auf der Tagesordnung stehen vielmehr Deadlocks, Ressourcenkonflikte oder Timing-Probleme. F\u00fcr den Entwickler bedeutet das eine gro\u00dfe Herausforderung, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-8128","post","type-post","status-publish","format-standard","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Und wieder bockt der Multicore - MicroConsult Academy GmbH<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microconsult.de\/en\/and-the-multicore-is-acting-up-again\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Und wieder bockt der Multicore - MicroConsult Academy GmbH\" \/>\n<meta property=\"og:description\" content=\"Hilfsmittel und Werkzeuge f\u00fcr das Multicore-Debugging Autor: Jens Braunes, PLS Programmierbare Logik &amp; Systeme GmbH Beitrag &#8211; Embedded Software Engineering Kongress 2015 Beim Debugging tief eingebetteter Multicore-Systeme geht es nicht mehr nur um das Aufsp\u00fcren von falschen Variablenwerten. Auf der Tagesordnung stehen vielmehr Deadlocks, Ressourcenkonflikte oder Timing-Probleme. F\u00fcr den Entwickler bedeutet das eine gro\u00dfe Herausforderung, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microconsult.de\/en\/and-the-multicore-is-acting-up-again\/\" \/>\n<meta property=\"og:site_name\" content=\"MicroConsult Academy GmbH\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-29T08:44:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-11T04:11:49+00:00\" \/>\n<meta name=\"author\" content=\"weissblau media\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"weissblau media\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/und-wieder-bockt-der-multicore\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/und-wieder-bockt-der-multicore\\\/\"},\"author\":{\"name\":\"weissblau media\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"headline\":\"Und wieder bockt der Multicore\",\"datePublished\":\"2025-11-29T08:44:31+00:00\",\"dateModified\":\"2026-02-11T04:11:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/und-wieder-bockt-der-multicore\\\/\"},\"wordCount\":1996,\"commentCount\":0,\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/und-wieder-bockt-der-multicore\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/und-wieder-bockt-der-multicore\\\/\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/und-wieder-bockt-der-multicore\\\/\",\"name\":\"Und wieder bockt der Multicore - MicroConsult Academy GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\"},\"datePublished\":\"2025-11-29T08:44:31+00:00\",\"dateModified\":\"2026-02-11T04:11:49+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/und-wieder-bockt-der-multicore\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/und-wieder-bockt-der-multicore\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/und-wieder-bockt-der-multicore\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.microconsult.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Und wieder bockt der Multicore\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/\",\"name\":\"MicroConsult Academy GmbH\",\"description\":\"Professionelle Schulungen, Beratung und Projektunterst\u00fctzung\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.microconsult.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\",\"name\":\"weissblau media\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"caption\":\"weissblau media\"},\"sameAs\":[\"https:\\\/\\\/www.microconsult.de\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"And the multicore is acting up again - MicroConsult Academy GmbH","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microconsult.de\/en\/and-the-multicore-is-acting-up-again\/","og_locale":"en_GB","og_type":"article","og_title":"Und wieder bockt der Multicore - MicroConsult Academy GmbH","og_description":"Hilfsmittel und Werkzeuge f\u00fcr das Multicore-Debugging Autor: Jens Braunes, PLS Programmierbare Logik &amp; Systeme GmbH Beitrag &#8211; Embedded Software Engineering Kongress 2015 Beim Debugging tief eingebetteter Multicore-Systeme geht es nicht mehr nur um das Aufsp\u00fcren von falschen Variablenwerten. Auf der Tagesordnung stehen vielmehr Deadlocks, Ressourcenkonflikte oder Timing-Probleme. F\u00fcr den Entwickler bedeutet das eine gro\u00dfe Herausforderung, [&hellip;]","og_url":"https:\/\/www.microconsult.de\/en\/and-the-multicore-is-acting-up-again\/","og_site_name":"MicroConsult Academy GmbH","article_published_time":"2025-11-29T08:44:31+00:00","article_modified_time":"2026-02-11T04:11:49+00:00","author":"weissblau media","twitter_card":"summary_large_image","twitter_misc":{"Written by":"weissblau media","Estimated reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microconsult.de\/und-wieder-bockt-der-multicore\/#article","isPartOf":{"@id":"https:\/\/www.microconsult.de\/und-wieder-bockt-der-multicore\/"},"author":{"name":"weissblau media","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"headline":"Und wieder bockt der Multicore","datePublished":"2025-11-29T08:44:31+00:00","dateModified":"2026-02-11T04:11:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microconsult.de\/und-wieder-bockt-der-multicore\/"},"wordCount":1996,"commentCount":0,"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microconsult.de\/und-wieder-bockt-der-multicore\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microconsult.de\/und-wieder-bockt-der-multicore\/","url":"https:\/\/www.microconsult.de\/und-wieder-bockt-der-multicore\/","name":"And the multicore is acting up again - MicroConsult Academy GmbH","isPartOf":{"@id":"https:\/\/www.microconsult.de\/#website"},"datePublished":"2025-11-29T08:44:31+00:00","dateModified":"2026-02-11T04:11:49+00:00","author":{"@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"breadcrumb":{"@id":"https:\/\/www.microconsult.de\/und-wieder-bockt-der-multicore\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microconsult.de\/und-wieder-bockt-der-multicore\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.microconsult.de\/und-wieder-bockt-der-multicore\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microconsult.de\/"},{"@type":"ListItem","position":2,"name":"Und wieder bockt der Multicore"}]},{"@type":"WebSite","@id":"https:\/\/www.microconsult.de\/#website","url":"https:\/\/www.microconsult.de\/","name":"MicroConsult Academy GmbH","description":"Professional training, consulting and project support","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microconsult.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a","name":"weissblau media","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","caption":"weissblau media"},"sameAs":["https:\/\/www.microconsult.de"]}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/comments?post=8128"}],"version-history":[{"count":8,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8128\/revisions"}],"predecessor-version":[{"id":11606,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8128\/revisions\/11606"}],"wp:attachment":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media?parent=8128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/categories?post=8128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/tags?post=8128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}