Placa del procesador ARM y programación

3

Estoy tratando de desarrollar una placa de desarrollo ARM utilizando ATSAM3U4C con un reloj de 96 MHz, algunos LED y un botón para la interrupción externa. A continuación se muestra un pequeño circuito que he puesto en marcha. Usar el conector JTAG de 20 pines Atmel SAM-ICE como depurador y usar Atmel Studio 6.0 para la programación. Para la conexión JTAG, el pin 3 en el zócalo de 20 pin se conecta a NRST y el pin 15 se conecta a NRSTB.

Hasta ahora, los LED parpadean, pero tengo algunas preguntas:

  1. El depurador no parece borrar el chip al cargar el programa. Puedo ejecutar el programa una vez, pero para volver a ejecutarlo, tengo que usar uno de los botones para impulsar el Erase Pin alto (usando U5 por ahora).
  2. Noté que el procesador ARM no está utilizando realmente mi oscilador de cristal de 96 MHz. ¿Lo he cableado incorrectamente?

Estos son los únicos dos problemas que estoy enfrentando en este momento. He estado usando microcontroladores de 8 bits y pensé que sería un buen aprendizaje para diseñar mi propia placa y aprender a programar en ella.

    
pregunta David Norman

1 respuesta

3

No estoy familiarizado con los ATSAM, pero sé que los STM32F4 (como un ARM Cortex-M comparativo) no funcionarían con una fuente externa de 96MHz, su rango de trabajo es de 4 a 26MHz.

Probaría un cristal u oscilador más lento y usaría el PLL (suponiendo que el ATSAM tiene uno) para aumentar el reloj del sistema a 96MHz.

Con respecto a sus problemas con el comportamiento extraño después de un ciclo de borrado / programa, tal vez intente un conjunto de herramientas diferente. El Coocox IDE (en v.1.7.7) parece ser compatible con tu MCU (AT91SAM3U4C?), Aunque estoy menos seguro de que sea compatible El SAM-ICE. Si no es así, puede comprar un depurador CoLinkEx que definitivamente es compatible y debería funcionar con casi cualquier Cortex M por alrededor de US $ 20.

Descargo de responsabilidad: no tengo ninguna relación con Coocox, solo creo que tienen un producto gratuito increíble.

Sugiero esto porque me he encontrado con una situación en el pasado en la que, si utilizaba las herramientas del proveedor A, tenía que alternar los ciclos de borrado / programa; pero si usé las herramientas del proveedor B, entonces no lo hice, a pesar de utilizar exactamente el mismo binario.

    
respondido por el markt

Lea otras preguntas en las etiquetas