Wpis z mikrobloga

Cześć,
Zastanawiam się jakie powinno się stosować biblioteki przy nowych projektach dla stm32f103?
Obecnie w januszexie używamy std periph ale wygląda to tak że kiedyś pewien magik ogarnął cześć kodu typu freeRTOS i do starych aplikacji jest to wykorzystywane.
Nowy projekt to okazja do posprzątania podwórka więc zastanawiam się co byłoby najlepszym rozwiązaniem. Czy HAL produkcyjnie się nadaje do tego?
#embedded
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PrawieWolny: HAL to następca StdPeriphLib, więc naturalnym byłoby przejście na niego. Myślę, że można go wykorzystać produkcyjnie, ale trzeba jednak zaglądać do jego źródeł i wiedzieć co on dokładnie robi, żeby nie było niespodzianek. Warto też przyjrzeć się bibliotekom LowLevel, które są w HAL-u. HAL (i wcześniej SPL) słynie z wypełniania wielkich struktur a tymczasem nieraz trzeba zmienić jeden bit w rejestrze i pisanie w tym celu wielu linijek jest
  • Odpowiedz
@PrawieWolny: Miałem kiedyś podobną rozterkę. Sprawdziłem sobie różnicę przepustowości USB MSC między std a hal i wyszła mi 2x różnica na korzyść starego rozwiązania, więc dałem sobie spokój z przesiadką :-)
Teraz przy problemach z zakupami części chyba jednak szukałbym bibliotek niezależnych od konkretnego producenta µC, a najlepiej całego OSa z wbudowanych rtosem, stosem tcp i kupą bibliotek komunikacyjnych (mbed, mongoos, itp.)
  • Odpowiedz
STM32CubeMX i tam masz opcję między HAL i LL dla poszczególnych peryferiów. HAL jest ogólnie wolniejszy, ale w zależności od potrzeb, może wystarczać. Poeksperymentuj. Przy LL wiele konfiguracji trzeba zrobić ręcznie, ale wygrywa prędkość. Np. UART z HALem jest wolny, ale z LL jest w pompkę.
  • Odpowiedz