Autor Tema: bootloader pic16f819  (Leído 1588 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado JuanjoPic

  • PIC12
  • **
  • Mensajes: 97
bootloader pic16f819
« en: 08 de Octubre de 2017, 04:06:42 »
Hola compañeros;
Bueno he estado leyendo por el foro acerca del bootloader y me dio por hacer mi primer bootloader y buscando en la web http://tinypicbootload.sourceforge.net/ el pic16f819 puede ser cargado con uno, pero busque en su datasheet y no encontré nada relacionado con ello (busque como boot-loader y self read/write Program Memory).

Asi que me surgieron unas dudas:
¿Puedo cargar un Bootloader en ese pic?
¿Como se busca un pic que tenga bootloader? (bueno yo busque en el datasheet como bootloader, boot y self read/write Program Memory en Special Microcontroller Features) 

Ademas me gustaría poder simular un bootloader:
¿Se puede simular una aplicación con bootloader (que podría hacer?)?

Cualquier ayuda me sera útil

Gracias.

Desconectado AleSergi

  • PIC16
  • ***
  • Mensajes: 209
Re:bootloader pic16f819
« Respuesta #1 en: 08 de Octubre de 2017, 04:53:00 »
justo ese pic que has elegido,  no puede "autoprogramarse",  creo que lo conversamos aqui...
El pic que si puede ser funcional al boot loader,  es el PIC16F88.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:bootloader pic16f819
« Respuesta #2 en: 08 de Octubre de 2017, 11:49:29 »
El PIC16F819 SI se puede autoprogramar, el datasheet dice esto:

Citar
The data EEPROM and Flash program memory are readable and writable during normal operation (over the full VDD range)

El acceso a la flash, se hace mediante los mismos registros que al EEPROM, nomas que hay que cambiar este bit:

Citar
EEPGD: Program/Data EEPROM Select bit
1 = Accesses program memory
0 = Accesses data memory

Incluso tenes una seccion que dice:

Citar
3.7 Writing to Flash Program Memory

Por eso mismo fue probado el bootloader ahi.

Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/39598F.pdf
Pagina 30.

Desconectado AleSergi

  • PIC16
  • ***
  • Mensajes: 209
Re:bootloader pic16f819
« Respuesta #3 en: 08 de Octubre de 2017, 12:36:46 »
intente justamente con el programa boot de esa página, nunca logre que funcionara el boot para el '819. pense que hacia algo mal...   despues en una conversación que teníamos al respecto se advirto que no se autoprogramaba...

Vas a hacer que lo intente de nuevo, en esa ocasión casi se me queman las pestañas...  investigare de nuevo.

Desconectado AleSergi

  • PIC16
  • ***
  • Mensajes: 209
Re:bootloader pic16f819
« Respuesta #4 en: 08 de Octubre de 2017, 13:30:03 »
cuac!...
lei tiny al principio del post y pense que era ésta página, con la cual Yo intentaba...  nada que ver, no son las mismas...

www.etc.ugal.ro/cchiculita/software/picbootloader.htm

Desconectado JuanjoPic

  • PIC12
  • **
  • Mensajes: 97
Re:bootloader pic16f819
« Respuesta #5 en: 08 de Octubre de 2017, 14:05:59 »
Entonces se podría usar.

Una consulta, en estos momentos no tengo ese pic (lo tendré en unos dias) y por mientras me queda solo simular.

Lo que haré sera cargar el  boot y luego por un puerto com vitrual enviare el .hex de un ejemplo sencillo hacia el micro simulado.

Esta bien eso ono?? (alguien lo ha hecho)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:bootloader pic16f819
« Respuesta #6 en: 08 de Octubre de 2017, 15:26:29 »
La pagina ofrece como debes conectar el micro, es por UART, Pero usa por ejemplo el pin RTS como reset ..

Luego tenes que enviar los datos a escribir de la forma exacta que espera el bootloader. Que parece ser asi:

Citar
Flash transfer format:
[AddressH][AddressL][2*N][DataL(1)][DataH(1)]....[DataL(N)][DataH(N)][SUM]

[AddressH] Start address of the flash page to override the data. (upper)
[AddressL] Start address of the flash page to override the data. (lower)
[2*N] Number of transfers of data as described in piccode.ini. (byte notation)
[DataL/H(n)] Rewrite data (2*N)bytes.
[SUM] Checksum.

Nunca use el bootloader, asi que no puedo darte mayores precisiones.

Desconectado JuanjoPic

  • PIC12
  • **
  • Mensajes: 97
Re:bootloader pic16f819
« Respuesta #7 en: 08 de Octubre de 2017, 20:34:58 »
Ahh, entonces descargo el boot de la web y siguiendo esos pasos le transfiero un programa al pic.

Pero creo que no debiera seguir esa rutina que haz dicho, ya que el pic18f819  utiliza la EEPROM (ono?), debiera usar esta :
Citar
② EEPROM transfer format:
[EEAddressH][EEAddressL][2][EEData][0][SUM]

[EEAddressH] Address of the EEPROM to override the data | 0x40 (upper)
[EEAddressL] Address of the EEPROM to override the data. (lower) EEAddressH:EEAddressL >= 0x4000
[2] Number of data transfers. (Always 2)
[EEData] EEPROM 8-bit data to be rewritten.
  • Always 0.
[SUM] Checksum.

Tiene sentido usar esos pasos?

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:bootloader pic16f819
« Respuesta #8 en: 08 de Octubre de 2017, 20:47:25 »
El programa a ejecutar va en la Flash.

El que te pase es justamente el de la FLASH, vos el que pusiste es el de la EEPROM. Observa que para el de la Flash la direccion 0x0000 es poner 0x00 0x00, mientras que para guardar algo en la EEPROM, la parte superior tenes que hacer una OR con 0x40, dejandote la direccion 0x00 de la EEPROM en 0x4000

Desconectado JuanjoPic

  • PIC12
  • **
  • Mensajes: 97
Re:bootloader pic16f819
« Respuesta #9 en: 10 de Octubre de 2017, 03:11:59 »
ahh, entonces debo seguir los pasos del ejemplo que me diste.

Otra consulta, ¿si descargo el bootloader no debiera seguir los pasos que el datasheet del pc16f819 indica para escribir en la flash??(eso lo hace solo el programa del bootloader)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:bootloader pic16f819
« Respuesta #10 en: 10 de Octubre de 2017, 08:11:59 »
El bootloader, su nombre puede parecer raro al principio o que implique grandes cosas, pero no es mas que un programa.
En ves de iniciar el micro y correr TU programa desde comienzo, lo que hace es ejecutar primero el bootloader, en el caso mas simple de bootloader que podes esperar, es que dependiendo  del estado de un pin se ejecute el bootloader o no (y que vaya al programa del usuario). Este "programita" configura la UART y espera datos desde alli en un formato, cuando recibe datos comienza la escritura de la Flash.

En si tu bootloader (pedazo de codigo que se ejecuta antes que el codigo del ususario) lo que hace es:
- Configurar la UART
- Esperar datos en el formato decidido por el creador
- Grabar datos en la Flash (Aca aplica los pasos del datasheet para rabar la flash).

Asi que lo unico que necesitas vos hacer es enviar esos datos en el formato que te pide el bootloader. El resto lo hace el bootloader.


Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re:bootloader pic16f819
« Respuesta #11 en: 10 de Octubre de 2017, 22:58:43 »
Mi recomendacion para bootloader en PICs, como siempre, ds30Loader, tu PIC esta soportado, es facil de configurar, facil de cargar, software libre, sin problemas, nunca me ha fallado  :-/

Lo descargas desde https://picbootloader.com/forum/showthread.php?tid=508

Esta es la versión gratuita, me ha trabajado excelente sin ningún problema

Saludos
Nunca se deja de aprender