4 votos

Hardware para el desarrollo del Sistema Operativo

Estoy muy interesado en el Funcionamiento de la teoría de sistemas y el diseño, y han decidido que me gustaría jugar con el desarrollo de un sistema operativo. Tengo experiencia en montaje x86 y han mirado en el BRAZO también. Me gustaría una placa de desarrollo para desarrollar el sistema operativo. Alguien ha tenido experiencia con el desarrollo del SO y/o puede sugerir algún tipo de hardware a utilizar?

Un consejo estoy considerando es el LPC1769 LPCXpresso de la junta.

Soy consciente de que podía utilizar una máquina virtual, pero me gustaría usar el hardware real.

7voto

RelaXNow Puntos 1164

El uso de un PC normal. Estos vienen con procesadores x86 y todos los otros elementos de hardware y son exactamente el tipo de plataformas que se benefician de los sistemas operativos. Incluso un viejo junker PC estaría bien para esto. Desarrollar en una PC que ejecuta un sistema operativo real, y un ensayo sobre la klunker. La otra ventaja de esto es que es gratis. Seguramente tienes algunos viejos de PC o la placa base sentados en alguna polvorienta esquina, o conoce a alguien que ha llegado en torno a tirar.

2voto

Avner Puntos 2065

¿Cuáles son usted después? Un completo PC, SO, o, más bien, un RTOS (Sistema Operativo en Tiempo Real)? Si usted va a escribir su propio PC OS , yo sugeriría un viejo PC como Olin, dijo.

Coincidentemente actualmente estoy tratando (sólo por diversión) escribir mi propio RTOS en un pequeño PIC24FJ32GA002 (lo tenía por ahí, fáciles de trabajar y probar). Este es un simple 28-pin 16MIPS de 16 bits del controlador, pero hace el trabajo, en mi caso. Yo actualmente tengo una tarea núcleo de trabajo para que yo pueda cambiar las tareas, el uso de los retrasos manejado por el RTOS etc. Pasando ahora a la más abstracta de las características de la memoria y periféricos de comunicación (manejado por el RTOS).

No creo que se necesite un monstruo microcontrolador para ejecutar cualquier RTOS. La tarea del kernal sólo consume 500~600 instrucciones y unos 300~400 bytes de RAM para 2 personas(+1idle) tareas. Incluso esta baja en la memoria del dispositivo se ha 10.5 k instrucciones y 8KB de RAM, así que sólo estoy usando alrededor de 5% en la actualidad.

Para un RTOS es muy importante que el de la CPU soporta algún tipo de fácil cambio de pila, así que usted puede cambiar el contexto de aplicación rápida. Por ejemplo, conozco a algunos de los mayores PICs (como un PIC16 o un PIC18 dispositivo) tiene el hardware basado en pilas. En el PIC24 estoy almacenar el contexto (empujando a los registros de la CPU en la pila), cambiar el puntero de la pila (la pila de otra tarea) y reanudar el contexto (apareciendo los registros de la CPU de la pila).

El BRAZO de chips no tiene un hardware basado en pila, por lo que son buenos para ir. Tenga en cuenta que el LPCXpresso placa viene con su propio compilador y entorno de desarrollo. Esto significa que usted debe utilizar el code_red compilador y entorno de el bordo depurador. El depurador no funciona con otro ambiente, debido a que el software para el depurador es cargado por su propio IDE. La libre versión del compilador de compilador también tiene una capacidad de 128 kb de código de restricción. Esta es la cantidad de código que puede ser depurado, creo. 128KB es suficiente para una pequeña RTOS para empezar.

Usted puede obtener su propia JLINK o programador JTAG, pero usted tiene que conectar el SW o puerto JTAG para el LPC1769 de la junta. Aparte de eso, el LPC1769 tiene un montón de recursos y periféricos para empezar a ir. No sé por mi experiencia lo bien que las herramientas de depuración está en el LPCxpresso cuando estés en modo de depuración muy bajo de fin de cosas (como el cambio de tarea). En el PIC24 yo tenía que adivinar lo que está pasando, el MPLAB no capturar adecuadamente hang-ups.. sin Embargo todavía es posible. Para el BRAZO hay también un montón de RTO y recursos hacia fuera allí para echarle un vistazo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X