Hace poco compré una placa STM32F4 para aprender la arquitectura ARM. Estoy bastante cómodo con la programación integrada, ya que he trabajado con la serie AVR durante aproximadamente un año.
Estaba leyendo este tutorial en aquí
En esto, el autor ha mencionado que, en general, en el mundo de los tableros ARM, tiene 2 conjuntos de bibliotecas:
- Cortex M Software Interface Standard (CMSIS) - capa / interfaz HAL general para funciones específicas de Cortex M
- Bibliotecas STM32: específicamente para los periféricos integrados en la placa de desarrollo STM (I2C, SPI, CAN, etc.)
El autor también menciona que, al igual que con cualquier capa HAL, el propósito de estos es que uno se desarrolle rápidamente en lugar de perder tiempo en la configuración de las cosas.
Desde el lado de AVR, donde estoy usando bibliotecas mínimas / no y configurando todo a mano (por ejemplo, la configuración de spi, las funciones controladas por interrupciones de rx y tx, etc.) me parece un poco extraño. Al utilizar las bibliotecas específicas de STM, ¿no se limitaría uno a usar solo sus microcontroladores? Luego, en el futuro, si uso un chip de otros proveedores, tendré que aprender a usar su biblioteca específica
Me gustaría obtener una opinión de que si este es el camino correcto. Siendo nuevo en ARM, ¿debería usar estas bibliotecas por ahora hasta que me sienta más cómodo o desde el principio me convierta en el hábito de hacer todo por mí mismo?
La idea es utilizar ARM independientemente de cualquier placa o microcontrolador específico del proveedor.