Bildergalerie
Bild 1: Beispiel-Darstellung des AppBuilder-Tools für Peripherie-Pinouts.
Bild 2: Konfigurations-Code.
Bild 3: Beispiel einer Fehlerliste in AppBuilder.
Bild 4: Konfiguration der Tasksteuerung mit I2C-Fehler.
Bild 5a und 5b: Einfache Konfiguration über das AppBuilder Tool.
Bild 5b und 5a: Einfache Konfiguration über das AppBuilder Tool.

Schnelle grafische Konfiguration

Rapid-Prototyping-Hilfsmittel wie Silicon Labs’ AppBuilder-Tool ermöglichen eine schnelle grafische Konfiguration einer 32-Bit-MCU – und das ohne langwieriges Lesen von Datenblättern oder Erlernen von Registereinstellungen. Um den Designprozess noch weiter zu vereinfachen, generiert das Tool auch Quellcode und ein Projekt, das der Entwickler als Startpunkt für seine Firmware-Entwicklung nutzen kann. Letztlich bieten GUI-basierte Software-Konfigurationstools, wie der AppBuilder, eine sehr gute Ressource für Entwickler, die ihre Gesamtentwicklungskosten und die Komplexität senken, sowie die Markteinführungszeit beschleunigen wollen.

Wie kann nun ein intelligentes GUI-basiertes (Graphical User Interface) MCU-Konfigurationstool den Entwicklungsprozess genau vereinfachen? Sobald die Designspezifikation einer Anwendung beendet ist, kann der Entwickler mögliche MCUs für das Design in Betracht ziehen. Da sich ARM zu einem De-facto-Standard bei 32-Bit-MCUs entwickelt hat, enthalten viele neue MCUs heute ARM Cortex-CPUs. Obwohl eine MCU die Anforderungen hinsichtlich Code-Raum, RAM, Peripherie und Analogfunktionen erfüllen kann, muss sie auch imstande sein, alle erforderlichen Funktionen physikalisch an ihren Pins bereitzustellen. Falls jede Peripherie oder Funktion an jedem Anschluss zur Verfügung stehen würde – und das ohne Einschränkungen – müsste der Entwickler nur die Spezifikationen überprüfen. In den meisten Fällen werden die Peripheriefunktionen einer MCU jedoch an verschiedenen Anschlüssen gemultiplext. Es liegt dann am Entwickler festzustellen, ob sich die MCU so konfigurieren lässt, dass sie den Designanforderungen entspricht.

MCU mit hochkonfigurierbaren Anschlüssen

Im Idealfall wählt der Entwickler eine MCU mit hochkonfigurierbaren Anschlüssen, was die Wahl kleinerer, preiswerter Bausteine für die Anwendung ermöglicht. Zusätzliche Konfigurationsflexibilität vereinfacht auch die Umsetzung kurzfristiger Designänderungen. Zu den Neuerscheinungen im ARM-Cortex-basierten MCU-Markt zählt die Precision32-MCU-Familie von Silicon Laboratories. Sie basiert auf einer einfach konfigurierbaren Dual-Crossbar-Architektur, die Entwicklern diese Pinout-Flexibilität bietet. Mithilfe der Dual-Crossbar-Architektur kann der Entwickler einen Mix aus digitalen und analogen Funktionen den GPIO-Pins zuweisen.

Schnelle grafische Konfiguration von 32-Bit-MCUs.

Schnelle grafische Konfiguration von 32-Bit-MCUs.Silicon Laboratories

Wenn Entwickler mit der Suche möglicher 32-Bit-MCUs für ihre Embedded-Anwendungen beginnen, müssen sie lernen, wie verschiedene MCUs und dazugehörige Tool-Pakete konfiguriert und eingesetzt werden. In den meisten Fällen kann dies eine sehr zeitaufwändige Tätigkeit sein. Steht dafür ein einfach zu bedienendes grafisches Konfigurationstool zur Verfügung, mit dem sich die Anschlussmöglichkeiten eines Bausteins bestimmen lassen und das Initialisierungs-Code schnell generiert, verringert sich dadurch die Gesamtentwicklungsdauer erheblich. Um Entwicklern bei der Arbeit mit Precision32-MCUs zu helfen, bietet Silicon Labs ein GUI-basiertes AppBuilder-Softwaretool an, mit dem sich Anschlüsse und Peripherie einfach konfigurieren lassen. Gleichzeitig liegt eine Momentaufnahme vor, wo die Pin-Funktion am MCU-Gehäuse zur Verfügung steht und welche Peripherie dazu konfiguriert wird. Bild 1 zeigt eine musterhafte Darstellung des AppBuilder-Tools.

Anschlüsse und Peripherie einfach konfigurieren

Mit dem AppBuilder-Tool können Entwickler die Anschlusskonfiguration einfach ändern und sehen in Echtzeit sofort die Auswirkung auf andere Pin-Funktionen. Diese GUI-basierte Pin-Konfiguration ist vor allem dann hilfreich, wenn mit einem Board-Design und der gleichzeitigen Code-Entwicklung begonnen wird. So kann der Firmware-Entwickler eine Vorlage möglicher Anschlussoptionen bereitstellen, die der Hardware-Entwickler überprüft. Um die Gesamtsystemkosten zu verringern, wählt der Hardware-Entwickler das Pinout, welches das einfachste Leiterplattendesign (PCB-Layout) und die geringste Zahl an PCB-Layern realisiert. Darüber hinaus ermöglicht das AppBuilder-Tool eine einfache Abschätzung kurzfristiger Änderungen der Anschlussbelegung.

Ein weiterer Vorteil eines Grafik-Tools zur Pin-Konfiguration ist, dass sich die Code-Entwicklung für die Pin-Konfiguration erübrigt. Jegliche Komplexität rund um diese Konfiguration wird somit abstrahiert. Sobald das Pinout oder die Anschlusskonfiguration geändert werden, generiert das Tool automatisch den entsprechenden Code. Bild 2 zeigt ein Beispiel des Pin-Konfigurationscodes, wie er durch die AppBuilder-Software generiert wird. Der Code verwendet Funktionen, die im Hardware Access Layer definiert sind, der Teil des Precision32-Software-Development-Kit (SDK) ist und eine Zugriffsebene für die Register bietet.

Neben der Code-Generierung sollte ein Pin-Konfigurationstool intelligent genug sein, den Anwender auf Fehler hinzuweisen. Konfiguriert der Entwickler zum Beispiel fälschlicherweise einen Anschluss für eine Digitalfunktion obwohl dieser als Analogeingang für den A/D-Wandler vorgesehen ist, sollte das Tool den Anwender automatisch darauf hinweisen, dass ein Analoganschluss gerade für eine Digitalfunktion konfiguriert wird und dieses Problem zu lösen ist.

Das AppBuilder-Tool stellt eine Liste aller gefundenen Fehler zur Verfügung. Ein Doppelklick auf einen Fehler führt den Anwender zu den Konfigurationseinstellungen, die falsch sind und in Rot dargestellt werden. Sobald alle erkannten Probleme beseitigt sind, werden sämtliche Fehler aus der Fehlerliste automatisch entfernt. Diese Funktion ist nicht nur auf die Anschlusskonfiguration beschränkt sondern gilt auch für die Peripheriekonfiguration. Konfiguriert der Entwickler zum Beispiel das I2C0-Modul für den Einsatz, vergisst dabei aber die Aktivierung des Takt-Gates zum I2C0-Modul, erzeugt AppBuilder eine Fehlermeldung. Führt der Anwender einen Doppelklick auf der Fehlermeldung aus, zeigt das Tool automatisch den Parameter, der geändert werden muss und stellt diesen in Rot dar. Beim Doppelklick des oben genannten Fehlers in Bild 3 öffnet sich das Clock-Control-Configuration-Fenster mit rot hervorgehobener I2C0-Clock-Enable-Auswahl (Bild 4). Durch Anklicken der I2C0-Box im Fenster wird der Fehler von der Fehlerliste gestrichen. Ohne Zugriff auf ein grafisches Konfigurationstool würde ein Entwickler erhebliche Zeit benötigen, um eine Konfiguration von Fehlern zu befreien, vor allem wenn es sich um einen Single-Bit-Fehler handelt. Das Tool hebt Fehler automatisch hervor, und der Entwickler kann seine Zeit für die weitere Entwicklungsarbeit verwenden, anstatt ein Debugging durchführen zu müssen.

Konfiguration der MCU-Peripherie

Die Konfiguration der MCU-Peripherie stellt ein weiteres Hindernis dar. Ohne die Hilfe eines Software-Konfigurationstools wäre dies ein zeitaufwändiger Prozess. Entwickler müssen sich durch umfangreiche Datenblätter und Handbücher kämpfen, um herauszufinden, welche Bits innerhalb der Peripherie konfiguriert werden müssen, um die gewünschte Einstellung zu erhalten. Vor allem, wenn mehrere MCUs von verschiedenen Anbietern gleichzeitig evaluiert werden sollen, wird der Zeitaufwand groß. Mit Hilfe eines Softwaretools wie AppBuilder sind alle konfigurierbaren Parameter einsehbar und Änderungen lassen sich einfach durchführen. AppBuilder ermöglicht eine schnelle Konfiguration durch Check-Boxen, Drop-Down-Felder und Textfelder. Wie bei der Anschlusskonfiguration generiert jede Peripherie-Einstellung automatisch den entsprechenden Konfigurations-Code und die Peripherie-Konfigurationsfehler werden im Fehlerlisten-Fenster hervorgehoben. Die AppBuilder-Software ermöglicht die grafische Konfiguration der AHB- (Advanced High-Speed Bus) und APB-Taktquellen (Advanced Peripheral Bus). Bild 4 zeigt das Taktsteuerungskonfigurationsfenster des AppBuilders. Somit erübrigt sich  die Entwicklung von Konfigurations-Code. Der Entwickler kann die gesamte Startup-Konfiguration innerhalb des Tools festlegen.

Zu diesem Zeitpunkt werden innerhalb des Softwaretools die Anschlüsse, Peripherie und Taktquellen konfiguriert. Der Entwickler kann mit dem Schreiben der Firmware und der Applikationsimplementierung fortfahren. Ein Software-Konfigurationstool sollte zumindest die generierten Dateien ausgeben, die anschließend in ein bestehendes Projekt importiert oder dort hinzugefügt werden können. Mit dem AppBuilder-Tool lässt sich die Systemkonfiguration auch in ein neues Projekt exportieren, das sich nach dem Export der Quelle auf ein Projekt automatisch öffnet. Ist das neue Projekt innerhalb einer integrierten Entwicklungsumgebung (IDE) geöffnet, kann der Entwickler beginnen, die Firmware hinzuzufügen und die Applikation zu testen. Das AppBuilder-Tool ermöglicht den Entwicklern, von Grund auf zu beginnen und mit einem neuen Projekt abzuschließen, bei dem der Code automatisch generiert wurde, und der dann die MCU für den Einsatz in einer IDE und zur weiteren Entwicklungsarbeit konfiguriert.

Schnelle und einfache Konfiguration

Bei der Beurteilung einer MCU-Plattform für ein neues Embedded-Design sollten Entwickler eine Lösung wählen, die GUI-basierte Softwaretools enthält. Damit lässt sich der Prototyping- und Konfigurationsprozess straffen und vereinfachen. GUI-basierte Software-Tools der nächsten Generation, wie Silicon Labs‘ AppBuilder, helfen bei der schnellen und einfachen Konfiguration der Anschlüsse und Peripherie einer 32-Bit-MCU, was die Markteinführung des Endprodukts beschleunigt. Hat der Entwickler mögliche MCUs gefunden, die den Spezifikationen der Anwendung entsprechen, kann er GUI-basierte Tools zur Bestimmung gültiger Pinout-Optionen nutzen. Finden sich mehr als eine gültige MCU-Option, lassen sich die Pinouts mehrerer Kandidaten an den Hardwareentwickler weiterleiten, der dann die Anschlussbelegung auswählt, die zum einfachsten PCB-Layout führt. Um die Designkomplexität weiter zu verringern, lassen sich über die grafische Benutzerschnittstelle Peripherie, Takte und Anschlüsse konfigurieren.