Compatibilidad ARM entre proveedores, con y sin RTOS (FreeRTOS) [duplicado]

0

Me gustaría saber cuánta compatibilidad puedo esperar entre ARM MCU de diferentes proveedores.

Por ejemplo, digamos que escribo un firmware en lenguaje C para un Cortex M0 con su periférico CAN. ¿Podré trasladarlo a un Cortex M0 de un proveedor diferente sin cambios? (o al menos cambios mínimos) ¿O los periféricos son completamente diferentes entre ellos?

¿Y si uso un RTOS como FreeRTOS? ¿FreeRTOS se abstrae del hardware para poder portar mi software fácilmente?

Finalmente, ¿son todos los proveedores compatibles con FreeRTOS ARM Cortex M0, M4, etc.? ¿O solo modelos específicos de proveedores específicos?

    
pregunta naggety

1 respuesta

2

FreeRTOS utiliza la API RTIS CMSIS de ARM para implementar funciones básicas para la gestión de subprocesos, temporizadores y colas. Si no usa las funciones FreeRTOS específicas del puerto, podrá ejecutarlo en una MCU Cortex-M diferente, ya que el hardware requerido es común a todos los núcleos Cortex-M.

La mayoría de los dispositivos periféricos son diferentes entre los proveedores y tendrá que adaptar el software en la mayoría de los casos, pero puede hacer que su vida sea más fácil utilizando una capa de abstracción separada al definir sus propias funciones y utilizar una asignación entre sus funciones y los vendedores HAL. Sin embargo, si utiliza, por ejemplo, el Cube HAL, podrá portar su software desde un ST Cortex-M0 a un ST Cortex-M3. Otros proveedores tienen sus propias soluciones.

    
respondido por el Simon

Lea otras preguntas en las etiquetas