Pregunta

Me gustaría poder tener un sistema operativo básico y un sistema de archivos básico para el MSP430 de gama alta, probablemente el MSP430F5438 . Sé que puedo usar algo como FreeRTOS , IAR PowerPac o Micrium para nombrar solo algunas de las opciones para el sistema operativo y el sistema de archivos. Sin embargo, me gustaría poder tener también la capacidad de cargar pequeños applets o subprocesos en un momento posterior, idealmente sacando este código adicional del sistema de archivos. Mi objetivo no es tener que volver a actualizar todo el dispositivo para cambiar o implementar una función en el dispositivo incorporado. No estoy seguro de a dónde dirigirme para implementar esta capacidad o si necesito cambiar a otro procesador como un ARM.

¿Fue útil?

Solución

El MSP430 es un gran controlador, pero si desea ejecutar un sistema operativo y cargar aplicaciones sin grabarlas en flash, probablemente debería cambiar a ARM (otra gran plataforma con muchos microcontroladores basados ??en ARM).

Otros consejos

Estoy bastante seguro de que siempre tendrá que volver a actualizar el MSP 430 cada vez que desee cambiar el código del programa. Por supuesto, un gestor de arranque puede actualizar el flash por sí mismo, por lo que solo querrá crear un programa que actúe como un gestor de arranque pero que solo actualice ciertas partes de la memoria del programa, es decir, dónde desea colocar sus applets. Y luego tendrá que saber qué ubicación de memoria tiene cada área del flash donde está su código de applet para que pueda llamarlo.

También tendría un problema al ejecutar el código en estos applets. Si solo hay una ubicación de memoria desde la que desea ejecutarlos, puede compilarlos con eso en mente. Si desea varios applets diferentes que podrían ejecutarse desde cualquier 'espacio de applet' en la memoria, entonces podría tener problemas porque no sabrán desde qué dirección están comenzando.

Y, por supuesto, ninguno de estos applets podrá ser muy grande. ¿Cuánto espacio ocupará su RTOS?

El controlador

Msp430 es compatible con varios sistemas operativos que pueden proporcionar la funcionalidad que desee. Algunos de ellos proporcionan OTA (programación por aire). Algunos proporcionan sistemas de archivos (basados ??en flash). Sin embargo, esto a menudo significará usar memoria flash para almacenar el programa cargado.

Aquí hay un par de OS-es actualmente activos que admiten msp430:

Contiki - SO para " Internet de las cosas " ;. Proporciona proto-hilos.

MansOS : un sistema operativo tipo UNIX que admite subprocesos y OTA para dispositivos msp430.

Flash
En un msp430, puede borrar / reescribir el flash integrado en fragmentos de 512 bytes (el flash del usuario puede manejar fragmentos más pequeños).
Por lo tanto, su gestor de arranque / stable-RTOS podría reprogramar el chip con esta " aplicaciones " ;.
Es un poco complicado redirigir las interrupciones, pero eso se puede hacer con un salto de redirección desde el " real " tabla de vectores a una tabla de vectores de aplicación.

Llamada estable / RTOS
También es posible llamar a funciones de la parte estable desde las aplicaciones, puede construir en la parte estable una tabla de salto fija para cada función, de modo que la aplicación sepa cómo llamar a la función, incluso si construye otra versión estable / RTOS.

RAM
Si solo permite una aplicación, esto es fácil.
Debe reservar algo de RAM para su RTOS estable, y la aplicación puede usar el resto de la RAM.

Pero resolver el problema de colocar sus variables podría ser complicado, si desea usar más de una aplicación.
Para reservar RAM desde una aplicación, preferiría la asignación dinámica, pero aun así necesita un puntero para los bloques dinámicos asignados, y estos punteros son fijos o sus aplicaciones usan variables en la pila.

Hay algunas FRAM msp430 partes que también vale la pena ver. Sin embargo, todavía no es mucha memoria.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top