2011-07-09 11 views
10

Tengo una placa de desarrollo Luminary LM3s8962 ARM Cortex M3, y aunque he podido programarla con Keil RTOS, preferiría desarrollar sobre Linux y una libc incrustada. Lo que me gustaría saber es ¿cómo puedo obtener un kernel de Linux y mi aplicación y mis deposiciones en mi placa? Tiene una ranura SD, ¿puedo crear algún tipo de imagen del sistema de archivos y simplemente programar la placa con un gestor de arranque? ¿Tendría que escribir el gestor de arranque yo mismo? No tengo ni idea de por dónde empezar con esto. He investigado el proyecto Yocto, pero todavía no sé cómo manejar los archivos de imagen del kernel y del sistema de archivos de varios megabytes y lograr que mi placa los ejecute.¿Cómo ejecuto Linux en una placa ARM Cortex M3?

+0

Usted no es la primera persona en intentar esto: http://www.mail-archive.com/[email protected]/msg39238.html –

+3

Supongo que tendría que ser un uclinux No creo que haya un cortex-m con un mmu. Además, no sé si hay alguno con más de 64Kbytes. Tengo un simulador de pulgar que puedes probar, busca el thumbulador en github. Direccionamiento de 32 bits para que pueda tener gigabytes si lo desea. qemu no es una mala elección, tienen soporte para thumb2, modifican un objetivo estelar para tener más memoria. –

Respuesta

0

¿Has probado Embedded Compact .NET? (Puedo escuchar el BOOO BOO !! desde aquí, lol) Si está familiarizado con Visual Studio, codifica su pedazo de pastel.

Lo he intentado hace mucho tiempo en un procesador Cortex M7 STM32 pero no era bueno para mis apretados requisitos de tiempo. Compruébelo en http://msdn.microsoft.com/en-us/netframework/bb267253

+0

Es un lenguaje interpretado, ¿es ahora? – RushPL

+0

sí, se interpreta un poco, pero está bien si no necesitas velocidades hasta el nanosegundo. – ruhalde

+0

Sería genial si C# se compilara estáticamente en código nativo (a través de Mono, por ejemplo) en lugar de interpretar el código, sería mucho mejor. Código eficiente y legible – RushPL

6

Estoy escribiendo una aplicación de GUI gráfica en Cortex-M3 y debo decir que no echo de menos Linux-host incluso un poco. Mi programa comienza con main(), tengo malloc desde libc, SDCARD se ejecuta en FATS y funciona literalmente como fopen(), fread().

Seguro que tienes que saber tus cosas, pero Linux, incluso si funcionara, consumiría todos tus recursos y no te daría casi ninguna ventaja. Si no necesita ejecutar varias aplicaciones en paralelo (hilos) y no necesita una programación avanzada, es mucho mejor comenzar desde int main() y usar libc.

0

no me molestaría en tratar de ejecutar Linux en ARM Cortex-M3, a menos que para aprender cosas. Mejor agarrar el tablero con MMU. Si buscas OS para Cortex M3, me quedaría con algún tipo de RTOS.

+3

si intenta ayudar a otros en el futuro, por favor elabore * por qué * no se molestaría ... – andr

Cuestiones relacionadas