El IDE y las HAL se estan actualizando todos los meses.
La apuesta es grande, aunque las actualizaciones son más bien para agregar soporte a nuevas placas de desarrollo generalmente.
Yo daría lo que sea por mejor documentacion de las HAL. El CubeMX lo han mejorado muchísimo y es una herramienta que ahorra mucho tiempo. En un proyecto tengo un uC de 64 pines con todos los pines usados y configurarlos, reconfigurarlos y que se actualicen las rutinas de inicializacion automáticamente es muy útil. Tambien para asignar funciones a pines... El otro día comencé un pequeño proyecto nuevo con un uC de NXP y caí en cuánto trabajo me ahorra el CubeMX.
Las HAL son muy, pero muy buenas también en cuanto a abstraccion, decir que si escribo SPI_TransmitReceive_IT(paramatreos) o pongo SPI_TransmitReceive_DMA(mismos parámetros) funciona todo a la perfeccion da una idea de lo potente. Seguramente la programacion de las funciones tienen mucho para mejorar, pero para hacer una primera aproximación a un firmware son muy útiles y se avanza rápido. El problema es la documentacion de dichas funciones. Por ejemplo, hay un .c con funciones para configurar un canal DMA con double buffering, son 3 funciones. No existe ejemplo alguno de uso ni documentacion alguna con detalles de implementacion. Solo está la funcion con su encabezado documentado y que es cada parámetro, pero no como se integra en un sistema funcionando...
saludos!