Interfaz de programación ARM y cadena de herramientas

Adquirí un RM48L952 que es un ARM Cortex R4F de TI y me gustaría comenzar a aprender el desarrollo de ARM con este chip. Mi pregunta es ¿puedo usar cualquier programador JTAG para programarlo? ¿Algo así como un programador Open DIY JTAG o tiene que ser uno específico de la marca? Lo mismo se aplica a la cadena de herramientas, ¿puedo usar gcc o tengo que usar un compilador específico de la marca?

Gracias

Echa un vistazo a este artículo, también puede ser de ayuda. microcontroladorcentral.com/…

Respuestas (3)

Sobre el JTAG, no necesitas uno propietario, a menos que la placa que tienes tenga un conector propietario. Incluso entonces, si puede descubrir su pinout, podría hacer un conector adaptador. La principal diferencia entre los proyectos JTAG abiertos/libres y un producto comercial es que este último probablemente tendrá velocidades más altas, lo que hace una gran diferencia dependiendo de la complejidad de los programas. Hay adaptadores JTAG comerciales baratos que son paralelo/serie, y algo más caros que son USB; dada la elección, siempre preferiría USB.

Acerca de la cadena de herramientas, es perfectamente posible usar herramientas GNU (eche un vistazo a gnuarm.com), pero la desventaja es que debe encontrar documentación sobre cómo interactuar con el hardware específico del dispositivo; También es posible que deba preparar un script de enlace específico para el mapa de memoria de su dispositivo. Cuanto más raro/exótico sea, menos probable es que encuentres un guión ya hecho. Y estos scripts de enlaces pueden ser bastante complicados. Si utiliza una cadena de herramientas comercial diseñada específicamente para su dispositivo, encontrará todo ya configurado para que funcione en el dispositivo.

También recomendaría comprar una placa de desarrollo (como esta ) para esa MCU; Será mucho más fácil hacer que todo funcione si puedes dividir y vencer. Y tener una placa funcional probada es la mejor manera de mantener separados los problemas de software y hardware.

Adquirir una placa de desarrollo como esa es lo que más quiero evitar porque hace que el costo de desarrollo aumente mucho. Supongo que tendré que investigar esos scripts de enlace...

Puede usar OpenOCD como programador/depurador de hardware y la cadena de herramientas GNU (por ejemplo , yagarto o GNU ARM ) para el lado del software. Para obtener soporte, consulte Soporte de Linux para la arquitectura ARM e instale la cadena de herramientas GNU ARM en Linux .

Obtenga la placa de descubrimiento stm32f4 y trabaje con los ejemplos. Tendrá suficiente en su plato sin intentar diseñar un tablero también. El descubrimiento tiene un programador USB ST-Link2 incorporado y todo cuesta alrededor de 15 dólares. Coocox es un IDE bastante bueno para experimentar porque es gratuito e ilimitado. Desafortunadamente, la documentación apesta y su foro es casi inútil, ya que nadie acepta que los autores parecen poder responder preguntas y, como trabajan de forma gratuita, falta la inmediatez de la respuesta. Dicho esto, si está dispuesto a trabajar en ello, Coocox es una solución fácil si no desea agregar Linux a su ya larga lista de cosas por aprender. ARM es complejo de aprender porque, a menos que tenga una gran fluidez con los punteros y las estructuras typedef, etc., también tendrá que convertirse en un programador C avanzado en el proceso de aprendizaje del hardware. la biblioteca de periféricos CMSIS está escrita teniendo en cuenta a los programadores de C avanzados, por lo que ni siquiera sabrá lo que está pasando hasta que obtenga sus habilidades de C a un nivel decente. Esta es, por supuesto, mi perspectiva sobre esto y puede que no se aplique.

Me siento muy cómodo con Linux y C, lo que me molesta es toda la interfaz entre el código y el chip en ARM.
Sí, te escucho. He trabajado mucho con dispositivos de microchip y cuando entré por primera vez en ARM me sorprendió el gran volumen de código que se requiere para realizar incluso las tareas más simples. Deseo un núcleo que tenga todos los periféricos y la velocidad de ARM pero la facilidad de uso de Microchip.