STM32FXX Kütüphanelerinde Son Gelişmeler ve Kütüphane Seçimi

Başlatan osman_, 25 Haziran 2019, 20:54:15

osman_

Her yeni başlanılan konuda olduğu gibi burada da benim için aynı sorunsal ortaya çıkıyor. Hangi yoldan gidilmeli?

ARM ve Stm32 serisine yeni başladığım için kafam karışık sizlerden bilgi ve tavsiye almak istedim.

STM32Cube LL, STM32Cube HAL, SPL vs bir çok kütüphane var ortalıkta.

SPL gelecek serilerde desteklenecek mi?
STM32Cube LL, SPL gibi etkili ve kullanışlı mı?
STM32Cube HAL profesyonel iş yapanlar tarafından tercih ediliyor mu?
Register seviyesinde programlama yapmak proje kapsamında ölçeklenebilir bir şey mi? Yoksa olmayan kütüphaneleri oluşturmak vs zaman mı kaybettirir?

Siz ne kullanıyorsunuz? Uzun vadeli bir yatırım olarak ne önerirsiniz?

yusuffyk

http://yusuffyk.com  ||  http://www.youtube.com/yusuffyk

baran123

HAL hiç beğenmediğim hantal bir kütüphane.
Sanıldığını aksine adam gibi bir donanım soyutlama işi yapmıyor.
ST kendini parçaladı bu kütüphaneyi kullandırmak için.
Ben yine Register seviyesine inmek zorunda kalıyorsan ne gerek var bunlara ?
LL hiç kullanmadım.
SPL uzun zamandır kullandığım, tecrübe edilmiş ve güvenirliğini kanıtlamış bir yapın.
Oldukça basit ve anlaşılması kolay.

ST'nin yazılım desteği politikasına bakacak olursak SPL'yi yiyip bitirecek.(HAL uğruna)

Tabi anladığım kadarıyla bu HAL USB/Ethernet gibi işler için bir nebze daha rahatlatıcı.

Her ne kadar SPL için destek kesilecek olsa da bu kütüphane zaten hali hazırda bulunan MCU'lar için gayet iyi çalışıyor. Bu yüzden SPL çok uzun bir süre şuan ki MCU'lar için kullanılabilecek.

Fakat bu adamların sağı solu belli olmaz :D
Yarın kalkıp amiral gemisi seviyesinde MCU yaptık 1$ ama SPL desteği yok HAL yazacaksınız derse orasını bilmem  :D

Son olarak Register veya ASM seviyesi taşınabilirlik açısından pek avantajlı değil.

Cemre.

Vaktim bolsa, kaynaklarım kısıtlıysa LL.
Vaktim azsa, kaynaklarım bolsa HAL.

LL ile varolan örnekleri ve özellikle referans manueli kullanarak rahatça istediğinizi yapabiliyorsunuz. Ancak HAL kadar taşınabilir değil.

LL ve HAL şuan güncel kütüphanelerdir.

OptimusPrime

https://www.st.com/content/ccc/resource/technical/document/user_manual/2f/71/ba/b8/75/54/47/cf/DM00105879.pdf/files/DM00105879.pdf/jcr:content/translations/en.DM00105879.pdf

ilk 2 sayfa az cok cevap veriyor soruna.

Ister yeni basla, ister yillarini ver  :D  altin kurallar
- uretici neyi destekliyorsa o yoldan devam et
- donanim seviyesine inmeden mumkun oldugu kadar cabuk bir sekilde programini donanimdan soyutla, gelistirmeye devam et

 ;)
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

MC_Skywalker

@OptimusPrime +1
Slikon üreticileri kendi ürünlerini kolay satmak için tüm tooları verip kendi ürünlerine bağlıyor. Hızlı tasarla, Hızlı üret, Hızlı sat, herşeyi benden al matığı güdülmekte.


OptimusPrime

https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

kantirici

ST, STL(Standart Library) desteğini keseli çok oldu. bug fix ve yeni eklenen mcu'lar için kütüphaneler güncellenmiyor. Fakat standart işler için hala kullanılabilir.

HAL lib. kaynakları çok kullanıyor ve bazen yapmak istediğiniz şeyler için sizi bir kalıba sokmaya çalışıyor. LL lib. ise standart lib. kadar kaynak kullanıyor fakat onun gibi rahat kullanılamıyor. Datasheet v.s karıştırmak gerektiriyor.

USB, ethernet gibi ST tarafından direk desteklenen yazılım modülleri içinse LL desteği yok. Bu durumda HAL lib. mecburen kullanılıyor.

Özetle; USB, ethernet v.b donanımlar için HAL, bunlar gerekli değilse LL lib. kullanıyorum.

magnetron

ben de bişey sorayım

bu HAL de MODBUS-TCP librarysi var mı ?