PDF de programación - Implementación de Bootloaders en Microcontroladores PIC16 y PIC18 de Microchip Inc.

Imágen de pdf Implementación de Bootloaders en Microcontroladores PIC16 y PIC18 de Microchip Inc.

Implementación de Bootloaders en Microcontroladores PIC16 y PIC18 de Microchip Inc.gráfica de visualizaciones

Publicado el 8 de Febrero del 2021
474 visualizaciones desde el 8 de Febrero del 2021
667,3 KB
5 paginas
Creado hace 8a (12/10/2015)
Implementación de Bootloaders en Microcontroladores
PIC16 y PIC18 de Microchip Inc.
Ricardo Guadrón Gutiérrez.¹
Juan José Guevara Vásquez.²

Resumen

En este artículo se hace una descripción de las

principales características de los programas
bootloaders, los cuales se utilizan para programar
microcontroladores PIC con una mínima cantidad
de dispositivos electrónicos.

Palabras clave:

Microprocesadores, PIC, lenguajes de programación
(computadores electrónicos), diseño de sistemas,
microcontroladores.

Introducción

Los microcontroladores son parte fundamental de
los equipos electrónicos tales como línea blanca,
audio y video, así como dispositivos móviles. Esto
los convierte en objeto de estudio obligatorio en
institutos de formación técnica y universidades en
áreas de la electrónica y sistemas embebidos. Al es-
tudiar los microcontroladores y realizar el montaje
de prototipos es indispensable pasar el firmware a
la memoria de programa del microcontrolador por
medio de un programador.

El programador es un equipo indispensable en labo-
ratorios de experimentación debido a que la necesi-
dad de programar varias veces al microcontrolador
es muy alta; esto es por lo general un problema en
la enseñanza de estos sistemas, ya que si bien una
institución puede adquirir programadores, estos no
siempre están disponibles para los estudiantes por
limitaciones de espacio, tiempo y para no acortar la
vida útil de los programadores existentes.

En sistemas microcontrolados, los bootloaders o car-
gadores de arranque son generalmente utilizados

para proveer un medio a través del cual se puedan
borrar y escribir o programar datos en la memoria
del microcontrolador. Esto trae consigo las siguientes
ventajas:

1.

2.

3.

Bajo costo de implementación.
No es necesario un programador externo³
para borrar y programar constantemente al
microcontrolador.

Se facilita el diseño de placas de experimenta-
ción y desarrollo.

4.

Códigos bootloader accesibles y gratuitos.

Las ventajas anteriores resultan inestimables en
ambientes de enseñanza, ya que los estudiantes
pueden construir un sistema de experimentación
basado en microcontrolador y realizar, tanto prácti-
cas como ejercicios, que les permiten solidificar sus
conocimientos y competencias en la programación de
microcontroladores.

El Programa Bootloader

Un bootloader es un pequeño programa que se
almacena en una zona de memoria del microcontrola-
dor y que por diseño se ejecuta al momento en que se
inicializa al microcontrolador por medio de un reset.

Al inicializarse el microcontrolador, el vector de re-
set del bootloader (que se encuentra en la dirección
0000h), se encarga de redirigir la secuencia del
programa al bootloader en la zona alta de la memo-
ria. Una vez que el cargador de arranque toma el
control, verifica si se debe ingresar al “Modo Boot-
loader”. La orden de ingresar a este modo es externa
y es generalmente originada por el usuario a través

(1) Ing. Electricista, Director Escuela de Ingenieria Eléctrica y Computacion,ITCA-FEPADE, email: [email protected]
(2) Tec. en Ingenieria Eléctrica, Docente Escuela de Ingenieria Eléctrica, ITCA-FEPADE, email: [email protected]
(3) Se requiere de un programador externo únicamente cuando se graba el firmware del bootloader en la memoria del microcontrolador,
(4) La dirección de memoria cambia en función del tamaño de la memoria de programa del microcontrolador.

Este documento es propiedad de la Escuela Especializada en Ingeniería ITCA-FEPADE. Derechos Reservados.

59

Escuela Especializada en IngenieríaREVISTA TECNOLÓGICA Volumen 7, N˚ 1ITCA-FEPADE A) Bootloader Serie RS232

Utiliza el módulo USART de los microcontroladores
para establecer comunicación con la computadora
por medio de un puerto COM disponible. Este tipo
de bootloader es ampliamente utilizado ya que casi
todos los microcontroladores PIC16 y PIC18 poseen
módulo USART. Cabe aclarar que tiene como limi-
tante la necesidad de una circuitería de acople de
señal y el hecho que los tradicionales puertos COM
DB9 ya no se incluyen en las computadoras moder-
nas, aunque esto puede solucionarse con la incor-
poración de un acople RS232-USB.

60

Fig. 1.

Mapa de memoria del microcontrolador PIC16
en donde se puede apreciar la ubicación de los
vectores de reset y firmware del bootloader. Las
flechas indican la secuencia que el microcontro-
lador sigue al inicializarse.

de un software o por medio de una combinación de
teclas, lo cual depende del tipo de bootloader que
se está utilizando. Si se recibe la orden de ingresar
al modo bootloader el programa entra en un bucle
que le permite recibir órdenes de lectura, escritura
y eliminación de datos (Tafanera, 2004).

Al finalizar el proceso de lectura-escritura o si no
se recibe la orden de ingresar a modo bootloader,
el programa pasa al vector de reset de la aplicación
que redirige la secuencia del programa al firmware
de la aplicación, el cual toma el control del micro-
controlador hasta que se vuelva a producir una ini-
cialización del sistema.

Fig. 2.

Circuito de acople y conversión RS232 a USB que
utiliza el chip FT232RL. Este circuito se instala
como un puerto COM USB. En las computadoras
que no disponen un puerto físico DB9, es la
opción recomendada.

B) Bootloader Serie USB

Es utilizado por microcontroladores PIC de alta gama
de 8 y de 16 bits que dispongan de un puerto de co-
municaciones USB. Tiene la ventaja de no requerir
circuitería de acople, además de proveer mayores
velocidades para la lectura y escritura de datos.

Microchip Technology Inc. provee dos tipos de
bootloader USB para sus microcontroladores: el
primero es el MCHPFSUSB, el cual requiere de la
instalación de controladores en el sistema operativo
de la computadora en donde se conectará el micro-
controlador; el otro tipo es HID, el cual no necesita
la instalación de controladores (Valdés, 2007).

Actualmente, se pueden encontrar dos tipos de
bootloader en función del puerto y protocolo
que utilizan para comunicarse con el software de
programación:

La nota de aplicación de Microchip AN1310 (Schlun-
der, 2010), provee un conjunto de recursos para la
implementación de un bootloader de alta velocidad
serie RS232 para microcontroladores PIC16 y PIC18.

Escuela Especializada en Ingeniería ITCA-FEPADEREVISTA TECNOLÓGICA Volumen 7, N˚ 1 Para implementar el bootloader en los PIC, se de-
ben tomar en cuenta los siguientes requerimientos:

a) MPLAB IDE X

Es el IDE de Microchip basado en Netbeans con
altas prestaciones para el desarrollador. Se instala
junto con el compilador XC8, sucesor de C18.

b)

c)

d)

e)

f)

Compilador MPASM v. 5.54
Es necesario para compilar correctamente el
código del bootloader para PIC16, se instala
junto con el compilador C18.

Compilador C18 v. 3.47
Se requiere para la compilación del código
del bootloader para PIC18.

Programador de microcontroladores PIC
Se utiliza una sola vez para grabar el firmware
del bootloader en la memoria del microcon-
trolador.

Recursos AN1310
Son indispensables, ya que proporcionan el
código fuente de los bootloader para PIC16/
PIC18, el software de comunicación con el
bootloader desde la computadora, la base de
datos para la adición de nuevos microcontro-
ladores y la documentación pertinente.

Microchip Solutions
Es una suite de códigos de ejemplo, aplicacio-
nes y librerías de las arquitecturas de micro-
controladores de 8 y 16 bits de Microchip. Los
bootloaders HID y MCHPFSUSB son propor-
cionados en esta suite.

Consideraciones sobre la Implemen-
tación del Bootloader Serie RS232

Para implementar el bootloader serie RS232 se de-
ben tomar en cuenta las siguientes consideraciones:

61

2.

Zona de memoria de almacenamiento del
Bootloader

El programa bootloader viene configurado
por defecto para guardarse en la parte alta
de la memoria de programa del microcontro-
lador. Sin embargo, se puede configurar para
que se guarde en la parte baja. Esto puede re-
sultar útil en microcontroladores PIC18, pero
no se recomienda para los PIC16. Si este fuese
el caso, se deben quitar los comentarios a la
línea 56 del fichero de configuración (header)
bootconfig.inc, para indicarle al bootloader
que debe cargarse en la zona baja de la me-
moria de programa.

Al utilizar el bootloader cargado en la zona
baja, será necesario que todos los programas
a crear especifiquen al programa linker que
debe reservar una zona de memoria median-
te el comando: codeoffset = 0x400h, esta
instrucción reserva 1KB de memoria de pro-
grama para el bootloader, evitando que al
momento de la programación el firmware so-
breescriba al bootloader.

Consideraciones sobre la Implemen-
tación del Bootloader HID en PIC18

1.

Bits de configuración del microcontrolador
Cada microcontrolador posee prestaciones
diferentes, por lo que los bits de configura-
ción deben configurarse como lo sugiere la
tabla 1.

Aprovechando el puerto USB disponible en micro-
controladores PIC18 y superiores, es posible imple-
mentar bootloaders tanto HID como MCHPFSUSB,
por las ventajas antes mencionadas, es preferible el
bootloader HID.

Escuela Especializada en IngenieríaREVISTA TECNOLÓGICA Volumen 7, N˚ 1ITCA-FEPADE Microchip provee a través de las USB HID Tools,
las herramientas necesarias para facilitar la imple-
mentación de este tipo de bootloaders. El firmware
viene pre compilado para los siguientes microcon-
troladores: PIC18F14K50, PIC18F4450 y PIC18F4550
escritos en lenguaje C18.

Las siguientes son algunas de las consideraciones
más importantes para implementar el bootloader HID:

I.

Entrada a modo Bootloader

En el bootload
  • Links de descarga
http://lwp-l.com/pdf18830

Comentarios de: Implementación de Bootloaders en Microcontroladores PIC16 y PIC18 de Microchip Inc. (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad