Ich schreibe jetzt seit mehreren Jahren Code für AVRs und es scheint, als würden meine Bedürfnisse nach einem leistungsfähigeren Prozessor verlangen. Da Atmel Studio die IDE ist, die ich bereits verwende, und mein Debugger auch mit ARM-MCUs funktioniert, schien es ein Kinderspiel, mit einem Atmel-Gerät zu arbeiten. Die Probleme begannen, als ich versuchte, tatsächlich zu starten und Code zu schreiben. AVRs haben eine endlose Menge an Tutorials in Foren wie avrfreaks.net, aber die Atmel ARM MCUs nicht. Um die Sache noch schlimmer zu machen, bietet Atmel fast ausschließlich Code an, der mit seinem ASF-Software-Framework geschrieben wurde, was bedeutet, dass ich, wenn ich es verwenden möchte, einen ziemlich hohen Ansatz verfolgen muss, den ich beim Codieren nicht mag, so wie ich es bin nicht ganz bewusst, was unter der Haube vor sich geht.
Meine Frage ist: Wenn jemand einen ähnlichen Weg gegangen ist, was war der richtige Ort, um anzufangen und zu lernen, wie man diese M3-MCUs ohne ASF verwendet?
Niemand zwingt Sie, eine Peripheriebibliothek (ASF) zu verwenden, Sie können sehr gut direkt codieren, indem Sie Bits umschalten, ziemlich ähnlich wie bei AVRs. Die ASF enthält wahrscheinlich eine Datei, die alle Registerdefinitionen enthält, so dass Sie manuell codieren können, wenn Sie möchten.
Ich habe auch festgestellt, dass die Peripheriebibliothek (allerdings für STM32) zu Beginn nicht einfach zu verwenden war, aber sobald Sie verstehen, wie sie funktioniert, müssen Sie sich nicht mehr um die Eigenheiten Ihres Geräts auf niedriger Ebene kümmern, sodass Ihr Code mehr ist portabel und schneller zu entwickeln. Ich muss zugeben, dass ich es bevorzuge, direkt mit Registern zu codieren, aber es gibt einen Grund, warum ARM eine Art Standard (CMSIS) für Peripheriebibliotheken bereitstellt, und zwar aus Gründen der Benutzerfreundlichkeit: Wenn Sie einen ARM kennen, kennen Sie die meisten von ihnen. weil die periphere Bibliothek die meisten Unterschiede hinter eine Abstraktionsschicht hüllt. Sie sind besser dran, eine nicht so steile Lernkurve mit der für Ihren Chip bereitgestellten Peripheriebibliothek zu machen (es gibt unzählige Beispiele im Internet, die Peripheriebibliotheken verwenden), als die Registerkonfiguration zu verwenden, da Sie am Ende nur sehr wenige Beispiele auf der Internet.
Beginnen Sie mit einem kleinen Projekt und versuchen Sie dann, Peripheriegeräte mithilfe der Bibliothek zu verwenden. Wenn Sie es wirklich nicht verwenden möchten, werden Sie wahrscheinlich auf sich allein gestellt sein, aber Sie können trotzdem in der ASF nachsehen, wie sie Dinge implementiert haben, und das Rad neu erfinden, wenn Sie möchten. Ihr Anruf.
bitsmack
m.Alin
Scott Seidmann
Edwin Fairchild