Programando los chips Atmega [cerrado]

-2

¿Puede alguien explicarme un poco cómo programar el Atmega MCU, por ejemplo, el Atmega328P sin el arduino?

Entonces, lo que quiero es programar el chip Atmega sin Arduino IDE pero utilizando Atmel Studio y un programador.

Cuando conecté Internet, dijeron que primero tenía que programar el chip con Arduino.

Para aclarar mi pregunta, imagine que vivimos en un mundo en el que Arduino no existe. La compañía Arduino, la placa Arduino, el IDE, el gestor de arranque Arduino y todas las cosas relacionadas con Arduino no existen. Y en ese mundo i desea programar el chip Atmega328p. Sin el cargador de arranque Arduino.

Por favor, explícame qué dispositivo necesito y cómo empezar a hacer eso. Y la última pregunta, si logro hacerlo, ¿puedo usar un sensor diseñado para Arduino (por ejemplo, un sensor ultrasónico HC-SR04) con ese chip?

Se agradece cualquier comentario / respuesta. Gracias

    
pregunta deadguy88

4 respuestas

-1
  

Por favor, explícame qué dispositivo necesito y cómo comenzar a hacerlo.

necesitarás algunas cosas:

1) necesitará un entorno en el que desarrollar su código (y generar un archivo .hex). AVR Studio o Atmel studio sería uno de ellos. Personalmente uso Code :: Blocks y IAR;

2) una vez que se desarrolle el código, necesitará un programador para cargarlo en el chip. Toneladas de programadores y Atmel hace un buen número de ellos. Debes mirar en tu entorno para ver qué es lo que soporta e ir desde allí. He usado un Dragón, pero mi favorito es un programador de usbasp.

3) su programador normalmente necesita una pieza de software para manejarlo. obviamente, tendrá que elegir el software que coincida con su programador. Yo uso avrdude + avrdudess para eso.

eso es prácticamente todo lo que hay.

    
respondido por el dannyf
2

Lo único que Arduino realmente hace para simplificar la "programación" es proporcionar el cargador de arranque. El gestor de arranque le permite cambiar el contenido de la memoria flash sin utilizar una interfaz de programación dedicada.

Normalmente, programaría el Atmega328p y la mayoría de los otros controladores AVR utilizando una interfaz como JTAG, PDI o ISP. Esas son interfaces que siguen implementaciones específicas de hardware y software. Para programar un controlador utilizando una de esas interfaces, se requiere un programador que pueda interactuar con ellos. Los programadores comunes son AVRISP-mk2, AVRDRAGON y JTAGICE por ejemplo.

Si conecta uno de esos programadores a los pines correctos, puede manipular EEPROM, FLASH (incluido el cargador de arranque) y FUSOS. Algunas interfaces incluso permiten la depuración en el sistema.

    
respondido por el Rev1.0
2

Hay varias formas diferentes de programar los chips de la serie AVR. La mayoría requiere un programador, pero algunos (AT90USB *, ATmegaU * y similares) se pueden programar a través de USB sin hardware especial. Independientemente de lo que elija, el proceso es el siguiente:

  1. Diseñe la PCB, incluido el conector que utilizará para la programación
  2. Construir PCB
  3. Cree su programa utilizando AVR-GCC, Atmel Studio o cualquier otra cadena de herramientas que le guste.
  4. Conecte el programador a su PC y a su PCB. A menos que use USB, en cuyo caso, simplemente conecte su PC a la computadora.
  5. Use Atmel Studio o arvdude para copiar su programa compilado en su chip, y opcionalmente también puede programar EEPROM y fusibles.

Lo único difícil es asegurarse de tener un método de programación que sea compatible con su chip y su programador, y luego colocar el conector correcto en la placa. Algunos métodos de ejemplo:

ICSP / ISP Compatible con muchos chips AVR y la mayoría de los programadores (¿todos?), usualmente usa un encabezado de pin 2x3 en la placa.

JTAG También se usa para la depuración, esto suele aparecer en chips más grandes, y normalmente usa un encabezado de 10 pines en el tablero.

USB Solo disponible en chips con hardware USB, no necesita ningún programador. En su lugar, los chips vienen con un gestor de arranque, al igual que Arduinos.

    
respondido por el Jack B
0

Todo se explica en la documentación de Atmel, en el mundo real, los Arduinos son un caso de uso muy pequeño para la familia AVR.

La documentación muestra las diversas formas de programar esas partes, lo cual es típico en estos días para que los microcontroladores tengan múltiples opciones. Existe el gestor de arranque incorporado, que al menos en los AVR más antiguos podría modificar usted mismo. Existe una interfaz ISP a la que llaman, que varía según la familia, pero es bastante fácil de explotar desde casi cualquier cosa con algunas señales TTL (dispositivo ftdi, otro microcontrolador, raspberry pi, etc.), el protocolo está documentado en otros documentos de la atmósfera. .

Y hay numerosos dispositivos disponibles y / o gratuitos o de pago para el software que utiliza uno / algunos de estos dispositivos para programar estas partes utilizando estos protocolos.

Si desea utilizar el estudio de atmel y el programador de atmel, simplemente debe leer la documentación correspondiente para ver qué es compatible.

Todo el desarrollo de este tipo de producto es leer la documentación y utilizar lo que usted lee. No vas a llegar muy lejos si no lo haces o no.

    
respondido por el old_timer

Lea otras preguntas en las etiquetas