# mikroC PRO for PIC

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FuY7U3Y8NFH1zOYypkDYc%2Fimage.png?alt=media&#x26;token=a5231ef4-5208-4e30-8092-e47e578eabe9" alt="" width="157"><figcaption></figcaption></figure>

## Configuración de bootloader

{% hint style="warning" %}
Esta configuración solo es compatible para los **PIC18F4550** y **PIC18F45K50**.
{% endhint %}

Para utilizar un **PIC18F4550/45K50** precargado con **Bootloader Microside** es <mark style="background-color:red;">**indispensable**</mark> colocar la siguiente línea de código en el encabezado del programa:

{% code fullWidth="true" %}

```c

#pragma orgall 0x1FFF   // Espacio reservado para bootloader

```

{% endcode %}

Posteriormente colocar <mark style="background-color:orange;">**`org 0x2000`**</mark> después o en la misma línea que la función main, como a continuación:

{% code overflow="wrap" fullWidth="true" %}

```c
#pragma orgall 0x1FFF   // Espacio reservado para bootloader

void main()
org 0x2000  // Se especifica el segmento a partir de cual se almacenara el programa
{
    ...Código
}
```

{% endcode %}

{% code overflow="wrap" fullWidth="true" %}

```c
#pragma orgall 0x1FFF   // Espacio reservado para bootloader

void main() org 0x2000  // Se especifica el segmento a partir de cual se almacenara el programa
{
    ...Código
}
```

{% endcode %}

Después, dirígete al menú superior del compilador y da clic en ***Tools y Options**.*

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fc90TZCET2k9Vslve59aG%2FConfiguracion%20bootloader_microC%20PRO%20for%20PIC_X-TRAINER_Microside%2001.jpg?alt=media&#x26;token=eca40078-0031-4c58-9045-cef127f573e5" alt="" width="563"><figcaption></figcaption></figure>

Ve al apartado ***Output Settings***, marca la casilla ***"Long HEX format***" y da clic en ***Apply***.

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F8d4DSjvC5givgExMaJQn%2FConfiguracion%20bootloader_microC%20PRO%20for%20PIC_X-TRAINER_Microside%2002.jpg?alt=media&#x26;token=9aa39155-e57a-4890-a873-653111f8630a" alt="" width="563"><figcaption></figcaption></figure>

Por último, dirígete a ***Project*** > ***Edit Project*** y coloca ***48.000000*** en la casilla de ***"MCU Clock Frequency \[MHz]".***

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FMZv47lSAU9gdFTUU36M0%2FConfiguracion%20bootloader_microC%20PRO%20for%20PIC_X-TRAINER_Microside%2003.jpg?alt=media&#x26;token=9ce50582-f16b-411c-84ac-cfc287f1089a" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FxQI3h45ez6ADlKSiHCb3%2FConfiguracion%20bootloader_microC%20PRO%20for%20PIC_X-TRAINER_Microside%2004.jpg?alt=media&#x26;token=1e3ac638-8458-4a6a-ad65-2fb76c4e2886" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
Realiza dicha configuración **antes** de intentar cargar el programa, de lo contrario el Software X-TRAINER Suite podría presentar errores.
{% endhint %}

{% hint style="success" %}
Todas nuestras prácticas para **PIC18F4550/45K50** en **mikroC PRO for PIC** ya están configuradas para su uso con **Bootloader Microside**.
{% endhint %}

### Ejemplo:

{% code overflow="wrap" lineNumbers="true" %}

```c
#pragma orgall 0x1FFF   // Espacio reservado para bootloader

#define LED LATA4_bit   

void main() org 0x2000  // Se especifica el segmento a partir de cual se almacenara el programa

{
   LATA4_bit = 0;       
   TRISA4_bit = 0;      

   while ( 1 ) {
      LED = 1;          
      Delay_ms( 1000 ); 
      LED = 0;          
      Delay_ms( 1000 ); 
   }
}
```

{% endcode %}
