Was ist die Beziehung zwischen ARM-Bibliotheken?

Welche Beziehung besteht zwischen den von ARM.com veröffentlichten CMSIS- Bibliotheken, den vom Hersteller bereitgestellten Bibliotheken und den GCC-ARM-Bibliotheken ?

Was ist der genaue Zweck von jedem? Welche davon sollte ich verwenden?

Antworten (1)

Welche Beziehung besteht zwischen den von ARM.com veröffentlichten CMSIS-Bibliotheken, den vom Hersteller bereitgestellten Bibliotheken und den GCC-ARM-Bibliotheken?

Nichts, es gibt keine Beziehung zwischen CMSIS und Bibliotheken, die von ST- und GCC-ARM-Bibliotheken bereitgestellt werden.

Was ist der genaue Zweck von jedem? Welche davon sollte ich verwenden?

Die ST-Standardperipheriebibliothek (HAL) dient zur Verwendung der Peripherie von STM32-Mikrocontrollern (Cortex-M-MCU-Serie). dann verwenden Sie es einfach für die Mikrocontroller von ST.

CMSIS ist für alle Cortex-M-Serien. dann können Sie es für alle Cortex-M-Mikrocontroller aller Hersteller verwenden.

GCC ARM -Bibliotheken Ich habe es noch nie benutzt, aber es hört sich so an, als wäre es keine Bibliothek. Ich denke, Sie müssen CMSIS oder ST HAL verwenden.

Daher ist die Priorität für die Verwendung:

CMSIS > ST-Standardperipheriebibliothek (HAL)

Bearbeiten: Bitte beachten Sie, dass Sie, wie Chris betonte, nicht verpflichtet sind, eines davon zu verwenden, aber es kann Ihnen helfen, Lernregister und die Verwendung der Register (oder Peripheriegeräte) loszuwerden. Sie können sie auch verwenden und nachdem Sie die Konfigurationen der Register in Debug (oder der Bibliothek) gesehen haben, können Sie dies manuell tun, um die Geschwindigkeit Ihres Programms zu erhöhen und die Größe zu verringern (Optimierung).

Ich hoffe, das wird Ihnen helfen

Kann ich also beispielsweise ADC von STM32 mit CMSIS- oder GCC-Bibliotheken verwenden, ohne ST-Bibliotheken zu verwenden? Ich dachte, sie sollten zusammen verwendet werden.
@baifrouj Natürlich!
@baifrouj Ich habe die Antwort geändert.
Sie sind nicht verpflichtet, diese zu verwenden - obwohl viele Projekte dies tun, zeigt das Programmierhandbuch, wie Sie die Hardware direkt konfigurieren.
@ChrisStratton Ja, aber es macht Ihre Arbeit einfach und leicht, wenn Sie sie verwenden, und es gibt auch viel mehr Beispielcodes, um sie zu verwenden. Wie auch immer, ich habe die Antwort bearbeitet und Ihren Punkt hinzugefügt. Danke Chris