iniciando con los microcontroladores NXP - Programmers / IDE / Compilers / Eval Boards

7

Hice esta pregunta hace. (No es necesario que lo lea para responder a esta)

fuera de crecimiento 8 AVR de bits, no está seguro de dónde pasar a

Realmente me gustaron las respuestas sobre la línea de microcontroladores NXP. Estoy a punto de invertir en un poco de hardware para comenzar a jugar con ellos, y quería ejecutarlo en este foro para asegurarme de que no estoy pagando demasiado o comprando la parte equivocada.

No estoy interesado en el chip mbed. Prefiero tener la opción de construir algo desde cero utilizando la línea completa de microcontroladores. Eso significa que tengo que comprar un programador.

Estoy interesado en el ULINK2 de Keil. Es 411 CND en digikey.ca. enlace

Se integra con el entorno de desarrollo de Keil. Si resulta que no puedo o no quiero usar el IDE de Keil, ¿puedo usar el ULINK2 con FOSS en Linux? ¿Qué hay de las ventanas sin Keil? Si decido ahora que no quiero ir con Keil, ¿vale la pena conseguir otro programador JTAG genérico?

En última instancia, el objetivo es poder compilar y programar

  • LPC2921 / 2923/2925 (ARM9) (esta es la categoría menos importante para mí)
  • Todos los LPC21 / 22/23 (ARM7)
  • Todos los Cortex M0 y M3

No pude encontrar ninguna instrucción sobre cómo configurar una cadena de herramientas y un programa flash / debugger para microcontroladores NXP, y esa es la única razón por la que estoy hablando de productos relacionados con Keil. Preferiría usar GCC y algún otro cargador. Estoy acostumbrado a avrdude para AVRs.

¿Qué tipo de configuración utilizan ustedes para ARM o NXP uCs? ¿Qué programadores de JTAG recomiendas? ¿Alguna otra instrucción de la cadena de herramientas FOSS u otro software que deba conocer?

    
pregunta Chris H

6 respuestas

2

Para uso profesional, sus principales opciones son IAR, Keil o Rowley CrossWorks. Keil es propiedad de ARM, lo que puede o no darles una pequeña ventaja. Yo diría que el rendimiento entre IAR y Keil es casi idéntico. Rowley es una ganga del 3. Rowley también le permite usar depuradores más baratos, como el J-link. También podrías usar el enlace J con IAR, pero creo que Keil te obliga a usar sus productos Ulink, que pueden ser un poco más caros. En cuanto al apoyo, creo que Rowley está puramente a través de su sitio web. IAR y Keil ofrecen aproximadamente 1 año de asistencia telefónica. Por lo que me han dicho, Keil parece ofrecer un mejor apoyo en los EE. UU., Mientras que IAR está más centrado en Europa. He usado Keil sin problemas y el soporte fue bueno. Dicho esto, cualquiera de estos 3 probablemente funcionará igual de bien.

    
respondido por el bt2
3

¿Ha revisado la placa LPC1343 (Cortex M3) de Microbuilder? ( enlace )

Podría ser un trampolín barato para familiarizarse con los entornos de desarrollo ARM. Puede cargar fácilmente el programa a través de USB (aparece como una unidad flash USB, y usted simplemente descarga su archivo hexadecimal allí).

Microbuilder también tiene tutoriales para ponerte al día y programar con herramientas gratuitas (Codelite / YAGARTO).

    
respondido por el cksa361
1

LPC2138 / 48 sería un buen comienzo. Hay muchos ejemplos escritos para estos micros.

    
respondido por el Coskun
1

Uso Rowley CrossWorks con su CrossConnect Pro para el desarrollo de ARM. El soporte es muy bueno.

    
respondido por el Leon Heller
0

No está demasiado familiarizado con todas las opciones, pero asegúrese de obtener algo que haga JTAG y SWD; luego, las partes Cortex usan esta última, que usa menos pines para la depuración.

    
respondido por el mikeselectricstuff
0

Puedes usar Yagarto para compilar para cualquier microcontrolador ARM (NXP incluido, por supuesto), y lo he hecho para lpc4330 de NXP. SIN EMBARGO, Yagarto solo tiene soporte para punto flotante suave (al menos, he intentado usarlo para FP difícil y se queja debido a la falta de soporte, por lo que debo suponer que no se compiló con una FP dura incorporada). Si alguna vez desea utilizar un punto flotante duro (mi NXP lpc4330 admite esto), deberá compilar su propio compilador, o usar el IAR, Keil, o algún otro que esté previamente construido y que tenga soporte de punto flotante rígido. Solo algo de lo que hay que estar enterado. Además, lpc_dfu es útil si no se desarrolla en un entorno Windows y le gustaría transmitir algo a SPIFI. Funciona extremadamente bien.

Básicamente, uso:

dfu-util - > Necesitas esto para hablar y enviar algo al cargador de arranque de NXP. Además, necesitas usar -L para agregar el encabezado LPC (al menos para lpc4330 ... Tal vez los otros sean diferentes, pero no creo que NXP cambie tanto su cargador de arranque).

lpc_dfu - > Uso esto para hablar con la herramienta de flasheo de NXP. Primero envías la herramienta con dfu-util, luego la usas para actualizar tu código.

gcc - > Construí mi propio aquí, pero como dije anteriormente, Yagarto funciona (lo he usado), y hay algunos más que puedes obtener. Básicamente, cualquier cosa que produzca un binario ARM funcionará aquí. SIN EMBARGO, familiarícese con los scripts del enlazador. Si no lo hace, se preguntará por qué su procesador no funciona. Sin embargo, si ha usado AVR, sospecho que probablemente ya ESTÁ familiarizado con estos, aunque hay una serie de herramientas para los productos AVR, por lo que tal vez no. Sin embargo, es bastante fácil escribir scripts de vinculador para los productos NXP. Y me gusta saber exactamente dónde va mi código.

Si decides usar algo como OpenOCD con el lpc4330 (tengo un lpc4330-xplorer que es bastante bueno. Tiene algunos problemas, pero me gustó mucho su chip lpc4330. AMO el SCT. Eso es realmente buen periférico.), tenga en cuenta que puede haber un problema. Mi lpc4330-xplorer normalmente tiene 2 reinicios al arrancar desde SPI flash. Esto causa la dificultad de OpenOCD. Es probable que otros tableros de demostración NXP o chips no tengan este problema, pero es algo a tener en cuenta con el lpc4330. De todos modos, espero que encuentres la configuración adecuada para ti.

    
respondido por el roboknight

Lea otras preguntas en las etiquetas