# ¿Cómo programar con el módulo XCU a través del IDE Microchip Studio for AVR?

Si tu entorno de desarrollo es el **IDE Microchip Studio for AVR** y quieres programar microcontroladores directamente con el módulo **XCU,** es posible hacerlo gracias a la herramienta **AVRDUDE**, para ello realiza los siguientes pasos.

{% hint style="success" %}
Las siguientes configuraciones son **compatibles** con el anterior IDE para AVRs, **Atmel Studio 7**.
{% endhint %}

{% hint style="warning" %}
Antes de comenzar es necesario tener instalado el **Software MICROSIDE v1.0**, si no cuentas con el puedes descargarlo a través del siguiente [**link**](https://microside.com/?sdm_process_download=1\&download_id=5472).
{% endhint %}

<table data-card-size="large" data-column-title-hidden data-view="cards" data-full-width="false"><thead><tr><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>Descargar Software MICROSIDE v1.0</strong></mark></td><td><a href="https://microside.com/?sdm_process_download=1&#x26;download_id=5472">https://microside.com/?sdm_process_download=1&#x26;download_id=5472</a></td></tr></tbody></table>

## Configuración para programar con XCU desde Microchip Studio for AVR

1. En el IDE Microchip Studio for AVR, dirígete al menú superior, selecciona ***Tools*** y da clic en ***External Tools…***

<figure><img src="/files/JZzgLejoCi5u8B0nFBzl" alt=""><figcaption></figcaption></figure>

2. Se mostrará una ventana donde se realiza la configuración del programador **XCU**, coloca los siguientes valores:&#x20;

**Title:**   XCU (También se puede colocar XCU LT)

**Command:**  C:\Program Files (x86)\MICROSIDE\XIDE v1.0\avrdude.exe\
(La ubicación puede variar dependiendo de la ruta donde se instaló el Software MICROSIDE v1.0)

**Arguments**: -c pickit2 -p m328p -P usb -e -U flash:w:”$(BinDir)\\$(TargetName).hex”:a\
(Comandos de AVRDUDE para la programación del microcontrolador, puedes encontrar los comandos compatibles y sus detalles en el siguiente apartado [**Lista de comandos AVRDUDE**](#lista-de-comandos-avrdude-que-podras-utilizar-en-la-parte-de-arguments.))

<figure><img src="/files/AbKAduOV9XtclhcxzIXP" alt=""><figcaption></figcaption></figure>

3. Una vez configurado, marca la casilla ***Use Output window*** y da clic en ***OK*****.**
4. Cuando el **código este compilado y listo** para grabarse en el microcontrolador, dirígete al menú superior, selecciona ***Tools*** y aparecerá la herramienta externa (**XCU**) que se configuró previamente, da clic en ella.

<figure><img src="/files/F95D2YM5oKhFSxQKjKnb" alt=""><figcaption></figcaption></figure>

5. Por último, se comenzará a grabar el código en el microcontrolador a través del módulo **XCU** y el registro se mostrará en la ventana inferior como la siguiente imagen.

<figure><img src="/files/3S6FgK1LTBzdIQXtuDmg" alt=""><figcaption></figcaption></figure>

### Lista de comandos **AVRDUDE para programar AVRs**

**-p** (Microcontrolador) Te ayuda para decir el microcontrolador que se está programando. Por ejemplo, si está programando un microcontrolador ATmega328P, use **m328p.**

**-b** (Velocidad de transmisión) Te ayuda a anular la velocidad de transmisión en serie para programadores.

**-B** (Velocidad de bits) Te ayuda a controlar la tasa de bits, es la rapidez con que el programador se comunica con el chip.

**-C** (archivo de configuración) Te ayuda a la configuración del archivo **AVRDUDE** sobre todas las diferentes formas en que puede comunicarse con el programador. Hay un archivo de configuración predeterminado.

**-c** (programador) Te ayuda a especificar el tipo de programador. Por ejemplo, si se está utilizando el programador XCU se pondrá pickit2.

**-P** (puerto) Te ayuda a especificar el puerto de comunicación que se utiliza para la comunicación con el programador. Por ejemplo, puede ser COM1 o USB.

**-F**  Te ayuda a especificar el microcontrolador que estas programando.

**-e** Te ayuda a borrar el programa que ya se encontraba en el microcontrolador para poder cargar uno nuevo.

**-U** Este comando es realmente importante, con el realizamos la programación en nuestro microcontrolador, con el podemos realizar la escritura en flash o eeprom.  Los comandos r, w, v, son herramientas del comando principal (-U) se puede utilizar r (lectura) w (escritura) o v (verificar). Por ejemplo, si se desea escribir en memoria flash seria: **-U flash:w:**

**-n** Esto significa que en realidad no escribes nada.

**-V** Esto desactiva la verificación automática al escribir

**-u**  Esto te ayuda si deseas modificar los bits del fusible.

**-t** : Este es un modo ‘terminal’ donde puede escribir comandos en una fila. No uses esto, es confuso para los principiantes.

**-E** : Esto te ayuda a enumerar algunas especificaciones para el programador.

**-v** : Esto te da una salida detallada, en caso de que quieras depurar algo.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.microside.com/programadores-pics-and-avrs/preguntas-frecuentes/como-programar-con-el-modulo-xcu-a-traves-del-ide-microchip-studio-for-avr.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
