Share this

Auswahlanalyse von Elementen der Entwicklung eingebetteter Systeme

2026-02-21 10:54:30 · · #1
Einleitung: Mit der rasanten Entwicklung von Computer-, Internet- und Kommunikationstechnologien hat auch die Entwicklung eingebetteter Systeme enorme Fortschritte gemacht. Dies spiegelt sich nicht nur in der wachsenden Zahl von Fachkräften in der Entwicklung und Forschung eingebetteter Systeme sowie in der verbesserten Leistung und den Produkt-Upgrades eingebetteter Prozessoren und Echtzeitbetriebssysteme wider, sondern vor allem in der dramatischen Erweiterung des Anwendungsbereichs eingebetteter Technologien. Eingebettete Systeme bergen ein enormes Marktpotenzial, und China sollte diese Chance nutzen, mit der Zeit gehen und bestrebt sein, im Bereich eingebetteter Systeme zu den weltweit führenden Systemen aufzuschließen und diese sogar zu übertreffen. Dieses Ziel ist realistisch erreichbar, da eingebettete Systeme im Vergleich zu PC-Systemen einzigartige Merkmale aufweisen. Im PC-Bereich dominiert trotz des Wettbewerbs durch AMD-Prozessoren und Linux-Betriebssysteme weiterhin die WinTel-Architektur (Windows + Intel). Eingebettete Systeme hingegen sind eine stark dezentralisierte Branche, die sich durch Benutzer-, Produkt- und Anwendungsorientierung auszeichnet. Die Marktanwendung ist Leitlinie und Voraussetzung für die Entwicklung eingebetteter Systeme, und es gibt derzeit kein Monopol auf dem Markt für eingebettete Systeme. Eingebettete Systeme bestehen aus zwei Komponenten: Hardware und Software. Die Hardwarearchitektur basiert auf einem eingebetteten Prozessor, der mit den notwendigen Peripheriegeräten wie Speicher, Ein-/Ausgabegeräten und Kommunikationsmodulen ausgestattet ist. Die Softwareentwicklung konzentriert sich auf eine Softwareentwicklungsplattform, die Anwendungsprogrammierschnittstellen (APIs) und Board Support Packages (BSPs) bereitstellt, welche spezifische Hardwarefunktionen abschirmen. In eingebetteten Systemen arbeiten Software und Hardware eng zusammen, um die vorgesehenen Systemfunktionen zu erfüllen. Für verschiedene Marktsegmente ist die Auswahl von Faktoren wie dem eingebetteten Prozessor, dem Echtzeitbetriebssystem, dem Emulator, dem Debugger sowie dem technischen Niveau und der Organisationsstruktur des Entwicklungsteams entscheidend für die Entwicklung eingebetteter Systeme. Dieser Artikel fasst anhand von Fachliteratur zur Entwicklung eingebetteter Systeme und konkreten Praxiserfahrungen systematisch zusammen, wie verschiedene Entwicklungsfaktoren bei der Entwicklung eingebetteter Systeme umfassend berücksichtigt und ausgewählt werden können, und erläutert dies abschließend anhand eines Beispiels. 1. Eingebetteter Prozessor: Die funktionale Software eines eingebetteten Systems ist in das Hardware-System integriert; die Anwendungssoftware des Systems ist mit der Hardware integriert. Der eingebettete Prozessor ist die Kernkomponente des gesamten Systems, und seine Leistung bestimmt direkt die Gesamtleistung des Systems. Im PC-Markt sind ältere, leistungsschwächere CPUs dank bahnbrechender Fortschritte in der Allzweck-CPU-Technologie und der Verdopplung der Taktfrequenzen längst vom Markt verschwunden. Die Entwicklung eingebetteter Systeme ist anwendungsorientiert, und unterschiedliche Anwendungsbereiche erfordern Prozessoren mit verschiedenen Modellen und Leistungsspezifikationen. Daher existieren auf dem Markt für eingebettete Prozessoren weiterhin Prozessoren der unteren bis mittleren Leistungsklasse mit 4, 8 und 16 Bit sowie zahlreiche leistungsstarke 32-Bit-Prozessoren. Mit der Entwicklung der VLSI- und Mikroelektroniktechnologie sind auch Mikrocontroller-Produkte mit integrierten Prozessoren und Peripherieschaltungen auf den Markt gekommen, und System-on-Chip (SoC)-Produkte haben sich etabliert. Die Verfügbarkeit dieser Produkte hat nicht nur das Angebot an eingebetteten Prozessoren erweitert, sondern auch die Entwicklung eingebetteter Systeme und die Ausweitung ihrer Anwendungsbereiche erleichtert. Aufgrund der vielfältigen Anforderungen an eingebettete Systeme steigt auch die Anzahl der Anbieter von RISC-basierten eingebetteten Prozessoren auf dem Markt. Statistiken zeigen, dass Ende 1999 ARM, Motorola und MIPS die drei marktführenden Unternehmen im Bereich Embedded-Prozessoren waren, wobei ARM 150 Millionen Chips verkaufte und damit über 50 % Marktanteil erreichte. Angesichts dieses Marktes stellt sich die Frage: Wie sollen Entwickler die richtigen Embedded-Prozessoren auswählen? Zwei Voraussetzungen sind zu beachten. Erstens ist eine gründliche Analyse der spezifischen Anwendungsanforderungen des Embedded-Systems erforderlich, um die Leistungsspezifikationen des Systems zu ermitteln. Anwendungsorientiertes Design ist ein wesentliches Merkmal von Embedded-Systemen, und die spezifischen Anwendungsanforderungen bestimmen die Auswahl der passenden Prozessoren. In spezialisierten Bereichen wie der industriellen Steuerungstechnik müssen Systemanalysten nicht nur persönliche Gespräche mit Mitarbeitern und Vorgesetzten führen, sondern auch Vor-Ort-Untersuchungen durchführen, um Informationen aus erster Hand und umfassende Daten zu sammeln. Im Anschluss an die Analyse der Anwendungsanforderungen müssen die grundlegenden Funktionen und Leistungsindikatoren des Produkts definiert werden. Dazu gehören beispielsweise die vom System verarbeitete Datenmenge und Echtzeitanforderungen, die Betriebsumgebung im Normalbetrieb, potenzielle unvorhergesehene Ereignisse während des Systembetriebs, die Systemgröße und der Stromverbrauch. Eine zweite Voraussetzung ist die Analyse der Leistungsindikatoren verschiedener Embedded-Prozessoren führender Hersteller, darunter Stromverbrauch, Größe, Kosten, Zuverlässigkeit, Geschwindigkeit, Rechenleistung und elektromagnetische Verträglichkeit. Diese Parameter sind auch entscheidende Wettbewerbsfaktoren für Halbleiterhersteller. Nach der Ermittlung der funktionalen und nicht-funktionalen Produktspezifikationen durch eine Anforderungsanalyse und der Untersuchung der Leistungsparameter von Embedded-Prozessoren auf dem Markt können Entwickler eine fundiertere Auswahl treffen. Das Grundprinzip der Prozessorauswahl besteht darin, Prozessoren zu wählen, die die spezifischen funktionalen und nicht-funktionalen Anforderungen erfüllen, eine gute Marktresonanz aufweisen und eine minimale Hardwarekonfiguration erfordern. Für einfache intelligente Gerätedesigns empfiehlt sich der Einsatz eines 4-Bit- oder 8-Bit-Mikrocontrollers der unteren Leistungsklasse wie dem 8051. Für Designs mit Schwerpunkt auf digitaler Signalverarbeitung sind DSP-Chips (Digital Signal Processing) der TMX320x-Serie von TI empfehlenswert. Bei Produkten mit Fokus auf Kommunikationsfunktionen bieten sich Embedded-Prozessoren der 68K-Serie von Motorola an. Für Produkte mit umfassenderen Funktionen empfiehlt sich die leistungsstarke Embedded-Prozessorserie von ARM, ein aufstrebender Stern im Bereich der Embedded-Prozessoren. Neben den oben genannten Leistungsanforderungen muss bei der Auswahl eines Embedded-Prozessors auch die Vertrautheit der Entwickler mit dieser Prozessorserie berücksichtigt werden. Da sich Embedded-Prozessoren verschiedener Hersteller erheblich unterscheiden, ist die Migration von einem Prozessortyp zu einem anderen deutlich schwieriger und riskanter als die Migration zwischen verschiedenen Prozessoren derselben Serie. 2. Echtzeitbetriebssystem: Im Zentrum des Embedded-Prozessors steht die Bereitstellung einer reinen Hardware-Plattform. Um die begrenzten Hardware-Ressourcen des Gesamtsystems optimal zu nutzen, ist die Unterstützung durch ein (eingebettetes) Echtzeitbetriebssystem (RTOS) erforderlich. RTOS weisen Ähnlichkeiten mit gängigen kommerziellen Multitasking-Betriebssystemen (wie Unix, Windows und Linux) auf, unterscheiden sich aber auch. Kommerzielle Multitasking-Betriebssysteme zielen primär darauf ab, die Verwaltung von Computerressourcen durch den Benutzer zu vereinfachen und die Systemressourcennutzung zu maximieren. RTOS hingegen konzentrieren sich auf Echtzeitleistung, Deterministik und Zuverlässigkeit, einschließlich der Verwaltung begrenzter Ressourcen. RTOS-Kernel sind in der Regel sehr klein und umfassen wenige Kilobyte bis einige zehn Kilobyte. Gängige Echtzeitbetriebssysteme (RTOS) unterstützen in der Regel prioritätsbasierte präemptive Planung und Round-Robin-Scheduling mit Zeitscheiben, basieren auf Mikrokernel-Architekturen, bieten Standardkomponenten und unterstützen virtuelle Speichertechnologie sowie Speicherschutzmechanismen. Aufgrund der unterschiedlichen funktionalen Anforderungen eingebetteter Anwendungen und der variierenden Leistungskennzahlen verschiedener RTOS gibt es drei Ansätze zur Auswahl eines RTOS: Erstens, basierend auf den Anwendungsanforderungen und den technischen Möglichkeiten des Unternehmens, sollte die Eigenentwicklung und -forschung in Betracht gezogen werden (einige Betriebssysteme für Mobiltelefone chinesischer Hersteller wie Ningbo Bird werden intern entwickelt). Zweitens, unter Berücksichtigung der Systemanforderungen, der Leistungskennzahlen und der Kosteneffizienz gängiger RTOS, um ein kommerzielles RTOS wie WinCE oder VxWorks auszuwählen. Drittens, die Verwendung von Embedded Linux (RT-Linux) ist eine Option. RT-Linux ist Open Source, kostenlos und in Internetforen weit verbreitet. Es bietet gute Anpassungsmöglichkeiten für verschiedene Anwendungsbereiche. Weltweit sind derzeit über 200 kommerzielle RTOS verfügbar. Die Vielfalt der Anwendungsbereiche hat dazu geführt, dass fast ein Dutzend Echtzeitbetriebssysteme (RTOS) positives Marktfeedback erhalten haben, darunter VxWorks, pSOS, Nucleus, QNX, WinCE und Hopen, entwickelt vom Softwareforschungszentrum der Chinesischen Akademie der Wissenschaften. Diese RTOS mit ihren unterschiedlichen Namen weisen subtile und komplexe Unterschiede in ihrer Kernsoftware auf. Bei der Auswahl sollte der Fokus auf den Leistungskennzahlen liegen, insbesondere auf den Scheduling-Algorithmen, dem Speicher-Overhead, dem Speichermanagement, der maximalen Interrupt-Deaktivierungszeit und der maximalen Task-Umschaltzeit. Selbstverständlich sind auch die Anschaffungskosten und der angebotene technische Support wichtige Faktoren. Für Anwendungen mit hohen Echtzeitanforderungen sollten die maximale Interrupt-Deaktivierungszeit und die maximale Task-Umschaltzeit des RTOS besonders berücksichtigt werden. Je niedriger diese beiden Parameter sind, desto besser. Die Reduzierung dieser Werte hängt neben der Wahl eines Embedded-Prozessors mit höherer Taktfrequenz auch eng mit den Task-Scheduling- und Interrupt-Verarbeitungsmechanismen des RTOS zusammen. Bei der Auswahl eines Echtzeitbetriebssystems (RTOS) müssen auch die Systemfunktionalität, wie unterstützte Prozessorhardwareplattformen, APIs, die Unterstützung von Kernel- und Benutzermodus, die Unterstützung einer Speichermanagementeinheit (MMU), Portabilität, Debugging-Unterstützung und Standardunterstützung, berücksichtigt werden. Bei der Entwicklung von Netzwerkanwendungen ist zudem zu prüfen, ob das RTOS TCP/IP-Netzwerkkomponenten und E/A-Dienste unterstützt. Für die Entwicklung im Spiele- und Unterhaltungsmarkt sind die Multimedia-Funktionen des RTOS von besonderer Bedeutung. Die Vielfalt der Marktanforderungen erfordert, dass das RTOS selbst benutzerdefinierte Anpassungsmöglichkeiten bietet und Standardkomponenten basierend auf dem Mikrokernel entsprechend den Anwendungsbedürfnissen auswählt. 3. Emulator und Debugger: Debugging ist ein entscheidender Bestandteil der Entwicklung eingebetteter Systeme. Die Entwicklung und das Debugging eingebetteter Systeme unterscheiden sich wesentlich von der Entwicklung und dem Debugging allgemeiner PC-Systeme. Bei der Entwicklung allgemeiner PC-Systeme sind Debugger und zu debuggendes Programm zwei Prozesse, die auf derselben Hardware- und Softwareplattform laufen. Der Debugger-Prozess steuert und greift über eine vom Betriebssystem bereitgestellte dedizierte Debugging-Schnittstelle auf den zu debuggenden Prozess zu. In eingebetteten Systemen ist der Debugger eine Anwendung, die auf einem Desktop-Betriebssystem läuft, während das zu debuggende Programm auf einem Betriebssystem einer spezifischen Hardwareplattform ausgeführt wird. Eine Echtzeitkommunikation zwischen den beiden Programmen ist erforderlich. Beim Debuggen eingebetteter Systeme verbindet sich das integrierte Entwicklungs- und Debugging-Tool (Debugger) auf dem Host-Rechner über einen Emulator mit dem Zielrechner. Der Emulator übernimmt die gesamte Kommunikation zwischen Host- und Zielrechner; als Kommunikationsport kann eine serielle Schnittstelle, ein paralleler Port oder eine Hochgeschwindigkeits-Ethernet-Schnittstelle verwendet werden. Die Verbindung des Emulators zum Zielrechner erfolgt über einen JTAG-Port. Die Beziehung zwischen den drei Komponenten ist in Abbildung 1 dargestellt. Zu den Methoden für die Entwicklung und das Debuggen eingebetteter Systeme gehören Rapid Prototyping und Echtzeit-Online-Debugging. Rapid Prototyping wird eingesetzt, wenn die Hardware noch nicht fertiggestellt ist. Dabei wird die Anwendung direkt auf dem Host-Rechner simuliert und analysiert. Während dieses Prozesses interagiert das System nicht direkt mit der Hardware. Ein spezielles Softwaremodul innerhalb der Entwicklungs- und Debugging-Software simuliert den Ausführungsprozess des Hardware-CPU-Systems und liefert dem Entwickler gleichzeitig Feedback zu Simulationsausnahmen, um Fehler zu lokalisieren und zu beheben. Das Echtzeit-Online-Debugging debuggt die Anwendung auf einer spezifischen Zielplattform. Die Systemausführung im Debug-Modus entspricht exakt dem regulären Betriebsmodus. Diese Methode ermöglicht es Entwicklern, Hardware- und Softwarefehler in Echtzeit zu lokalisieren und zu beheben und so die Produktentwicklung zu beschleunigen. Der gewählte Debugger ist eine integrierte Entwicklungsumgebung (IDE), die auf dem Host-Rechner läuft. Er muss in der Regel Bearbeitungs-, Assemblierungs-, Kompilierungs-, Link- und Debugging-Umgebungen integrieren, die Low-Level-Sprachen Assembler, C und C++ unterstützen, über eine benutzerfreundliche grafische Benutzeroberfläche (GUI) verfügen und es Benutzern ermöglichen, die Register- und Speicherkonfiguration des eingebetteten Prozessors, Datentypen und -werte, Stack- und Registernutzung zu beobachten und zu ändern sowie Programm-Haltepunkte, Einzelschritt-, Haltepunkt- oder Vollgeschwindigkeitsausführung zu unterstützen. Die Vielfalt der Anwendungsanforderungen hat zu einer großen Anzahl von Emulator- und Debugger-Anbietern auf dem Markt geführt. Windrivers Tornado ist ein gutes Entwicklungs- und Debugging-Tool. Erfahrungsgemäß empfiehlt es sich, Emulatoren und Debugger von größeren, renommierten Unternehmen zu wählen, auch wenn diese teurer sind. Diese Unternehmen verfügen über umfassende technische Kompetenzen, einen guten Kundendienst und ihre Debugger sind eng in die Emulatorentwicklung integriert. Bei technischen Problemen während der Entwicklung und des Debuggings ist umgehend technischer Support per Telefon oder E-Mail verfügbar. Für die Verwendung von ARM-basierten Embedded-Prozessoren kann ein Multi-ICE-Emulator zusammen mit einer integrierten ARM250-Entwicklungs- und Debugging-Umgebung erworben werden. 4. Technisches Niveau und Struktur des Entwicklungsteams Neben der Auswahl von Embedded-Prozessor, RTOS, Emulator und Debugger sind das technische Niveau und die Struktur des Entwicklungsteams entscheidende Faktoren für die Entwicklung eingebetteter Systeme. Erfahrene Entwicklungsteams wissen, dass bei der Entwicklung ziviler Produkte der Anteil neuer Technologien am gesamten Technologieumfang maximal 20 % betragen darf, um sicherzustellen, dass ein Produkt innerhalb des erwarteten Zeitrahmens auf den Markt kommt und Gewinne erzielt. Eine Überschreitung dieser Grenze kann zu erheblichen Abweichungen vom geplanten Zeitplan führen. Aus Sicht der leitenden Planungsabteilung gilt: Bei neuen Technologien innerhalb von 20 % kann das Unternehmen seine Ressourcen bündeln und ausreichend Personal, Material und Kapital in bahnbrechende Forschung investieren, was in der Regel zufriedenstellende Ergebnisse erzielt. Übersteigen die neuen Technologien diesen Bereich von 20 %, reichen die Ressourcen des Unternehmens möglicherweise nicht aus, um seine Ziele zu erreichen. Das Unternehmen agiert marktorientiert; der Markt ist seine Grundlage. Das Unternehmen schätzt den Markt, und seine Anstrengungen müssen vom Markt honoriert werden, damit es ordnungsgemäß funktionieren kann. Während der Entwicklung versucht das Unternehmen generell, Risiken zu vermeiden, und die Risikoanalyse ist während des gesamten Entwicklungsprozesses ein entscheidender Faktor. Das Unternehmen wählt typischerweise ein konservatives Entwicklungsmodell, basierend auf den aktuellen technischen Fähigkeiten seines Entwicklungsteams und den vorhandenen technischen Reserven. Bei der technischen Demonstration verschiedener Alternativlösungen analysiert das Unternehmen gründlich Faktoren wie Kosten-Nutzen-Analyse, Risikoniveau, Ressourceninvestition und das technische Niveau des Entwicklungsteams, um die Vor- und Nachteile umfassend abzuwägen und die zuverlässigste und risikoärmste Lösung auszuwählen. Bei der Projektentwicklung sollte die Personaleinsatzplanung nicht nur die erfolgreiche Aufgabenerfüllung innerhalb des vorgegebenen Zeitrahmens gewährleisten, sondern auch die Ausbildung und Entwicklung zukünftiger Talente berücksichtigen. Die Entwicklung jedes Projekts, basierend auf der Anforderungsanalyse, bildet nach Vor- und Detailplanung eine modulare Struktur mit unterschiedlichen Schwierigkeitsgraden. Daher müssen Unternehmen bei der Auswahl des Projektpersonals eine angemessene Personalstruktur sicherstellen. Das allgemein anerkannte Verhältnis von Fachkräften zu Doktoren beträgt 1 (Promotion oder vergleichbar) : 3 (Master oder vergleichbar) : 7 (Bachelor, Associate Degree oder vergleichbar). Neben dem technischen Niveau und dem Verhältnis der Entwickler zu Fachkräften ist bei der Projektentwicklung auch eine demokratische und wissenschaftliche Entscheidungsfindung im Team ein entscheidender Aspekt. 5. Anwendungsbeispielanalyse Nach der detaillierten Erörterung mehrerer Schlüsselfaktoren der Entwicklung eingebetteter Systeme werden im Folgenden die konkreten Auswirkungen dieser Faktoren in der Praxis erläutert. Abbildung 2 zeigt die Struktur eines tragbaren elektronischen Produkts, das einen Personal Digital Assistant (PDA) und einen Pager kombiniert. Zu den Basisfunktionen dieses Produkts gehören: ① Personal Digital Assistant – wissenschaftlicher Taschenrechner, Englisch-Chinesisches Wörterbuch, Telefonbuch, Terminkalender usw.; ② Verkehrsinformationen – Abfrage von Zug- und Flugplänen sowie von Bahnhöfen; ③ Paging-Informationen – Empfang von persönlichen und öffentlichen Paging-Informationen, Echtzeit-Sprachsynthese und Wiedergabe persönlicher Paging-Inhalte, Aktualisierung von Zug- und Flugfahrplandaten per Paging usw. Die Analyse des Funktionsdiagramms des Produkts in Kombination mit dessen Grundfunktionen verdeutlicht die Leistungsanforderungen an den eingebetteten Prozessor: ein Hochgeschwindigkeitsprozessor zur Verarbeitung von Abfragen von Zug- und Flugplänen, Echtzeit-Sprachsynthese und Wiedergabe persönlicher Paging-Inhalte usw. Die Peripheriegeräte des Prozessors müssen eine integrierte Sprachaufzeichnungs- und -wiedergabeschaltung für die Spracheingabe und -wiedergabe, eine serielle Schnittstelle und eine Infrarotschnittstelle für die Datenkommunikation, eine LCD-Schnittstelle für die Benutzereingabe sowie ein Energiemanagementmodul für den energiesparenden Betrieb des tragbaren Elektronikprodukts umfassen. Der ARM-Mikrocontroller EP7211 wurde ausgewählt: Er enthält einen 32-Bit-ARM720T-Mikroprozessor mit Betriebsfrequenzen von 18 MHz, 36 MHz, 54 MHz und 72 MHz. Die Betriebsfrequenz des Prozessors kann über Steuerregister in der Anwendung programmatisch umgeschaltet werden. Diese Frequenzumschaltung erfüllt nicht nur unterschiedliche Anwendungsanforderungen, sondern reduziert auch den Stromverbrauch des Systems. Der EP7211 verfügt über SRAM- und Flash-Speicherschnittstellen, zwei RS232-Ports (einer davon mit integriertem Infrarot-Transceiver), ein Modul für Sprachaufzeichnung und -wiedergabe gemäß G_729.a-Standard, eine LCD-Schnittstelle sowie ein Energiemanagementsystem mit Unterspannungsüberwachung. Im Schlafmodus unterstützt der EP7211 die Interrupt-Weckfunktion mit einer Aufwachzeit von 2–3 Zyklen der Weckfrequenz. Der Chip bietet eine Weckfrequenz von 8 kHz, wodurch ein rechtzeitiges Aufwachen beim Empfang eines Paging-Präambelsignals im Schlafmodus ermöglicht wird. Nach der Auswahl des EP7211 folgt die Wahl eines Echtzeitbetriebssystems (RTOS). Das System ist hinsichtlich Produktfunktionalität und Programmablauf im Wesentlichen ein sequenzieller Single-Task-Prozess, muss aber in Echtzeit auf Paging-Interrupts reagieren können. Es gibt zwei RTOS-Optionen: Zum einen kann das kommerziell erhältliche Nucleus verwendet werden, das bereits für das Ölfeld-Loggingsystem SL3000 eingesetzt wird; zum anderen kann die eigens entwickelte Softwareentwicklungsplattform XGW, speziell für Embedded-Anwendungen, genutzt werden. Die XGW-Plattform ist leistungsstark, modular aufgebaut und hoch skalierbar. Sie unterstützt verschiedene Punktmatrix- und Vektorschriften, verfügt über umfassende Schnittstellen für die Verarbeitung in Chinesisch und Englisch und unterstützt Hanwang-Handschrifterkennung sowie die Eingabe von Pinyin. Da die XGW-Plattform selbst entwickelt wurde, sind Software-Upgrades und Fehlerbehebung relativ einfach, und die Produktkosten sind vergleichsweise niedrig. Der Embedded-Prozessor EP7211 und die XGW-Plattform wurden auch aufgrund ihrer erfolgreichen Anwendung im Projekt „GPS-Autonavigationssystem“ ausgewählt. Für die integrierte Entwicklungs- und Debugging-Umgebung haben wir den ARM250 von ARM erworben. Er verfügt über eine grafische Benutzeroberfläche (GUI) und bietet eine integrierte Mehrfenster-Arbeitsumgebung zum Bearbeiten, Assemblieren, Kompilieren, Linken und Debuggen. Er unterstützt Einzelschritt-Tracing, das Setzen von Haltepunkten und die Speicheranzeige. Darüber hinaus ähnelt die Entwicklungs- und Debugging-Oberfläche des ARM250 der integrierten Umgebung VC6++ von Microsoft, sodass sich Entwickler schnell damit vertraut machen und sie beherrschen können. Wir haben den Multi_ICE-Emulator ausgewählt, der Online-Simulations-Debugging unterstützt. Durch die Verbindung zum Host über einen Parallelport ermöglicht er das schnelle Laden des kompilierten und gelinkten Programmcodes und beschleunigt so den Code-Debugging-Prozess. Es wurde eine detaillierte Analyse der technischen Risiken des Produkts durchgeführt. Für das Entwicklungsteam stellt lediglich das Paging-System mit seiner hohen Betriebsfrequenz von 155 MHz eine relativ ausgereifte neue Technologie dar. Die elektromagnetische Verträglichkeit mit anderen Funktionsmodulen muss als zentrales Anliegen berücksichtigt werden und erfordert erhebliche personelle Ressourcen für die Entwicklung. Bezüglich des eingebetteten Prozessors EP7211 und der selbstentwickelten Softwareentwicklungsplattform XGW verfügen die Entwickler über umfassendes technisches Know-how und langjährige Erfahrung. Während der Systementwicklung wurden zwei technische Debugging-Verfahren entworfen: eines basierend auf SRAM und eines auf Flash-Speicher. Im SRAM-Modus führt das System beim Kaltstart nach Abschluss der relevanten Hardware-Initialisierungsaufgaben einen Codeabschnitt aus, der den durch die Systemkompilierung und -verknüpfung generierten Binärcode vollständig vom Flash-Speicher in den SRAM-Speicher kopiert. Der gesamte Anwendungs-Debugging-Prozess wird somit vollständig im Speicher ausgeführt. Dieser Ansatz beschleunigt das Debuggen großer Anwendungen erheblich und fördert die Produktentwicklung. Im zweiten Schritt wird nach dem Debuggen der Anwendung im SRAM-Modus das Flash-Debugging durchgeführt. Nach dem Systemstart werden die Interrupt-Service-Routine (ISR) und ein kleiner Teil des Kernel-Codes in den SRAM kopiert und dort ausgeführt, während die übrigen Anwendungen im Flash-Speicher laufen. Im Vergleich zum SRAM-Modus modifiziert der Flash-Modus hauptsächlich den Systemstartcode, während der Anwendungscode vollständig unverändert bleibt. Der Flash-Modus reduziert den Bedarf an wertvollen SRAM-Ressourcen und senkt die Produktentwicklungskosten, ist aber langsamer als der SRAM-Modus. 6. Zusammenfassung: Dieser Artikel beschreibt die Auswahlkriterien für eingebettete Prozessoren, Betriebssysteme, Debugger, Emulatoren sowie das technische Niveau und die Organisationsstruktur von Entwicklern in der Entwicklung eingebetteter Systeme. Anhand eines konkreten Beispiels werden die Ergebnisse weiter analysiert und veranschaulicht. Es ist zu beachten, dass diese Elemente nicht unabhängig, sondern eng miteinander verknüpft sind und sich in einigen Aspekten sogar widersprechen können.
Read next

Schwingungsausfallanalyse großer Tiefbrunnenpumpen mit langem Schaft

Zusammenfassung: Dieser Artikel analysiert die Vibrationsfehler großer Tiefbrunnenpumpen und identifiziert verschiedene ...

Articles 2026-02-20