Llevo un tiempo trabajando con las librerías HAL (generando ficheros unas veces con Cube y otras que no pero usando HAL_xx gualmente). Me he acostumbrado a trabajar con esta capa de abstracción que tras mi experiencia me han dado una seguridad y rapidez a la hora de desarrollar proyectos que gestionan periféricos de comunicaciones. Me han ahorrado mucho trabajo y presentas muchas opciones, claro es que no usas todas y es el precio a pagar; volumen inútil. Pero si te cabe en el micro diría que se acabó el problema. El tema es que no he trabajado nunca con esas otras librerías en las que sí ya los drivers los tienes que elaborar mucho más. No existe esa otra capa de abstracción que aportan las HAL, las cuales además te dotan de capacidad para portar tus módulos de un mcu ST a otro con relativa facilidad. Así que de momento para mí son muchas ventajas. Claro no puedo comparar las virtudes de trabajar con las SPL, tipo: stm32f10x standard library ó stm32L4x standard library etc.. Por eso quisiera lanzar este hilo para debatir ventajas y desventajas, compararlas a todos los niveles posibles con gente que se haya peleado con estas librerías o haya tenido experiencia más dilatada que servidora.
Hay desarrolladores que prefieren montarse sus propios drivers, customizarse un paso más los módulos de nivel driver y esa versatilidad parece desaparecer usando las HALs. Siendo reacios a trabajar por eso con las HAL. A parte de este hecho hay algo más que os eche para atrás? En qué situaciones puede ser más interesante usarlas las standard frente a las HAL. Aunque yo tengo la percepción, no sé si errónea, de que usando HAL el código es más portable (hacia otros stm32) que con las librerías standard.
Qué opináis? Beneficios técnicos? Diferencias; qué aporta el nivel de abstracción de la una y qué aporta el de la otra? Capacidades y potencia de la una vs la otra? Etc.. todo lo que podáis opinar y sugerir al respecto seguro que puede ser útil.
Saludos cordiales.