Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
programmierung_anderer_controller [2013/01/22 14:40] huwaldtprogrammierung_anderer_controller [2019/02/04 14:10] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Programmierung anderer Controller ====== ====== Programmierung anderer Controller ======
-Je nach Version und Ausgabe können Anwendungen für diverse Zielplattformen entwickelt werden. Die SiSy-Ausgabe Mikrocontroller++ bietet Ihnen als Zielplattformen die 8 Bit AVR-Familie von Atmel, die STM32 Cortex M0, M3 und M4  sowie die Möglichkeit PC Anwendungen zu programmieren die mit Ihrem Mikrocontroller kommunizieren können. Dieser Abschnitt des Tutorials beschäftigt sich mit der Programmierung weiterer STM32 Zielplattformen. Es wird die Vorgehensweise für folgende Evaluierungsboards vorgestellt:+Je nach Version und Ausgabe können Anwendungen für verschiedene Zielplattformen entwickelt werden. Die SiSy-Ausgabe Mikrocontroller++ bietet Ihnen als Target die 8 Bit AVR-Familie von Atmel, die STM32 Cortex M0, M3 und M4  sowie die MöglichkeitPC-Anwendungen zu programmierendie mit Ihrem Mikrocontroller kommunizieren können. Dieser Abschnitt des Tutorials beschäftigt sich mit der Programmierung weiterer STM32 Zielplattformen. Es wird die Vorgehensweise für folgende Evaluierungsboards vorgestellt:
  
   * [[http://shop.myavr.de/ARM-Produktlinie/STM32F0-Discovery.htm?sp=article.sp.php&artID=200080|STM32F0-Discovery]]   * [[http://shop.myavr.de/ARM-Produktlinie/STM32F0-Discovery.htm?sp=article.sp.php&artID=200080|STM32F0-Discovery]]
Zeile 6: Zeile 6:
   * [[http://shop.myavr.de/ARM-Produktlinie/STM32F4-Discovery.htm?sp=article.sp.php&artID=200072|STM32F4-Discovery]]   * [[http://shop.myavr.de/ARM-Produktlinie/STM32F4-Discovery.htm?sp=article.sp.php&artID=200072|STM32F4-Discovery]]
  
-Eine Sammlung einfacher Beispiele für den Einstieg in die Programmierung dieser Zielplattformen steht ihnen als SiSy-Projektarchiv hier zum {{:einfache_beispiele_stm32-discovery-f0_f3_f4.zip|Download }} zur Verfügung.+Eine Sammlung einfacher Beispiele für den Einstieg in die Programmierung dieser Zielplattformen steht ihnen im [[http://www.sisy.de/index.php?id=6&_cmd=showPage&_para=searchLibList&searchTxtLib=ARM%20Framework%20mit%20Beispielen|SiSy-LibStore]] als hier als SiSy-Projektarchiv zum {{:einfache_beispiele_stm32-discovery-f0_f3_f4.zip|Download }} zur Verfügung.
  
-====== Verschiedene Controller mit dem kleinen Programm ======+====== Verschiedene Controlleranwendungen als kleines Programm ======
 Das Projekt enthält eine Sammlung von Beispielen zur Programmierung ausgewählter Peripheriebausteine der Controllerfamilien STM32F0, F3 und F4. Das Projekt enthält eine Sammlung von Beispielen zur Programmierung ausgewählter Peripheriebausteine der Controllerfamilien STM32F0, F3 und F4.
  
 >{{:simpleprogf0f3f4.jpg?400|}} >{{:simpleprogf0f3f4.jpg?400|}}
  
-Beachten Sie, dass jede Zielplattform spezifische Einstellungen erfordert. Vergleichen sie die die konkreten Einstellungen (Dialog Definieren, Extras ARM) der verschiedenen Beispielprogramme.+Beachten Sie, dass jede Zielplattform spezifische Einstellungen erfordert. Vergleichen sie die konkreten Einstellungen (Dialog Definieren, Extras ARM) der verschiedenen Beispielprogramme.
  
 >{{:sp_extras_f0.jpg?230|}} {{:sp_extras_f3.jpg?230|}} {{:sp_extras_f4.jpg?230|}}  >{{:sp_extras_f0.jpg?230|}} {{:sp_extras_f3.jpg?230|}} {{:sp_extras_f4.jpg?230|}} 
  
-Im Folgenden das Beispiel für ein Grundgerüst (kleines Programm) mit der Zielplattform STM32F0-Discovery. Nach dem Laden der [[grundstruktur|Standardvorlage]] ist darauf zu achten, dass neben der Einstellungen im Definierendialog die korrekte Deklarationsdatei eingebunden wird (//#include "stm32fxxx.h"//).+Im Folgenden das Beispiel für ein Grundgerüst (kleines Programm) mit der Zielplattform STM32F0-Discovery. Nach dem Laden der [[grundstruktur|Standardvorlage]] ist darauf zu achten, dass neben der Einstellung im Definierendialog die korrekte Deklarationsdatei eingebunden wird (//#include "stm32fxxx.h"//).
  
 >>><code c> >>><code c>
Zeile 61: Zeile 61:
 </code> </code>
  
-In den einzelnen Beispielen sind Funktion und Schaltung im Programmkopf beschrieben. Die Struktur und Vorgehensweise bei den verschiedenen Plattformen ist immer gleich. Es unterscheiden sich lediglich die konkreten Pin-Belegungen und Statements aus dem CMSIS und den Devicetreibern der zielplattform. Der folgende Quellcode zeigt ein STM32F3 Beispiel+In den einzelnen Beispielen sind Funktion und Schaltung im Programmkopf beschrieben. Die Struktur und Vorgehensweise bei den verschiedenen Plattformen ist immer gleich. Es unterscheiden sich lediglich die konkreten Pin-Belegungen und Statements aus dem CMSIS und den Devicetreibern der Zielplattform. Der folgende Quellcode zeigt ein STM32F3 Beispiel
  
 >>><code c> >>><code c>
Zeile 135: Zeile 135:
 </code> </code>
  
-====== Übersetzen, Übertragen und Testen ====== +====== Übersetzen, übertragen und testen ====== 
-Die Programme sind getestet und können sofort übersetzen (kompilieren, linken) und in den Programmspeicher des Controllers übertragen werden (brennen). +Die Programme sind getestet und können sofort übersetzt (kompilieren, linken) und in den Programmspeicher des Controllers übertragen werden (brennen). 
  
 >{{:uebersetzen.jpg?350|}} {{:brennen.jpg?350|}} >{{:uebersetzen.jpg?350|}} {{:brennen.jpg?350|}}
  
  
-====== Verschiedene Controller mit dem Klassendiagramm ====== +====== Verschiedene Controlleranwendungen als Klassendiagramm ====== 
-Das Beispielprojekt enthält ebenfalls für die drei genannten Zielplattformen jeweils ein Klassendiagramm. Die drei Klassenmodelle zeigen eine mögliche Vorgehensweise bei der objektorientierten Programmierung von ARM Controllern ohne ein vorgefertigtes Framework sondern auf der Basis des CMSIS und der Treiberbibliotheken. Die Klassenstruktur der drei Beispiele ist jeweils identisch und damit portabel.+Das Beispielprojekt enthält für die drei genannten Zielplattformen jeweils ein Klassendiagramm. Die drei Klassenmodelle zeigen eine mögliche Vorgehensweise bei der objektorientierten Programmierung von ARM Controllern ohne ein vorgefertigtes Frameworksondern auf der Basis des CMSIS und der Treiberbibliotheken. Die Klassenstruktur der drei Beispiele ist jeweils identisch und damit portabel.
  
 >>>{{:kd_f0_f3_f4.jpg?500|}} >>>{{:kd_f0_f3_f4.jpg?500|}}
  
-Die Fachlogik findet sich in der Klasse //Application// und ist wie ersichtlich ebenfalls portabel. In den Klassen //Button// und //LED// sind die plattformspezifischen Statements gekapselt. Diese Klassen abstrahieren die physische Peripherie auf fachlicher Ebene.+Die Fachlogik findet sich in der Klasse //Application// und istwie ersichtlichebenfalls portabel. In den Klassen //Button// und //LED// sind die plattformspezifischen Statements gekapselt. Diese Klassen abstrahieren die physische Peripherie auf fachlicher Ebene.
  
 >>>**Application::main()** >>>**Application::main()**
Zeile 157: Zeile 157:
 </code> </code>
  
->>>{{:seq_main_f0_f3_f4.jpg|}}+>>>{{:seq_main_f0_f3_f4.jpg?400|}}
  
 >>>**Application::run()** >>>**Application::run()**
Zeile 171: Zeile 171:
 </code> </code>
  
->>>{{:seq_run_f0_f3_f4.jpg|}}+>>>{{:seq_run_f0_f3_f4.jpg?400|}}
  
-====== Übersetzen, Übertragen und Testen ======+====== Übersetzen, übertragen und testen ======
 Zu beachten sind wiederum die plattformspezifischen Einstellungen für das gesamte Klassendiagramm unter Extras ARM sowie die Einbindung der korrekten Deklarationsdateien //stm32Fxxx.h// auf den verschienen Optionsseiten. Vergleichen Sie diese zwischen den einzelnen Beispielen. Zu beachten sind wiederum die plattformspezifischen Einstellungen für das gesamte Klassendiagramm unter Extras ARM sowie die Einbindung der korrekten Deklarationsdateien //stm32Fxxx.h// auf den verschienen Optionsseiten. Vergleichen Sie diese zwischen den einzelnen Beispielen.
  
 >{{:klassendiagrammarmextras.jpg?350|}} {{:armextrasf4.jpg?350|}} >{{:klassendiagrammarmextras.jpg?350|}} {{:armextrasf4.jpg?350|}}
  
-Die Programme sind getestet und können sofort übersetzen (kompilieren, linken) und in den Programmspeicher des Controllers übertragen werden (brennen). +Die Programme sind getestet und können sofort übersetzt (kompilieren, linken) und in den Programmspeicher des Controllers übertragen werden (brennen). 
  
 >>>{{:ggerstellenundbrennen.jpg?500|}} >>>{{:ggerstellenundbrennen.jpg?500|}}
Zeile 184: Zeile 184:
 ====== Videozusammenfassung ====== ====== Videozusammenfassung ======
  
->>><flashplayer width="600" height="400" position="0">file=http://youtu.be/???</flashplayer> +>>><html><iframe width="640" height="400" src="https://www.youtube.com/embed/84Y3jYLWYpo" frameborder="0" allowfullscreen></iframe></html>
- +
->>>[[http://youtu.be/???|besser auf youTube]]+
  
 ====== Seminarhinweise ====== ====== Seminarhinweise ======