Recomendaciones para la programación de microcontroladores en Linux [cerrado]

5

¿Puede alguien recomendarme un entorno de desarrollo estable ( plataforma + programador dispositivo + sw / ide ) para comenzar a programar microcontroladores en Linux (no en arduino)?

Me resulta difícil elegir todos estos componentes, y me temo que tendré que recurrir a las ventanas. Gracias!

Actualización: ¡Gracias por tus respuestas! Voy a probar Microchip y Netbeans MPLAB. Nada en contra de Atmel, pero creo que el primero será fácil de configurar para mí ;-)

    
pregunta grieih

8 respuestas

6

Microchip tiene un nuevo MPLAB X usando la plataforma NetBeans que se instala bajo Linux, ya sea 32 -bit o 64 bits. Todavía está en versión beta, pero ha estado fuera por un tiempo y tiene soporte a través de sus foros.

Puede desarrollar para cualquiera de las líneas de Microchip MCU, PIC10 / 12/16/18 (todas de 8 bits), PIC24 (16 bits) o PIC32 (32 bits). Recomendaría comenzar con al menos la línea PIC18: las más pequeñas se programan mejor con el ensamblador, y es mucho más fácil comenzar con C.

Puede obtener versiones "ligeras" de los compiladores de forma gratuita (la principal limitación es que algunas optimizaciones caducan después de 60 días, pero no hay límite de código como algunos sistemas de desarrollo).

Microchip tiene una placa de desarrollo / programador combinado - MPLAB Starter Kit para PIC18F MCU que cuesta $ 60 . Incluye comunicación USB, un panel táctil capacitivo, potenciómetro, sensor de aceleración, tarjeta de memoria MicroSD y una pantalla OLED.

    
respondido por el tcrosley
8

He tenido un gran éxito con los AVR de Atmel usando:

  • el compilador GCC C con bibliotecas AVR (empaquetado en APT para distribuciones basadas en Debian)
  • avrdude para dispositivos con flasheo (utilizando un programador mkII de Atmel barato)
  • complemento Eclipse AVR para un IDE

En Google Googling encontrarás algunas guías para configurarlo todo en una instalación reciente de Ubuntu. Es mucho más fácil de lo que solía ser, ahora es casi simplemente instalar paquetes desde los repositorios.

    
respondido por el Al Bennett
3

Si desea trabajar en C, puede consultar SDCC o la lista de compiladores cruzados GCC compatibles. Hay una larga lista. Si desea trabajar en ensamblaje, la mayoría de los micros de 8 bits tienen herramientas de Linux bien soportadas, por ejemplo. gputils.

En cuanto a los dispositivos de programación, la mayoría de los micros más nuevos en estos días vienen con cargadores de arranque incorporados que ya no requieren la compra de ningún dispositivo de programación costoso. De lo contrario, siempre puedes construir uno tú mismo. Para el PIC, está el PICKIT2, que viene con esquemas.

En cuanto al IDE, puedes usar emacs o eclipse en general.

    
respondido por el sybreon
2

Debería poder configurar un entorno de desarrollo para las partes de TI / Stellaris ARM Cortex M3 usando arm-eabi-gcc para compilar el código y OpenOCD para flashear y depurar en la placa de destino. Lo he hecho todo en Mac OS X, así que no puedo darte una guía directa, pero hice un par de búsquedas rápidas en Google y parece que hay muchas guías de configuración por ahí. Honestamente, es un poco molesto y es probable que tengas que hacer algunos trucos para que todo funcione, incluso si obtienes una gran guía de configuración, pero una vez que todo está configurado, el flujo de trabajo es bastante bueno. También debería poder usar Eclipse como IDE y configurarlo para cargar sus archivos binarios en el tablero automáticamente si así lo desea. La línea Stellaris también es excelente.

    
respondido por el Suboptimus
2

El IDE Eclipse está basado en Java, por lo que funciona bien en Linux. Hay un complemento para el IDE disponible que admite el desarrollo de C / C ++ para microcontroladores AVR y también le permite cargar código compilado al dispositivo a través de una variedad de programadores.

    
respondido por el Bitrex
1

Tengo varios ejemplos de microcontroladores integrados basados en Linux en github enlace . Tenga en cuenta que ide es su editor de texto favorito y una línea de comando donde escribe make.

Tenga en cuenta que las herramientas gratuitas para microchip (pic32) (no las de FROM microchip) tienen optimización, soporte de conjunto de instrucciones de 16 bits, etc. Y puede ver qué está pasando (porque lo está haciendo usted mismo). Por supuesto, estas son las líneas principales gcc y llvm (no las de microchip).

El mbed o stellaris probablemente están más en la línea de lo que quieres. O quizás arduino vaya con el arce tal vez. Odio decir que tal vez el panda fez. El launchpad msp430 es de $ 4.30, a ese precio también podría comprar una pareja para ahorrar para un día lluvioso. El descubrimiento de la línea de valor stm32 es de alrededor de $ 10, el mismo acuerdo consigue uno, guárdalo para un día lluvioso.

Si deja que las bibliotecas y el entorno hagan todo el trabajo por usted, entonces no es diferente a solo escribir aplicaciones en su computadora de escritorio, es una pérdida de tiempo incrustarse, simplemente escriba aplicaciones de escritorio. Si va con un traje encerrado, debería arremangarse y ensuciarse las manos ... algo en lo que pensar ... De lo contrario, compre el arduino y termínelo. Atmel es difícil de tocar para la satisfacción del cliente, no estoy seguro de por qué, pero es lo que es. El conjunto de instrucciones avr no es excelente, ni mucho menos tan malo como el PIC (sin contar el PIC32) pero no tan bueno como el conjunto de instrucciones msp430 o ARM. He utilizado el ide arduino en linux, probablemente no necesito reiniciar en windows. No hay nada tan fácil como el arduino, excepto quizás los sellos basados en BASIC como el paralaje y algunos otros.

Al igual que con el desarrollo de Linux / Unix en general, no se centre en buscar un IDE. Concéntrese en el compilador, gcc o llvm, luego en su editor favorito y eso es todo, comience a codificar. Aplique eso a un microcontrolador y observe los objetivos que admiten los compiladores. ARM y MIPS son un ajuste natural, no tendrá ningún problema para poner en funcionamiento las herramientas, cada vez que tome una versión de gcc parcheada e intente hacer que funcione en su caja Linux actualizada, luchará de vez en cuando. time, avr, msp y pic se encuentran en esa categoría. Lo mismo ocurre con sdcc, es impredecible y, de todos modos, debes preguntarte: ¿C en el 8051? No es tan malo como C en el PIC pero cerca. Si realmente está buscando un IDE estable, compatible, actualizado, actualizado, etc., tiene que ir a Windows. Keil, IAR, Code Red, etc. La demanda simplemente no existe, los desarrolladores de linux / unix históricamente pasan su tiempo discutiendo vi vs emacs ya que esos son los ides dominantes por falta de un término mejor. arroja gdb si te desesperas.

    
respondido por el old_timer
1

Programar microcontroladores PIC en Linux es muy fácil. Tengo un Clon Pickit2, MPLAB X IDE y QPickit que utiliza pk2cmd como backend. He programado dsPIC33 sin problemas con este programador. Para programar tu dispositivo:

  1. Cree su proyecto en MPLAB X. En la ventana de resultados, se mostrará la ruta del archivo .hex. Por ejemplo: /home/user/MPlabx_projects/Test/dis/default/production/test.hex
  2. Copia esa ruta y usa pk2cmd -p -f /home/user/MPlabx_projects/Test/dis/default/production/test.hex -m -r
  3. Su dispositivo se detectará automáticamente, luego se programará y se lanzará el MCLR para iniciar la operación.

Recuerde elegir el voltaje correcto en su pickit. Para dsPIC33 es 3.3V en general. Puede elegirlo desde su clon pickit2, seleccionando el puente correcto. Además, puede alimentar su MCU desde una fuente de alimentación independiente de 3.3 V, y usar la configuración predeterminada en pk2cmd.

Si lo deseas, puedes usar QPickit. Es una aplicación basada en QT para programar microcontroladores pic con una interfaz muy simple y útil. Cargaré las fuentes del programa en los próximos días.

Descargue pk2cmd desde aquí

    
respondido por el GTRONICK
0

Buenas recomendaciones, y si desea probar la arquitectura ARM, tiene aún más opciones:

  1. LPC ARM cortex m0 ~ m4 MCU de NXP por LPCXPRESSO (IDE preestablecido basado en eclipse & gnu) como una de las mejores opciones, basado en las bibliotecas LPCOPEN y amp; Desalojador LPC-LINK2
  2. STM32 ARM cortex m0 ~ m7 MCU Familias de configuración ST BY & configurando eclipse & gnu gcc (ya que creo que puede configurar este para cualquier otro Chip ARM, pero hay un montón de plantillas de proyecto y amp; bibliotecas para stm32) con bibliotecas SPL o HAL & Desalojador ST-LINK
respondido por el Mahmoud Hosseinipour

Lea otras preguntas en las etiquetas