BootLoader para 18F2550 (Entrenador NeoTeo)

Un BootLoader es un pequeño conjunto de instrucciones que forman un programa y se graban, en este caso en un microcontrolador, para permitir un posterior manejo y actualización de sus programas internos (firmware) sin necesidad de utilizar programadores (hardware) específicos. Es decir, utilizas un programador (o quemador) de microcontroladores una única vez para cargarle el mencionado BootLoader al microcontrolador y luego te bastará con una sencilla aplicación en tu ordenador para cambiar a tu antojo el funcionamiento de tus sistemas. Todo mediante una vulgar conexión al puerto USB. Las plataformas modernas que se asemejan a Arduino (incluida ésta) utilizan este sistema de programación y NeoTeo no podía quedar afuera. Ahora la programación está al alcance de todos.

Es imposible resumir en un sumario de pocas palabras las infinitas ventajas que posee un BootLoader. Sólo debes imaginarte la situación: tu hardware, tu ordenador y un cable de conexión USB entre ambos. Eso es todo lo que necesitas para transformar al entrenador NeoTeo en un voltímetro, en un videojuego, en un operador de servomotores y en miles de cosas más. A pesar de que el conector ICSP es una de las herramientas maestras de las que dispone una persona que se dedica a experimentar con microcontroladores, la utilización de un BootLoader te ahorra el uso de un hardware adicional de trabajo como es el programador (o quemador).

Con un BootLoader pre-cargado en el microcontrolador, eliminas el uso de un programador especial (quemador)

Un ejemplo de las miles de ventajas que puedes tener sería este: Tú le has vendido a Max una aplicación y luego de un tiempo de uso él te expresa su lamento y pesar sobre algunas deficiencias del producto, mientras te comenta que desearía que hagas algunas mejoras para lograr un funcionamiento óptimo y acorde a sus necesidades. ¿Qué deberías hacer en esa situación? ¿Pedirle a Max que desarme todo el equipo y te lo envíe? Imposible. ¿Viajar tú de un país a otro para cambiar dos líneas de programa, conectar el hardware programador y demorar menos de cinco minutos en resolver el problema? ¡De locos! En cambio, si el sistema inicial posee la sencilla carga previa de un BootLoader, le envías a Max un pequeño archivo por correo electrónico y él mismo podrá actualizar la versión de firmware con un elemental cable USB conectado a su ordenador. Así trabajan Arduino, Amicus y todas las plataformas similares que compiten en la web. Así de sencillo y tentador. ¿Quieres verlo? Observa como se cambia de una aplicación a otra diferente en apenas algunos segundos:

El principio de funcionamiento de un BootLoader es fácil de comprender. Se trata de un pequeño software, que se instala en un microcontrolador y ocupa un pequeño espacio de memoria dentro de él. Su única funcionalidad es servir de “anfitrión” para permitir la programación o re-programación del microcontrolador sin necesidad de un hardware específico, a veces costoso y que no es sencillo de armar ni utilizar. Toda la tarea de reinstalar un nuevo software para lograr diferentes trabajos por parte del microcontrolador, o al menos una actualización del firmware ya existente y funcional, se resume a un cable que une el microcontrolador con el ordenador. Puede ser una conexión por puerto serie (COM) o, lo que es mejor aún y que se utiliza en la actualidad, por puerto USB. Aquí tienes otro ejemplo de cómo funciona un sistema de carga con BootLoader (carga un programa que enciende el LED amarillo)

El resto del trabajo lo realiza una aplicación instalada en el ordenador que será la encargada de detectar la petición de grabación desde el microcontrolador y cargarle un nuevo programa o, como mencionamos antes, actualizar el existente. Si el microcontrolador no realiza un llamado de solicitud anunciando una conexión para una grabación de datos, el ordenador interpretará la conexión como un hecho natural y atenderá a la aplicación existente y funcional dentro del microcontrolador trabajando en conjunto con este dispositivo y realizando las operaciones que la aplicación requiera. Por ejemplo, el Voltímetro NeoTeo. También puede suceder que no necesites conectar nunca tu aplicación a un ordenador para que realice su trabajo y cumpla una tarea.

Por ejemplo: algunos de los carteles de LEDs que indican el recorrido de un transporte de pasajeros. Ese es un claro ejemplo donde el desarrollo no se utiliza “enlazado” a un ordenador. El empleado que se encarga de diagramar los viajes conecta un ordenador portátil mediante un cable USB, ejecuta una aplicación y con un simple clic del ratón cambia los textos del cartel indicador. Otros sistemas más modernos y sofisticados le transmiten al cartel la actualización de información mediante un enlace Wi-Fi. ¿Y cómo cargan la información recibida dentro del microcontrolador? Mediante el BootLoader anfitrión que el microcontrolador ya posee en su interior.

La Ley De Moore al acecho
Además, el camino irreversible de la miniaturización y la alta integración de los semiconductores nos entregan día a día dispositivos más pequeños y en encapsulados (package) muy difíciles de manipular. La mayoría de los microcontroladores “poderosos” del mercado comienzan a aparecer en encapsulados muy pequeños. Esto significa que retirarlos de una placa,  colocarlos en un programador y luego restituirlos al PCB donde cumplen su función es un trabajo imposible de realizar sin destruir al menos una docena de pines y/o calcinar el dispositivo y/o las vías del PCB. Por lo tanto, amigos, los tiempos de gloria del 16F84A, del 16F628A y hasta del mismo 18F2550 (que utilizamos en nuestra placa de entrenamiento) están llegando a su final. Quizás la visión de quien escribe estas líneas pueda parecer algo pesimista. Pero si se detienen a observar la mayoría de (por no decir todas) las placas de entrenamiento que comercializan las marcas líderes en microcontroladores, notarán que poseen versiones de montaje superficial para sus MCU (microcontroladores) y los medios de programación son el ICSP (con hardware programador) y por medio de BootLoaders. Estos últimos pueden ser por puerto serie o por puerto USB.

Para muestra, basta el botón que acabas de ver: MPLAB Starter Kit for PIC 18F MCU (que sería el primer escalón para comenzar a trabajar en el mundo de Microchip – MPLAB utilizando los PIC de la línea 18F) trabaja mediante el uso de BootLoaders. Toda la intervención con el hardware se limita a conectar un cable USB y a cargar nuestros programas. El soldador (cautín) ya comienza a desaparecer de la mesa de trabajo del desarrollador. En su lugar comienzan a abundar otras herramientas virtuales que ayudarán a reducir en forma notoria muchos métodos de “prueba y error” utilizados hasta ahora. Ya no bastará con que el sistema funcione en el simulador dentro del ordenador sino que también deberá hacerlo en la placa de entrenamiento. Pues entonces si hacia allí vamos, adaptemos nuestra placa de entrenamiento NeoTeo con el 18F2550 e ingresemos al futuro nosotros también.

Una solución de código abierto
Microchip posee herramientas gratuitas que se pueden descargar desde su sitio web y nos pueden ayudar a desarrollar aplicaciones con un mínimo de inversión y con la posibilidad de adquirir un aprendizaje muy importante. Dentro de las posibilidades que ofrece el sitio para trabajar con BootLoaders encontramos una aplicación dedicada a la familia del PIC 18F4550 mediante la conectividad USB que este microcontrolador brinda. Sobre esta plataforma basaremos nuestro trabajo adaptando el “programa base” que Microchip ofrece para satisfacer nuestras necesidades de uso dentro de la placa de entrenamiento NeoTeo.

Microchip ofrece una multitud de ejemplos y programas gratuitos para iniciarse en el mundo de los microcontroladores

Por ejemplo: en el BootLoader ofrecido (para el 18F4550) se utiliza el puerto D para colocar un LED indicador de estado. El 18F2550 no posee puerto D y en consecuencia tendremos que efectuar alteraciones allí. Por otro lado, un pulsador ubicado en el pin 4 del puerto B (en el desarrollo de Microchip para el 18F4550) nos resulta incómodo ya que el puerto B de nuestro entrenador estaría dedicado a un LCD alfanumérico y al bus I2C. Esta sería entonces otra variante a realizar sobre el programa original. Dicho nuevamente: partiendo de un sistema “base” reformaremos el BootLoader original para migrar desde un 18F4550 a un 18F2550. Atención!: Esto no termina aquí. Avanza a la siguiente página y comencemos a trabajar. ¡Manos a la obra!

Deja tu voto

2 puntos
Upvote Downvote

Total votes: 16

Upvotes: 9

Upvotes percentage: 56.250000%

Downvotes: 7

Downvotes percentage: 43.750000%

  • jukinch

    Atento al 100%! siguiendo hasta la ultima letra! Muy bueno Mario.

    • Mario Sacco

      Hola Jukinch! :))

      Gracias por acompañarnos Maestro!

      Un abrazo!

  • mindmaster

    muy articulo mario me servira para un trabajo de electronica

    eres grande mario GRANDE

    • Mario Sacco

      Hola mindmaster!

      Seguro te será muy útil para "muchos" trabajos con PIC. No lo dudes.

      Saludos!

  • Yesbond

    Hola Mario:

    Ya te estabamos extrañando, nos dejaste 3 semanas en espera de tus articulos, pero si que valieron la espera y con muchos honores, porque en verdad que esta excelente la aplicacion, ya que te abre la posibilidad a que los desarrollos que se realicen tengan una flexibilidad muy grande. Muy pero muy bueno este desarrollo.

    Mil gracias, un abrazo desde Colombia

    • jakala

      Buenas:

      me añado a la "extrañez" de la espera, pero como bien dice Yesbond, ha valido la pena :D.
      En mi caso, ademas, estoy haciendo un programador de pics por USB, que requiere un bootloader en un pic 18f2550… Me ha servido bastante para entender el funcionamiento de este "futuro" programador (futuro porque todavia no he conseguido grabar el pic, pero ya lo acabare, ya… 😀 )

      Un saludo, Mario.

      • Mario Sacco

        Hola jakala!

        Esa es la función del artículo presentado.
        Aquellos que no tengan un grabador de PICs sólo deben conseguirlo una vez y cargar en el microcontrolador el BootLoader. Luego todo se realiza mediante el puerto USB.
        Más fácil, imposible! :))

        Éxitos con tu programador!
        Saludos!

    • Mario Sacco

      Hola Yesbond!

      ¿3 semanas?¿Tanto tiempo?
      A veces uno vive la vida de manera muy acelerada y pierde la noción de los tiempos. Estuvimos muy activos concurriendo a un seminario de microcontroladores que se dictó en Buenos Aires entre otras cosas y el tiempo ha transcurrido sin piedad, pero aquí estamos nuevamente.

      Un BootLoader (o bootloader) es una herramienta magnífica realmente. Le resuelve los problemas a mucha gente. A pesar de que hoy abundan los programadores USB muy económicos y fáciles de construir, liberarse de esa carga es un hecho importante para muchos.

      Me alegra que sea de tu agrado amigo! :))
      Ahora hay que aplicarlo y aprovecharlo.

      Un abrazo! Gracias por estar siempre!

  • jakala

    Buenas Mario:

    Acabo de mirar los anteriores tutoriales, y no he visto un pcb o un esquematico de la placa de entrenamiento neoteo… Tienes pensado publicarlo? si es asi, podrias ponerlo en los adjuntos de este tutorial? Muchas gracias de antemano 😉

    Un saludo,

    Jakala

    • Mario Sacco

      Hola de nuevo jakala!

      Ya he colocado los impresos correspondientes en ambos artículos. El de la placa entrenadora y el del módulo para trabajar con BootLoader al final de este artículo (tercer página)

      La cuestión de los circuitos impresos es algo muy personal y hay oportunidades en que a los usuarios (a mí me sucede) les gusta hacer sus propios diseños de circuito impreso mejorando el que podamos presentar nosotros.

      Muchas veces pensamos: "esta vía debiera ser más fina o más gruesa" o también decimos: "esta vía debiera ir por aquí o por allá" y tal vez por esos motivos trato de dejar a criterio de Uds. el diseño del circuito impreso. Porque es una cuestión muy personalizada.De todos modos, ya he colocado en cada artículo, su correspondiente circuito impreso "que yo he utilizado y se observa en los videos" tal como lo han solicitado.

      Además, si la idea es armar una placa entrenadora con el sistema de BootLoader ya incorporado, los impresos ofrecidos no serían de gran utilidad. De todos modos, allí están los impresos para todos los amigos. 🙂

      Saludos jakala!

  • Falke

    Saludos amigo Mario,

    El tema de los Pics cada vez se pone mas interesante, yo tengo como pasatiempo la electrónica y estoy haciendo uno que otro montaje. Excelente articulo Mario!.

    Muchos Saludos.

    • Mario Sacco

      Hola amigo Falke!

      Los microcontroladores son extraordinarios respecto a las posibilidades que nos brindan de poder fabricar cosas muy útiles con muy poco esfuerzo. Además nos ayudan a estar a tono con las nuevas tecnologías y técnicas de programación.

      ¡Mira tú! ¿Quién me habría visto a mí programar en MPLAB y C18?
      Tener la posibilidad de estudiar, razonar y aprender (ir a perder el tiempo a una Universidad a buscar un Diploma es otra cosa) es una bendición que hay que aprovechar en esta vida. 🙂

      ¡Adelante con los montajes y la experimentación! ¡Éxitos amigo!

      Gracias por estar siempre con nosotros. :))

  • comrade k

    Disculpame editor pero para hacer este experimento necesitamos el esquema pcb y del circuito impreso para elaborar la placa.
    saludos

    • Mario Sacco

      Hola comrade k!

      Ya he colocado los diseños de los impresos que yo he utilizado en sus respectivos lugares dentro de los artículos (Éste y el de la entrenadora).

      Saludos!

      • comrade k

        gracias editor pero no encuentro por ningun lado la lista de materiales de la placa entrenadora.
        saludos.

  • Truko

    Esta super el articulo u.u, yo uso es un BootLoader por el puerto serial y para grabar, uso el termina de compilador CCS pic-c. Los BootLoader son muy útiles para depurar al instante el cosigo del proyecto y no extraer el pic (se dañan los pindes) para grabarle un ajuste. No se trabajar por el USB (no money =/ ) pero me a entusiasmado los excelente artículos anteriores respecto al tema, mientra estoy revisando uno manuales a ver como simulo el USB en isis proteus.

    • Mario Sacco

      Hola Truko!

      Ya no más puerto serie!
      Ahora puedes utilizar siempre un 18F2550 (o algo superior, pero siempre con USB) para todos tus proyectos y manejarte con una netbook simplemente gracias al BootLoader.

      Armas tu programa, lo compilas, conectas la aplicación al puerto USB mientras pulsas el botón, cargas el archivo con el programa que entregamos en este artículo … y listo!

      Los tiempos cambian y debemos acompañarlo.
      El USB ha llegado para reemplazar a todos los sistemas y sigue creciendo (habrás visto los artículos sobre USB 3.0).

      Saludos Truko! Gracias por estar siempre con nosotros! 🙂

  • billsmile

    Gracias Mario Magnifico aporte.

    • Mario Sacco

      Gracias billsmile! 🙂

      Hey! Ese gato se ha "chupao" una Quilmes y algo más! Eso es vida !!!! jajajaja !!!

      Saludos amigo! Gracias por acompañarnos!

  • juan

    Este proyecto esta basado en el entrenador pic?
    http://www.neoteo.com/entrenador-para-pic-18f2550.neo
    Tengo una duda, con este bootloader se puede cargar cualquier programa al pic independiente del lenguaje usado ya sea en assembler o en c?

    • jukinch

      No importa el lenguaje. El archivo hex que generan todos los compiladores para el pic podrá ser cargado con el bootloader.

      • Mario Sacco

        Exacto!

        Es tal cual como lo expresa el amigo Jukinch.
        Este bootloader es compatible para cualquier PIC de los mencionados en el artículo y una vez "grabado" o "cargado" dentro del PIC, mediante un cable USB y el programa "cargador que entregamos, tú sólo necesitas un archivo HEX para cargar en el PIC.

        Dá lo mismo que lo hayas hecho y compilado en BASIC, el C, en C18, en ASM, en PASCAL en lo que sepas utilizar. Sólo debes cargar un HEX respetando que ese programa se cargue desde la posición 0x1000 dentro del PIC. Sinó, estarías "pisando" el programa BootLoader" 😉

        ¡Saludos Juan! ¡Gracias por estar con nosotros!

  • Arka Siradakiler izle

    Disculpame editor pero para hacer este experimento necesitamos el esquema pcb y del circuito impreso para elaborar la placa.
    saludos

    • Mario Sacco

      Hola Arka!

      Ya están incorporados los impresos. En otros mensajes (más arriba) he hecho la aclaración.
      En realidad no lo necesitan. :)) Uds. lo quieren para que les sea más fácil el trabajo de armar las cosas. 😉

      Yo les aconsejo crear sus propios diseños de circuitos impresos. Eso los ayudará a lograr mucha gimnasia creativa. Además, para hacer impresos no hacen falta programas o softwares complejos. ¡Conozco a un amigazo que siempre hizo sus impresos con el PAINT que trae Windows! Armó plantillas de los pads (circulitos por donde pasan los terminales), de los circuitos integrados y de los componentes más utilizados y luego sólo copiaba y pegaba plantillas que luego terminaba uniendo con trazos. ¡Muy ingenioso y creativo!

      No dejen de crear UDs.
      Quizás los diseños que hagan sean más útiles que los nuestros. Mucho más importante aún es saber hacerlo cuando la aplicación es dedicada. Es decir, si necesitas controlar un termómetro y un motor que active una bomba de refrigeración, no creo que les sean muy útiles los impresos que propongo. :))

      ¡Es tan lindo crear!

      ¡Saludos amigo!

  • zitonguito

    los msp430 de texas tiene lo mismo desde ahce tiempo, se pueden programar por usb sin tener que retirar el microcontrolador de la placa, me parace que se le llama JTAG, ademas de que son muy muy versatiles y algunos vienen integrados con los xbee y hacer cosas similares que cion al arduino

  • ramiro

    HOLA MARIO ANTE TODO FELICITARTE COMO SIEMPRE POR LA CLARIDAD CON LA QUE EXPLCIAS CADA DETALLE DE TODOS LOS ARTICULOS. SOLO UNA COSA QUE QUEDA EN DUDA, YO ESTABA ESTUDIANDO ING ELECTRONICA EN LA UTN EN BS AS. POR PROBLEMAS EN EL MEDIO PERDI LA REGULARIDAD Y ESTE AÑO QUEDO SOLO PARA EL ESTUDIO, QUERIA SABER TENIENDO EN CUENTA TU EXPERIENCIA Y SABIDURIA JAJA QUE ES LO QUE PENSAS ACERCA DE LA FACULAD O UNIVERSIDAD… A MI ENTENDER Y POR MIS VIVENCIAS, SE APRENDE MUCHO ACTUALIZANDOTE LAS NECESIDADES DE MERCADO Y LAS TECNOLOGIAS VIGENTES QUE ESTANDO 6 HORAS POR DIA, 5 DIAS A LA SEMANA ENCERRADO EN 4 PAREDES ESTUDIANDO PURAS MATEMATICAS CON GRADO DE COMPLEJIDAD ELEVADO Y ESTUDIANDO FENOMENOS FISICOS QUE NO SON INDISPENSABLES A LA HORA DE APLICARLOS EN LOS PROYECTOS…. EN RESUMEN QUERIA PREGUNTARTE EN BASE A TU EXPERIENCIA: QUE RIESGO CORRO AL LANZARME SOLO A DISEÑAR INNOVACIONES Y APRENDIENDO POR MI CUENTA? VALE LA PENA?
    AHHHH Y PARA MI AYUDA VOS SOS ESTUDIANTE, GRADUADO?

    MUCHAAS GRACIAS MARIO POR TODO

    • ramiro

      DISCULPA EN EL 4 RENGLON : "ESTE AÑO QUEDO SOLO PARA EL TRABAJO" QUISE DECIR ERROR ED IMPRENTA

      • Mario Sacco

        Hola Ramiro!

        Nunca pongas en duda la posibilidad de lograr un título universitario. Si tienes la posibilidad de asistir a una Universidad, bajo ningún concepto debieras dejar de estudiar la carrera. Yo siempre insisto en que existen muchas clases de alumnos universitarios y son opiniones muy personales:

        1)Los que van a la Universidad a recibir un Diploma sólo para darle el gusto a papá, mamá y la abuela obteniendo el título a los golpazos y son mediocres toda su vida, saltando de trabajo en trabajo porque a pesar de tener un título, son inútiles para todo.

        2)Los que van a estudiar para recibir un diploma y luego con eso "intentar" demostrar que saben. Porque para ellos no interesa recibirse con notas bajas. El objetivo es "zafar"

        3)Los que sólo desean alcanzar el diploma para meterse de empleado jerárquico en una fábrica y liberarse de la lucha diaria de seguir progresando en la vida y en la especialización.

        4)Y los que hacen que me ponga de pié para felicitarlos y aplaudirlos por el esfuerzo de intentar ser cada día mejores profesionales avanzando en su especialidad, renovando su compromiso con los contínuos avances de la tecnología y luchando porque tengamos un país mejor.

        A esa gente defiendo a muerte. Al que "vá a aprender" a una Universidad y no al que "asiste" a una Universidad. Me dá mucha pena el que "logra" el diploma y me enorgullece el que "se choca" con el diploma en su camino hacia el contínuo avance y progreso.

        Por experiencia propia, conozco a los cuatro tipos enumerados. No me lo contó nadie.

        A eso me refería Ramiro.
        Ojalá tú seas de los que "sienten en la piel" lo que estudian. De los que lloran de emoción cuando logran el éxito en un diseño o en una construcción.

        Si en cambio eres un frío y oscuro personaje que no se inmuta ante nada y te crees el ombligo del mundo por tener un título universitario, sólo serás eso, un oscuro personaje.

        Te repito a tí y a todos los que puedan tener dudas sobre estas ideas. Si tienen la oportunidad, nunca dejen de estudiar, de crecer, de avanzar, de investigar, de enriquecerse. La universidad es la base para saber comprender las nuevas tecnologías. Sin la universidad, todo lo nuevo, se vuelve difícil e incomprensible y es por la falta de una "base" analítica y estructurada de ver, pensar y analizar las cosas nuevas que se interponen en nuestro camino. (excepto que seas una mente brillante)

        Si eres un luchador, un título universitario te elevará las posibilidades de defenderte en este mundo capitalista. Si eres un inútil, un título universitario sólo adornará una pared de tu casa.

        Respecto a mí, no interesa que sea Aprendíz, Técnico, Ingeniero, Master, un millonario excéntrico o un simple perro callejero. Mi vida (que no es corta) se basó siempre en leer, estudiar, aprender, investigar, ensayar, probar, quemar cosas, hacer funcionar muchas otras y por sobre todo ser felíz con lo que hago cada día. Para lograr todo eso … ¿importa el título que tengo?

        Resumen:
        Si el estudio es un medio para lograr la felicidad de tener los conocimientos de cosas que uno siente en lo profundo de su ser, intentarlo está bárbaro y soy el primero en aplaudirte de pié.
        Si el estudio es un objetivo para lograr un trabajo cómodo, podrás tener dinero, pero serás una pobre persona toda tu vida.
        Recuerda que no es lo mismo ser "una persona pobre" que "una pobre persona".

        Ojalá puedas retomar tus estudios y lograr tu título. Desde aquí mis mejores deseos! :))

        Saludos amigo!

  • ramiro

    que mas decirte que agradecerte por todo lo que haces por nosotros. Sos una persona que vale oro Mario. te agradezco nuevamente tus sabios consejos. Y me hiciste replantearme muchas cosas leyendo lo que escribistes. Voy a optar por el camino que me hace mas feliz y si en algun momento llego a la cuspide de mi felicidad jaja seras el primero en saberlo. Desde Lomas de Zamora, Bs. As., Argentina. Ramiro

  • Godard

    Hola mario:

    Siempre leo tus articulos, muy buenos.
    Solo una consulta: estaba haciendo mi arduino, que como mencionas tambien tiene un bootloader, pero para cargarlo se necesita de un conector ICSP que la arduino tambien tiene. Yo intente cargarlo mediante el puerto paralelo de la PC con un cable que yo hice al conector ICSP (la page de arduino muestra como). No funciono. Parpadeo el led pero un rato, en el programa del arduino salia error. Mi pregunta es: para grabar en arduino es indiferente grabarlo por el ICSP o el puerto USB? (serie n mi caso estaba haciendo una version antigua). En la tarjeta que armas usas un PULSADOR para grabar por un medio(el bootloader, USB, creo). La arduino no tiene ese pulsador tons puedes grabarlo por cualkier medio por igual??

    Gracias por tu respuesta.

    PD: Tambien me hizo reflexionar tu ultimo mensaje, realmente eres una gran persona. Exitos!

  • TiTaNB

    excelente¡¡¡¡¡¡¡ ahora que me llegue el pic pondre manos a la obra…….

  • ZeK005

    Nuevamente…… increible lo tuyo Mario, por enesima vez me saco el sombrero 😉

  • Thenot

    grande mario.. esta es una herramienta muy buena, yo ya tengo conocimiento en este bootloader de microchip, ya e hecho 3 plaquitas con el y en las 2 ultimas me tire a modificar el boot que entrega microchip y por demás es muy genial dado que te olvidas del grabador, claro esta que si te olvidas de colocar una linea en el programa, tendrás que volver a usar el grabador y grabar nuevamente el boot.

    Saludos.. aunque ya se como funciona esto seguiré leyendo el post completo..=)

  • Thenot

    una cosa para el que programe en PicBasic pro (como yo) para remapear el vector de reset solo basta colocar:

    DEFINE RESET_ORG 1000h
    al comienzo del programa y ya esta listo =)

  • Sario Macco

    Hola Mario, excelente proyecto, amplio mucho mis conocimeintos, solo una cosa…vos decis "cargamos la fila"…es un argentinismo de "cargamos un archivo"??? jajaja file=archivo.
    Va con onda…saludos y gracias.

  • leo

    yo lo instale en windows7 y no me funciona, alguien sabe como resolverlo

  • anonimo

    se ve muy interesante, lastima que no tengo el hardware necesario(nada mas el conector USB) lo de mas ya lo tengo o al menos la base, en cuanto a la placa entrenadora se ve interesante y como buena placa entrenadora, con elementos modulares, tambien me agrada ese cambio rapido del programa con unos cuantos clicks. A probar, y tomar en cuenta el detalle de la ubicacion del codigo, tambien ya tengo que dejar esa necia negacion a querer hcer los programas en C, simpre los hago en ensamblador, esta muy bien asi pero la verdad los proyectos que quiero hacer ya son mas que pesados. Cuidense y ya les estare haciedo capturas o preguntado.

  • Johny

    Estimados NeoTEo

    He armado la placa entrenadora pero surge un problema. Mediante un programador JDM cargué el bootloader, luego saque el pic y lo coloqué en la placa entrenadora y cuando lo conecto al USB con el botón de Bootloader presionado, no pasa nada.

    Probé cargando otro bootloader, el Microingeniería y con este archivo por lo menos prende uno de los leds de control, pero no titila.

    Qué puede estar pasando? Qué debería chequear?

    Saludos,

  • hoyvera

    hola a todos, tengo un problema con el hid bootloader, cuando kiero ejecutarlo me sale un mensje de error, alguien sabe como resolver eso?… ahh tengo win xp.

  • germany1306

    EL PROGRAMA BOOTLOADER.HEX ADJUNTO AL FINAL ES EL UNICO QUE SE LE CARGA AL PIC(POR MEDIO DE UN PROGRAMADOR), PARA QUE YA QUEDE LISTO PARA LAS SIGUIENTES PROGRAMACIONES CON SOLO USB CLARO Q APARTIR DE LA LINEA 0X100 PARA Q NO HAYA PROBLEMA ALGUNO CON EL BOOTLOADER, Y NO ENTENDI EL PROCEDIMIENTO DE MODIFICAR LA LIBRERIA IO_CFG.H ME PODRIAN ACLARAR QUE ES EXACTAMENTE LO QUE SE LE MODIFICA.
    ME PARECE UNA ESTUPENDA FORMA DE ABRIRNOS EL MUNDO HACIA EL USB

    MUCHAS GRACIAS MARIO POR TU APORTE FELICIDADES¡¡¡ POR TU GRAN APLICACION DE CONOCIMIENTOS ADQUIRIDOS ERES UN EJEMPLO A SEGUIR.
    P.D. SOY DE MEXICO ME PODRIAN AYUDAR CON ESTAS DUDITAS GRACIAS.

  • electromen

    deja ver si entendi, hago un pograma en el mplab como cualkier otro, y para cargarlo en el botloader, solo voy a esa aplicacion y cargo el HEX que me genero el programa que realice y listo. O tengo que darle una direccion especifica a el programa para que se pueda cargar en el botloader, un ORG XX especifico de acual partir?

  • wakaDest

    Funciona en windows 7?
    googleando me di conque el bootloader para el pic18f4550/2550 , mas bien el driver no es compatible con windows vista/seven,por lo que veo lo tienes en XP, alguien lo ha puesto en windows 7 ?

  • Waldo

    saludos, me parece interesante el tema y por ello he tratado de compilar el ejemplo que has propuesto pero me genera un error
    MPLINK 4.40, Linker
    Device Database Version 1.3
    Copyright (c) 1998-2011 Microchip Technology Inc.
    Error – section ‘_cinit_scn’ can not fit the section. Section ‘_cinit_scn’ length=0x0000009e
    Errors : 1
    no entiendo que quiere decir esto si puedo obtener ayuda con respecto a ello agradecere bastante.

  • Tomas Arango

    Hola Mario,

    Exelente todos los artículos pero en el de Bootloader para 18f2550
    no he podido pasar a la siguientes páginas, pues estoy buscando el impreso del circuito.
    ¿ Donde lo puedo encontrar???

    Saludos!

  • Tomas Arango

    Hola Mario,

    Exelente todos los artículos, pero en el de Bootloader para la Entrenadora de 18f2550, no he podido pasar a las siguientes páginas,
    pues estoy buscando el impreso o diagrama del Bootloader.
    ¿Donde lo puedo encontrar???

    Saludos!

  • Joe

    Los enlazes a las paginas 2 y 3 no funcionan!!!!!!

  • Joaquín Rivera Padilla

    Este bootloader HID de Microchip tambien funcionaría con el compilador CCS???.

    ME refiero a que, si cargo el bootloader como indican con C18, y luego para mi proyecto utilizo el compilador CCS para generar el Hex no tendría problema alguno de compatibilidad. (Obvimente respetando los vectores de interrupción.)

  • Javier

    Hola,

    Encantado de ver que cada vez somos más los que ponemos contenido relacionado con los micros y la electrónica en castellano. El artículo está muy bien, hace pocos días precisamente escribí algo de temática similar aunque entrando más en detalle sobre las estrategias a seguir para desarrollar un Bootloader, espero que si lo lees sea de tu agrado, como para mi lo ha sido leerte a ti

    http://www.javierlongares.com/arte-en-8-bits/sistemas-embebidos-reprogramacion-y-cambio-de-funcionalidad-en-tiempo-de-ejecucion/

    Saludos

  • Mel

    No funcionan los enlaces que siguen a la pág. 1 !
    Favor, arreglarlo…. gracias!

  • Anónimo

    Hola

    Me parece muy bien el tema y con muchos futuro pero tengo una pregunta, como se graba el PIC ya que al momento tengo bastante opciones y no se cuales activar y cuales no

    Saludos….

  • Daniel

    Excelente Mario, esta de pelos.
    Lo he estado probando y va de maravilla solo quisiera intercambiar el boton conectado a RC2 y pasarlo a RC0, y el led que esta en RC0 pasarlo a RC2, pero cada ves que intento compilarlo en el mplab me tira errores y no he logrado compilarlo. Me podrias hacer el favor de intercambiarlos??? En verdad te lo agradeceria bastante.

    De antemano,gracias.

  • Anónimo

    no encuentro el modulo para entar en modo boot alguien lo tiene para poder hacerlo gracias

  • mike

    gracias por tu gran gran gran aporte amigo…lo valoro mucho…

  • Ernesto

    En la descarga, vi la carpeta original del Bootloader del 4550 con su op_cfg original, mas no vi el io_cfg modificado para el 2550. Podría por favor subirlo?
    Muy bueno el tutorial. Gracias!

  • pablo

    excelente articulo pero por desgracia parece que no sirve el link a la siguiente página, podrian actualizarlo? muchas gracias

  • Hernán

    Hola, esta muy interesante; pero cuando lo conecto al PC no reconoce el dispositivo. Hay alguna solución para esto?

    Gracias

  • orlando flores

    buen día una pregunta construí una tarjeta como la tuya pero tengo problemas para convertirla en tarjeta de adquisición e datos y pueda detectarla labview me podras ayudar???? muchas gracias!!!
    buen trabajo!!!!

  • ramonlara99

    buenas tardes, por favor pueden colocar la segunda parte de este articulo nuevamente, gracias saludos.

  • Adrian Lopez Arjona

    hola, donde se encuentra el esquema y el circuito impreso del bootloader?

  • Neoteo

    me gusta este proyecto, me puedes compartir los circuitos? porfa

  • Julio Wallingre

    me queda titilando un led en la salida RA1 y no carga los programas, alguien le paso lo mismo como puedo solucionarlo, gracias.