# Configuración de bootloader

## Configuración PIC16F877A 7 PIC16F887

### ¿El código que creaste no se ejecuta en la tarjeta X-TRAINER?

Para utilizar un **PIC16F877A y PIC16F887** precargado con **Bootloader Microside** es **indispensable** que el inicio del programa cuente con dos instrucciones, los compiladores en C agregan estas instrucciones de manera automática, sin embargo, si estás trabajando con **ensamblador** deberás agregarlas manualmente. Las instrucciones deberán incluirse después de la declaración de directivas y los bits de configuración, pero antes de cualquier instrucción.<br>

```asmatmel
	; Ejemplo de directivas y bits de configuración
	; en ensamblador MPASM
	LIST P=16F877A  
	INCLUDE <P16F877A.INC>  

	__CONFIG _FOSC_HS & _WDTE_OFF & _PWRTE_OFF & _BOREN_OFF & _LVP_OFF & _CPD_OFF & _WRT_OFF & _CP_OFF  

	; Instrucciones de configuración de bootloader
	MOVLW 0
	MOVWF PCLATH ; Reinicia el contador de programa
	GOTO MAIN    ; Ir al inicio de programa
	
MAIN    ; Inicio de programa
	; Incluir su código a partir de éste punto
	; Código de programa en ensamblador de ejemplo
	BCF STATUS,RP1
	BSF STATUS,RP0
	CLRF TRISD
	BCF STATUS,RP0
	MOVLW 0xFF
	MOVWF PORTD
LOOP
	NOP
	GOTO LOOP
```

## Configuración PIC18F4550 y PIC18F45K50

## ¿El código que creaste no se ejecuta en la tarjeta X-TRAINER?

Para utilizar un **PIC18F4550/45K50** precargado con **Bootloader Microside** es <mark style="background-color:red;">**indispensable**</mark> realizar diversas configuraciones dependiendo del compilador que estes utilizando, a continuación, encontrarás tutoriales para configurar el bootloader en tu proyecto.

<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-type="content-ref"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>PIC C Compiler CCS</strong></mark></td><td><a href="configuracion-de-bootloader/pic-c-compiler-ccs">pic-c-compiler-ccs</a></td><td><a href="configuracion-de-bootloader/pic-c-compiler-ccs">pic-c-compiler-ccs</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>mikroC PRO for PIC</strong></mark></td><td><a href="configuracion-de-bootloader/mikroc-pro-for-pic">mikroc-pro-for-pic</a></td><td><a href="configuracion-de-bootloader/mikroc-pro-for-pic">mikroc-pro-for-pic</a></td></tr></tbody></table>

<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-type="content-ref"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE - XC8 Compiler</strong></mark></td><td><a href="configuracion-de-bootloader/mplab-x-ide/xc8-compiler">xc8-compiler</a></td><td><a href="configuracion-de-bootloader/mplab-x-ide/xc8-compiler">xc8-compiler</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE - PIC AS Compiler</strong></mark></td><td><a href="configuracion-de-bootloader/mplab-x-ide/pic-as-compiler">pic-as-compiler</a></td><td><a href="configuracion-de-bootloader/mplab-x-ide/pic-as-compiler">pic-as-compiler</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE - MPASM Compiler</strong></mark></td><td><a href="configuracion-de-bootloader/mplab-x-ide/mpasm-compiler">mpasm-compiler</a></td><td><a href="mplab-x-ide/mpasm-compiler#configuracion-de-bootloader">#configuracion-de-bootloader</a></td></tr></tbody></table>
