> ## Documentation Index
> Fetch the complete documentation index at: https://docs.embedder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Inicio rapido

## Antes de comenzar

Asegúrate de tener:

* Una aplicación de terminal (ver recomendaciones a continuación)
* Un proyecto de firmware para trabajar (o iniciar uno nuevo)

### Terminales recomendados

<Tabs>
  <Tab title="macOS / Linux">
    [Ghostty](https://ghostty.org/) para obtener la mejor experiencia en macOS y Linux.

    **macOS (casero):**

    ```bash theme={"system"}
    brew install --cask ghostty
    ```

    **Linux:**

    ```bash theme={"system"}
    # See https://ghostty.org/docs/install for distribution-specific instructions
    ```
  </Tab>

  <Tab title="Windows">
    [Alacritty](https://alacritty.org/) para obtener la mejor experiencia en Windows.

    **Usando ala:**

    ```powershell theme={"system"}
    winget install Alacritty.Alacritty
    ```

    **Usando pala:**

    ```powershell theme={"system"}
    scoop install alacritty
    ```
  </Tab>
</Tabs>

## Paso 1: Instalar e iniciar Embedder

Para instalar Embedder, utilice uno de los siguientes métodos:

<Tabs>
  <Tab title="macOS / Linux">
    ```bash theme={"system"}
    curl -fsSL https://embedder.com/install | bash
    ```

    <Info>
      Las instalaciones nativas se actualizan automáticamente en segundo plano para mantenerte con la última versión.
    </Info>
  </Tab>

  <Tab title="Windows">
    ```powershell theme={"system"}
    irm https://embedder.com/install | iex
    ```

    <Info>
      Las instalaciones nativas se actualizan automáticamente en segundo plano para mantenerte con la última versión.
    </Info>
  </Tab>
</Tabs>

Para iniciar Embedder, ejecute `embedder` en su directorio de proyectos:

```bash theme={"system"}
cd your-project
embedder
```

## Paso 2: Inicia sesión en tu cuenta

Embedder requiere una cuenta para su uso. Cuando inicia una sesión interactiva con el comando `embedder`, deberá iniciar sesión:

```bash theme={"system"}
embedder
# You'll be prompted to log in on first use
```

Siga las indicaciones para iniciar sesión con su cuenta. Si la aplicación web no se abre automáticamente, haga clic en el enlace en su pantalla.

Una vez que haya iniciado sesión, sus credenciales se almacenarán y no necesitará iniciar sesión nuevamente. Para cambiar de cuenta más tarde, utilice el comando `/logout`.

## Paso 3: Comienza tu primera sesión

Abra su terminal en cualquier directorio de proyecto e inicie Embedder:

```bash theme={"system"}
cd /path/to/your/project
embedder
```

Verá la pantalla de selección de proyectos de Embedder.

### Creando un proyecto

<Frame caption="Project selection interface">
  <img src="https://mintcdn.com/embedder/4y2q1agcuRz3fRND/images/select-project.png?fit=max&auto=format&n=4y2q1agcuRz3fRND&q=85&s=a9be00239cea81ce0616f63c85ec8a36" alt="Diálogo SELECCIONAR PROYECTO con cuadro de búsqueda que muestra el botón para crear un nuevo proyecto y la lista de proyectos anteriores" width="1992" height="1656" data-path="images/select-project.png" />
</Frame>

### Selecciona tu plataforma

Después de iniciar, Embedder le solicita que seleccione su plataforma de hardware. Utilice el cuadro de búsqueda para filtrar plataformas, luego utilice las teclas de flecha para navegar y presione Entrar para seleccionar.

<Frame caption="Platform selection interface showing Nordic Semiconductor options">
  <img src="https://mintcdn.com/embedder/ujO4-sDifSwa2qo6/images/select-platform.png?fit=max&auto=format&n=ujO4-sDifSwa2qo6&q=85&s=a6c3fc150ba41632be86d7a8f4b7f876" alt="Diálogo SELECCIONAR PLATAFORMA con cuadro de búsqueda que muestra las plataformas nRF9xxx de Nordic Semiconductor" width="1980" height="1636" data-path="images/select-platform.png" />
</Frame>

Seleccione la plataforma que coincida con su hardware. Embedder utiliza la documentación oficial de su plataforma para basar la generación de código y las respuestas.

Para agregar plataformas personalizadas, consulte [flujos de trabajo comunes](/es/core-concepts/common-workflows).

### Selecciona tus periféricos

Después de seleccionar su plataforma, Embedder le solicita que configure sus periféricos. Este paso le permite especificar qué componentes externos utiliza su proyecto.

<Frame caption="Peripheral selection interface with components from various manufacturers">
  <img src="https://mintcdn.com/embedder/ujO4-sDifSwa2qo6/images/select-peripherals.png?fit=max&auto=format&n=ujO4-sDifSwa2qo6&q=85&s=5bf9421145a180e0648c9072b476478c" alt="Cuadro de diálogo SELECCIONAR PERIFÉRICOS con cuadro de búsqueda que muestra componentes de Analog Devices, Nexperia y Allegro MicroSystems" width="1990" height="1646" data-path="images/select-peripherals.png" />
</Frame>

Utilice el cuadro de búsqueda para encontrar componentes específicos, luego utilice las teclas de flecha para navegar y presione la barra espaciadora para alternar las selecciones. Presione Enter cuando haya terminado de configurar sus periféricos.

Para agregar periféricos personalizados, consulte [flujos de trabajo comunes](/es/core-concepts/common-workflows).

<Tip>
  Puede cambiar la configuración de su periférico más adelante utilizando el comando `/peripherals`.
</Tip>

## Paso 4: Haz tu primera pregunta

Una vez que su plataforma y sus periféricos estén configurados, puede hacer preguntas específicas del hardware en lenguaje natural. Embedder hace referencia automáticamente a las hojas de datos, manuales de referencia y erratas relevantes. Si hay un dispositivo conectado, también lee la salida en serie en tiempo real.

Intente preguntar sobre su hardware:

```
tell me about the nrf9151 gps capabilities
```

<Frame caption="Embedder responding to a query about nRF9151 GPS capabilities with live serial output">
  <img src="https://mintcdn.com/embedder/ujO4-sDifSwa2qo6/images/example-prompt.png?fit=max&auto=format&n=ujO4-sDifSwa2qo6&q=85&s=f358b48eeddddf8005de9f15963b30d0" alt="Interfaz integrada que muestra un mensaje sobre las capacidades del GPS nRF9151, resultados de búsqueda de documentos con una tabla de requisitos de hardware y un monitor en serie que muestra información satelital" width="2862" height="1898" data-path="images/example-prompt.png" />
</Frame>

Embedder presenta documentación relevante, incluidos requisitos de hardware, configuraciones de pines y especificaciones de sincronización. El monitor serie muestra la salida en tiempo real desde su dispositivo conectado.

También puedes preguntar sobre tu código base:

```
what does this project do?
```

```
where is the main entry point?
```

```
explain the folder structure
```

<Note>
  Embedder lee sus archivos y hojas de datos según sea necesario; no es necesario agregar contexto manualmente.
</Note>

## Paso 5: Realiza tu primer cambio de código

Ahora hagamos que Embedder genere algo de firmware.

Pruebe una tarea sencilla:

```
add a function to toggle the LED on GPIO pin 13
```

El incrustador:

1. Encuentre el archivo apropiado
2. Lea las definiciones de registros relevantes de la hoja de datos.
3. Mostrarte los cambios propuestos con citas.
4. Pide tu aprobación
   5.Haz el cambio

<Note>
  Embedder siempre solicita permiso antes de modificar archivos a menos que se indique lo contrario.
</Note>

## Paso 6: Usa Git con Embedder

Embedder hace que las operaciones de Git sean conversacionales:

```
what files have I changed?
```

```
commit my changes with a descriptive message
```

También puede solicitar operaciones Git más complejas:

```
create a new branch called feature/uart-driver
```

```
show me the last 5 commits
```

```
help me resolve merge conflicts
```

## Paso 7: corregir un error o agregar una función

Describe el problema que estás viendo y Embedder te ayudará a depurarlo:

```
my SPI peripheral isn't responding - help me debug
```

O pegue un error:

```
I'm getting a hard fault when I call HAL_UART_Transmit - why?
```

El incrustador:

* Verifique su código con la hoja de datos
* Busque errores de configuración comunes
* Referencia cruzada de erratas conocidas para su MCU
* Sugerir y probar correcciones.

## Paso 8: Pruebe otros flujos de trabajo comunes

Hay varias formas de trabajar con Embedder:

**Escribe un conductor**

```
write an I2C driver for the BME280 temperature sensor
```

**Configurar un periférico**

```
set up PWM on Timer 2 with a 1kHz frequency
```

**Generar código de inicialización**

```
initialize the ADC for 12-bit resolution on channel 5
```

**Código de puerto a una nueva plataforma**

```
help me port this STM32 driver to nRF52
```

Consulte [flujos de trabajo comunes](/es/core-concepts/common-workflows) para obtener más información.

<Tip>
  **Recuerde**: Embedder comprende su hardware. Hágale preguntas de la misma manera que le haría a un ingeniero de firmware experimentado que haya memorizado la hoja de datos.
</Tip>

## Consejos profesionales para principiantes

<AccordionGroup>
  <Accordion title="Be specific with your requests">
    En lugar de: "configurar el temporizador"

    Pruebe: "configure el temporizador 3 para un intervalo de interrupción de 10 ms utilizando el reloj HSI de 16 MHz"
  </Accordion>

  <Accordion title="Use step-by-step instructions">
    Divida las tareas complejas en pasos:

    ```
    1. initialize the SPI peripheral at 1MHz
    2. write a function to read a register from the accelerometer
    3. add a function to configure the accelerometer for ±2g range
    ```
  </Accordion>

  <Accordion title="Let Embedder explore first">
    Antes de realizar cambios, permita que Embedder comprenda su código:

    ```
    analyze my clock configuration
    ```

    ```
    what's the current interrupt priority setup?
    ```
  </Accordion>
</AccordionGroup>

Consulte [mejores prácticas](/es/core-concepts/best-practices) para obtener más consejos.

## ¿Qué sigue?

Continúe con [Mejores prácticas](/es/core-concepts/best-practices) para obtener consejos sobre cómo obtener los mejores resultados, o [Flujos de trabajo comunes](/es/core-concepts/common-workflows) para ver ejemplos prácticos.

## Obteniendo ayuda

* **En Embedder**: escriba `/help` o pregunte "¿cómo puedo..."
* **Documentación**: explore nuestras guías para obtener información detallada
* **Comunidad**: únete a nuestra comunidad de Discord para obtener consejos y ayuda.
