Recientemente compré una placa STM32F4 para aprender la arquitectura ARM. Me siento bastante cómodo con la programación integrada después de haber trabajado con la serie AVR durante aproximadamente un año.
Estaba pasando por este tutorial aquí
En esto, el autor ha mencionado que, por lo general, en el mundo de las placas ARM, tiene 2 conjuntos de bibliotecas:
El autor también menciona que, al igual que cualquier capa HAL, el propósito de estos es que uno se desarrolle rápidamente en lugar de perder el tiempo configurando las cosas.
Viniendo del lado de AVR donde estoy usando bibliotecas mínimas/sin bibliotecas y configurando todo a mano (por ejemplo, configuración de spi, funciones controladas por interrupción de rx y tx, etc.), encuentro esto un poco extraño. Al usar las bibliotecas específicas de STM, ¿no se limitaría a usar solo sus microcontroladores? Luego, en el futuro, si uso el 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 a seguir. Siendo nuevo en ARM, ¿debería usar estas bibliotecas por ahora hasta que me sienta más cómodo o debo acostumbrarme desde el principio a hacer todo yo mismo?
La idea es apoyarse en ARM independientemente de cualquier placa o microcontrolador específico del proveedor.
Recomiendo encarecidamente las bibliotecas. Una gran ventaja de cortex M es poder mover fácilmente su código a otros miembros de la misma familia (es decir, STMF0 a STMF4), o incluso a diferentes fabricantes, y pierde esta ventaja si no usa las bibliotecas.
Por cierto, muchas bibliotecas específicas de proveedores son compatibles con CMSIS.
He evitado familias que no suministran bibliotecas compatibles con CMSIS. Además, no he probado STM Cube por las mismas razones.
Estoy de acuerdo con Scott y la afirmación "el propósito de estos es que uno se desarrolle rápidamente en lugar de perder el tiempo configurando las cosas".
En última instancia, depende de lo que entiendas por aprender ARM. El uso de las bibliotecas no le impide meterse debajo del capó y escribir sus propios controladores, pero el STM32F4 (que acabo de empezar a usar) es solo uno de los más de 2000 procesadores de 16 fabricantes que usan el núcleo ARM.
Para mí, los controladores ofrecen la flexibilidad de desarrollar sin atascarse en los detalles. No significa que no miro los detalles o intento modificarlos.
Para migrar a otro procesador con periféricos compatibles, solo debería implicar cambiar los controladores.
Si yo fuera usted, usaría las bibliotecas periféricas específicas del proveedor. Lleva mucho tiempo cuidar los registros para configurar los periféricos. Diría que lleva mucho más tiempo que aprender a usar las bibliotecas de otros proveedores. Son bastante similares, por lo que no se necesita mucho tiempo para aprender usando otra biblioteca de microcontroladores.
Por otro lado, puedes encontrar muchos más tutoriales y soporte para las bibliotecas periféricas, porque son más utilizadas.
Ankit
scott seidman
Ankit
scott seidman
scott seidman
Ankit