Forum: Mikrocontroller und Digitale Elektronik STM32 low layer (LL) APIs


von Hans Wurst (Gast)


Lesenswert?

Hallo,

ST bietet neben ihrer eigenen HAL noch die low layer (LL) APIs an. Gibt 
es hier User, die die LL APIs gegenüber einem direkten Zugriff mit Hilfe 
der CMSIS bevorzugen? Aus welchen Gründen wird die jeweilige Wahl 
bevorzugt?

von Markus M. (adrock)


Lesenswert?

Sieht mir auf den ersten Blick ähnlich wie die SPL aus.

Im Unterschied zum direkten Registerzugriff, finden wohl minimale Checks 
der Übergabeparameter statt:

"Like HAL drivers, LL initialization functions implement run-time 
failure detection by checking the input values of all LL driver 
functions."

(gilt allerdings nicht für die Inline-Funktionen)

Außerdem sieht der Regsiterzugriff durch die Funktionen etwas schicker 
aus :-)

PS: Aber programmiert habe ich damit bisher noch nicht.

: Bearbeitet durch User
von Adib (Gast)


Lesenswert?

Hallo Hans,

Ich benutze die LL bei GPIO, Weil Es da Keine CMSIS Funktionen 
existieren.

Die HAL liefert auch Kein ReadPort ...
Die meisten HAL Funktionen haben auch eine Menge boilerplate Code.
Wenn ich zB mehrfach Im Programm spi write mache, muss ich ja nicht 
jedesmal alles durchtesten. Dafür gibt Es noch keine LL . .....


Hth Adib.

von Guido Körber (Gast)


Lesenswert?

Na ja, die Libraries von ST lassen insgesamt echt zu wünschen übrig.

Ich gucke mir meistens an wie sie was gelöst haben und implementiere es 
dann selber. Vorzugsweise als Mix aus C und Assembler.

von StinkyWinky (Gast)


Lesenswert?

Ich mache alles mit LL API weil sie mich in der Handhabung an die bisher 
verwendete API (Stellarisware) erinnert. Und, mit dem CubeMX Code 
Generator wollte ich mich bis jetzt nicht anfreunden.

Allerdings sind viele Beispiele von STM für die LL API nicht verfügbar. 
Sie wird wohl über kurz oder lang sterben.

von Hans Wurst (Gast)


Lesenswert?

StinkyWinky schrieb:
> Allerdings sind viele Beispiele von STM für die LL API nicht verfügbar.
> Sie wird wohl über kurz oder lang sterben.

ST bietet für jedes Peripheral, außer komplexe wie USB, mindestens ein 
LL API Beispiel.

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
Noch kein Account? Hier anmelden.