Einfache Konfiguration und Programmierung einer Smart-MCU

Autor / Redakteur: Gregor Knappik * / Sebastian Gerstl

Tests und Integration von Software-IPs aus Händen von Drittanbietern wird immer komplexer und zeitaufwändiger. Wie können Anforderungen an Mikrocontroller schon frühzeitig genauer spezifiziert werden?

Anbieter zum Thema

Bild 1: Früher waren primitive Services und HAL überschaubar, heute steigt die Komplexität durch die Verwendung neuer Stacks und die zu unterstützenden Hardwarekomponenten auf dem PCB
Bild 1: Früher waren primitive Services und HAL überschaubar, heute steigt die Komplexität durch die Verwendung neuer Stacks und die zu unterstützenden Hardwarekomponenten auf dem PCB
(Bild: Atmel)

Die Anforderungen an zu entwickelnde Produkte werden, genau wie deren Komplexität, immer größer. Das führt letztendlich auch zu einem Anstieg der zu unterstützenden Software-IPs. Entwickler müssen immer häufiger auf fertige IPs zurückgreifen, die auf der Stacks- und Komponentenebene von Drittanbietern zur Verfügung gestellt werden. Neben der Testphase nimmt die Integration von Software im Embeddedbereich immer mehr Zeit in Anspruch und ist – manuell durchgeführt – extrem fehleranfällig. Es stehen viele Fragen im Raum: Wie können die Anforderungen an die Smart MCU schon frühzeitig genauer spezifiziert werden? Wie kann die Auswahl eingeschränkt und die Konfiguration der passenden MCU vorgenommen werden?

Bildergalerie

Als Beispiel soll ein komplexer IoT-Edge Node mit Unterstützung diverser Stacks, RTOS, Cloud Services, Low-Power-Eigenschaften sowie verschiedenen Kommunikationstechnologien wie 6LowPAN, Wi-Fi und BLE entwickelt werden. Mit steigender Zahl an Komponenten müssen häufiger „Cross-Checks“ durchgeführt werden: Ist der Cloud Service Agent mit der vorher ausgewählten MCU kompatibel, und wenn ja – wird auch die gewünschte Kommunikationstechnologie unterstützt? Reicht der Speicher aus oder muss eine leistungsstärkere Mikrocontroller-Familie in Betracht gezogen werden? Wie wirkt sich eine solche Entscheidung auf den Stromverbrauch aus? Wie können diese Parameter abgeschätzt werden?

Mit dem kostenfreien Atmel Studio, Version 6.x hat Atmel die Welten der AVR- und ARM-Mikrocontroller vereint. Durch das Atmel Software Framework (ASF) und die Atmel Gallery wurde eine Plattform geschaffen, die sich nicht nur mit der Peripherie der entsprechenden MCU-Familie auseinandersetzt, sondern auch eine Treiberstruktur schafft, welche Services wie FreeRTOS, Stacks wie USB Device oder eine Komponente um den Mikrocontroller herum unterstützt. Mit dem ASF Wizard ist es zudem möglich, verschiedene Komponenten mit wenigen Mausklicks in ein bestehendes Projekt zu integrieren. Die genaue Verwendung der Komponente wird dem Entwickler durch entsprechende Quick-Start-Guides im ASF-Treiber dokumentiert.

Früher ergab sich folgende Situation: Es gab verschiedene Softwarequellen wie die Atmel-Webseite, Foren, Blogs, Tutorials und Webseiten von Drittanbietern (z.B. FreeRTOS), auf denen Treiber, Stacks und Services zur Verfügung gestellt wurden. Der ASF Wizard hat die nun Software-Integration automatisiert, um die Entwicklung von Prototypen, die auf einem Atmel-Mikrocontroller basieren, zu beschleunigen. Der Entwickler kann die benötigten Komponenten aus einer Liste aller verfügbaren Teile auswählen; der ASF Wizard übernimmt deren Integration in ein neues Atmel Studio-Projekt.

Doch eine Plattform zur Clock-Konfiguration oder FreeRTOS-Integration anzubieten reicht heutzutage nicht mehr. Um bei der Bewältigung der anfangs erwähnten Herausforderungen zu helfen, unterstützt Atmel Entwickler mit einem dreiteiligen Tools-Paket, bestehend aus Atmel Start, Atmel Studio 7 und einem optimierten Atmel Software Framework-Konzept. Welche Neuerungen dabei im Detail eingeführt wurden, soll im Folgenden erläutert werden.

(ID:43620146)