STM32F4 - CMSIS y bibliotecas específicas de placa

5

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:

  1. Cortex M Software Interface Standard (CMSIS) - capa / interfaz HAL general para funciones específicas de Cortex M
  2. 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.

    
pregunta Ankit

3 respuestas

3

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 del proveedor son compatibles con CMSIS.

He evitado las familias que no suministran bibliotecas compatibles con CMSIS. Además, no he probado STM Cube por muchos motivos similares.

    
respondido por el Scott Seidman
3

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 preparando las cosas".

En última instancia, depende de lo que quieres decir al aprender ARM. El uso de las bibliotecas no le impide ir bajo el capó y escribir sus propios controladores, pero el STM32F4 (que acabo de comenzar a usar) es solo uno de los más de 2000 procesadores de 16 fabricantes que utilizan el núcleo ARM.

Para mí, los controladores ofrecen la flexibilidad de desarrollarse sin atascarse en los detalles. No significa que no mire los detalles ni intente modificarlos.

Para migrar a otro procesador con periféricos compatibles solo debe implicar el cambio de controladores.

    
respondido por el StainlessSteelRat
1

Si 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 muy similares, por lo que no necesita mucho tiempo, para aprender a usar otra biblioteca de microcontroladores.

Por otro lado, puedes encontrar muchos más tutoriales y soporte para las bibliotecas periféricas, porque son más utilizados.

    
respondido por el ramez

Lea otras preguntas en las etiquetas

Comentarios Recientes

para Multitarea RTTI Firmware - Biblioteca de Firmware para Maximizar Parches madurará en habilidades de madurez (incluyendo el aprendizaje de habilidades de comunicación como "una persona, un voto" - padre, sin ayuda externa, dice Jeremy Lane del Instituto ICHE y Claire Kane de FamilyLink). De acuerdo con un estudio de la Oficina de Responsabilidad del Gobierno de EE. UU. De 2000, particularmente en estudiantes de secundaria y preparatoria, los estudiantes con problemas de control de impulsos tienen 2 a 3 veces más... Lees verder