Hallo Zusammen, im Rahmen der anstehenden Masterarbeit würde ich mich gerne zuvor etwas in die Grundzüge des STM32F7 einarbeiten. Keil ist bereits vorhanden. In den letzten Jahren habe ich hauptsächlich (je nach Anwendungsfall) Querbeet die ATMega Reihe durchprogrammiert. Programmiersprache ist dabei C (Assembler zu lange her) und Hilfestellung war das hiesige Forum bzw. die wirklich hilfreichen Datenblättern. Tiefer gehende Anwendungsgebiete waren während dem Bachelor-Studium neben diversen Hardware-Entwicklungen die Kommutierung/Regelung von BLDC-Motoren, CAN, BLE sowie etwas Display-Programmierung. Also wirklich nichts wildes. Nun würde ich gerne etwas tiefer in die oben genannten Gebiete einsteigen (inkl. Ethernet Anbindung, DMA, USB) und suche ein gut strukturiertes Buch. Ein genereller Einstieg in die STM32 Welt wäre dabei ganz nett, aber auch nicht unbedingt notwendig. An Büchern habe ich auf Amazon bereits folgende gefunden: - https://www.amazon.de/ARM-Mikrocontroller-Einsteiger-Projekte-Bert-van-Dam/dp/3895762628/ref=sr_1_1?s=books&ie=UTF8&qid=1495381351&sr=1-1&keywords=stm32 - https://www.amazon.de/ARM-Mikrocontroller-30-Projekte-f%C3%BCr-Fortgeschrittene/dp/3895762717/ref=pd_bxgy_14_img_2?_encoding=UTF8&psc=1&refRID=FPP5P8S83QN6A1V72646 Vielversprechender vielleicht eher (obschon scheinbar nur auf CMSIS-Libary eingehend): - https://www.amazon.de/Designers-Guide-Cortex-M-Processor-Family-ebook/dp/B01GUEKZP4/ref=sr_1_3?s=books&ie=UTF8&qid=1495381551&sr=8-3&keywords=cortex+m7 Allerdings dachte ich eher an ein Cortex-M7 spezifiziertes Buch mit min. 800 Seiten, indem gründlich Step by Step alle Register/Möglichkeiten in Assembler/C erarbeitet werden, bestenfalls mit Übungsaufgaben und nicht oberflächig, sondern etwas, was sich mit der Materie richtig auseinander setzt. Oder um es zu vergleichen: Quasi ein Tietze u. Schenk für STM32 mit der Ausführlichkeit eines Philippows, darf dann auch gerne einiges mehr kosten. Ein Buch zum Selbststudium, ein Nachschlagewerk sowie Personal-Coach. Davon träume ich schon sehr lange ehrlich gesagt. Also falls irgend jemand das hier liest und aus erster oder zweiter Hand einen Ratschlag für einen treuen Begleiter hat (mit dem ich ein knappes Jahr jeden Tag den ganzen Tag programmieren werde), wäre ich sehr dankbar. Viele Grüße und einen guten Start in die Woche, ein Interessierter (E-Techniker)
Worüber geht es denn in der Masterarbeit? Ist davon auszugehen, dass die Grenzen des Mikrocontrollers limitieren, oder ist da Luft? Je nachdem lohnt es sich meiner Meinung nach nicht alle Register eines Mikrocontrollers zu lernen. Man sollte wissen welche es gibt, um schnell nachschauen zu können. Interessiert mich der ADC nicht, brauch ich mich nicht intensiv damit beschäftigen, es is natürlich von Vorteil zu wissen dass es einen ADC gibt. Mit den cube libraries kann man schon einiges anfangen.
Warum brauchst du dazu ein Buch? Arbeite eine Hand voll Tutorials durch um die Basics zu bekommen, dann lese das Reference Manual (bzw. nur die relevanten Kapitel) durch, wo ja alle Register im Detail beschrieben sind. Die Kapitel zu RCC, PWR, GPIO und Interrupts sollte man aber auf jeden Fall lesen. Lies außerdem die Kapitel zu Interrupts und NVIC im ARMv7M Architecture Reference Manual, überfliege das Instruction Encoding, und sonst alles was relevant erscheint. Kostet keinen Cent; gib das Geld lieber für vernünftige Debugger (z.B. J-Link) und Eval-Board aus, damit kannst du dann alles direkt ausprobieren.
Ich habe mich so eingearbeitet: Für die Eval-Boards von ST gibt es Beispielcodes für die ganzen Funktionen. Die habe ich mir angeschaut. Dazu einmal das Datenblatt und insbesondere das Reference Manual quer gelesen (das RM hat >1600 Seiten) und dann nur die konkret benötigten Bereiche im Detail durchgelesen. Außerdem gibts noch die ganzen Appnotes und so, in denen auch oft wichtige Details drin stehen. Außerdem gibt's noch die Doku von ARM, in die man leider auch manchmal reinschauen muss. Bücher habe ich dazu keines gelesen, da sich selbst die M4 und die M7 in vielen Details unterscheiden.
Hallo Gerald M, tut mir leid, das hatte ich ganz vergessen: es handelt sich um ein künstliches neuronales Netz (ANN) auf Basis einer modellbasierten, (nichtlinearen) feldorientierten Vektorregelung mit reduziertem Beobachter höherer Ordnung. Das genaue Thema steht selbstverständlich noch nicht fest aber es ist davon auszugehen, dass trotz benötigter Spektralanalyse (was die Rechenleistung angeht) noch etwas Luft nach oben sein dürfte. Sorgen mache ich mir eher um die Leiterbahnführung des EVAL-Boards, da eine hinreichend genaue (und auch schnelle) ADC-Erfassung Grundlage der Regelung bildet. Soweit ich das richtig verstanden habe, sind viele DSP-Funktionalitäten hardwareseitig implementiert, sodass die Vorfiltermatrix und andere Filtermethoden parallel zum eigentlichen Code laufen können? Als Board besitze ich das STM32756G-EVAL sowie STM32F7-Discovery und der finanzielle Projektrahmen beläuft sich auf ca. 10.000€. Hallo Dr. Sommer, vielen Dank für die wertvollen Tipps. Genau aus diesem Grund (Empfehlungen von einem Praktiker) würde ich mir ein Buch wünschen, sodass man im Vorfeld Prioritäten setzen kann, was generell ein must-have oder vielleicht auch nur nice-to-have ist, denn bevor man die Arbeit beginnt, sollte das eigene Werkzeug doch beherrscht werden. Darüber hinaus sollte doch der Weg das Ziel sein, die Einarbeitung ist also für die Masterarbeit zwar eine hinreichende, für das spätere Berufsleben jedoch eine notwendige Bedingung. Hallo Markus K, das klingt natürlich vielversprechend, arbeitest du da mit der HAL-Library und Keil? Gegen das Reference Manual kann man natürlich nichts sagen, das ist schon ziemlich gut aufbereitet und auch ausführlich, doch ich dachte auch in der Anwendung gibt es sicherlich Tricks und Kniffe, gerade was beispielsweise das Interrupt-Handling mit dynamischer Priorisierung oder auch deterministischer Laufzeitberechnung angeht. Inwieweit sollte da mit dem Cache gearbeitet werden? Viele Grüße und Danke nochmal, ein Interessierter
ein Interessierter schrieb: > Soweit ich das richtig > verstanden habe, sind viele DSP-Funktionalitäten hardwareseitig > implementiert, sodass die Vorfiltermatrix und andere Filtermethoden > parallel zum eigentlichen Code laufen können? Nein. Er hat ein paar DSP-Features, aber ein richtiger DSP kann schon mehr. Er hat auch kein NEON (gibt's bei den größeren ARMs). Das läuft auch nicht gleichzeitig (abgesehen davon, dass es eine superskalare CPU ist). Schau einfach mal hier, was er so an Befehlen hat: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0489c/CHDIFEEC.html ein Interessierter schrieb: > arbeitest du da mit der HAL-Library und Keil? Ich benutze die HAL-Lib, aber als Compiler habe ich den IAR. ein Interessierter schrieb: > deterministischer Laufzeitberechnung > angeht. Inwieweit sollte da mit dem Cache gearbeitet werden Für die Daten gibts das Tightly coupled memory. Das macht nur einen Teil des gesamten RAMs aus, aber das wird nicht gecached. Für den Code gibt auch einen Cache, aber auf den wird man vermutlich aus Performancegründen nicht verzichten können.
Da die ARM-Peripherie zum groessten Teil herstellerspezifisch ist, kann es ein Buch das generell den Umgang damit beschreibt, nicht geben. Fuer den STM32 wuerde ich da am ehesten: "Mastering STM32" von Carmine Noviello als ergaenzende Literatur sehen. Der Autor benutzt im wesentlichen den HAL-Obfuscation-Layer zum Zugriff auf die Peripherie. Ob das fuer Dich ein Vorteil ist, musst Du selbst herausfinden.
Hallo Zusammen, vielen Dank nochmals für eure Hilfe. Schade das man sich wieder alles im Internet zusammen suchen muss aber gut, dann weiß ich Bescheid. Viele Grüße, Ein Interessierter
ein Interessierter schrieb: > feldorientierten Vektorregelung > STM32F7 Dafür ist ein M7 nicht gedacht, obwohl es natürlich irgendie gehen könnte. Aber ARM selbst empfiehlt Cortex-R z.B. http://www.ti.com/tool/drv8301-rm46-kit > künstliches neuronales Netz Sowas wird überschätzt :-)
Guten Morgen zusammen :-), schön das ich die Elektor-Bücher bereits aussortieren kann. Mit dem drv8301 lief bereits die Stromregelung, nur würde ich aus eigener Erfahrung niemand TI empfehlen. CCS war sehr gewöhnungsbedürftig, das Interrupthandling bzw Timergeschichten waren ziemlich umständlich bis hin zu (für unsere Zwecke) nicht lösbar realisiert und das generelle Arbeiten damit ist nicht so übersichtlich gehalten wie bei ST (Reference Manual usw.), ist aber eine andere Geschichte. FOC gabs ja nun schon in allerlei Varianten auf dem M4, M7 etc. Warum wäre das mit Blick auf die Regelung eine suboptimale Lösung (rein interessenhalber) deiner Meinung nach? Das neuronale Netze überbewertet werden stimmt in jedem Fall natürlich aber manchmal lässt es sich leider nicht vermeiden. Über das Forum bin ich bereits auf http://mikrocontroller.bplaced.net/wordpress/?page_id=2736 gestoßen, was schonmal eine große Hilfe war aber der Tiefgang und die Funktionsvielfalt fehlen dann doch ein bisschen. Hat jemand schon Erfahrungen mit diesem Buch gemacht? Vielleicht lässt sich da einiges adaptieren. https://www.amazon.de/Definitive-Guide-Cortex-M3-Cortex-M4-Processors/dp/0124080820/ref=pd_lpo_vtph_107_tr_img_3?_encoding=UTF8&psc=1&refRID=MFAJQ2W4QY6566SS56N1 Vielen Dank für die rege Beteiligung. Bin sehr gespannt auf weitere Meinungen (gerade auch zu oben genanntem Buch). Ein Interessierter
ein Interessierter schrieb: > Hat jemand schon Erfahrungen mit diesem Buch gemacht? Vielleicht lässt > sich da einiges adaptieren. > > https://www.amazon.de/Definitive-Guide-Cortex-M3-Cortex-M4-Processors/dp/0124080820/ref=pd_lpo_vtph_107_tr_img_3?_encoding=UTF8&psc=1&refRID=MFAJQ2W4QY6566SS56N1 > > Vielen Dank für die rege Beteiligung. Bin sehr gespannt auf weitere > Meinungen (gerade auch zu oben genanntem Buch). > > Ein Interessierter Beim Cortex musst Du sehr genau unterscheiden zwischen Kern und POD. Der Yiu ist die "Cortex Bibel," sehr viel genauere Informationen als dort findest Du nur noch bei ARM selber. Wenn Du das Buch durch hast, weisst Du alles 99% von dem, was Du über den Prozessor*kern* wissen musst. Da aber ST nur ein Adapteur von Cortex Kernen ist, wirst Du über konkrete Peripherie von ST (oder Anderen Cortex PODs) Prozessoren nur wenig finden, genauso zum Thema Ökosysteme, Abstraktionen, IDEs etc. Dafür musst Du auf Andere Quellen ausweichen. Mein Buch wird für Dich vermutlich eher uninteressant sein (Du könntest Kapitel 2 und 10 getrennt runterladen, dort setht der Cortex im Fokus).
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.