Autor Tema: Bootloader USB HID para PIC 24F  (Leído 10874 veces)

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

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Bootloader USB HID para PIC 24F
« Respuesta #15 en: 15 de Enero de 2011, 03:14:39 »
Ansioso estoy por leerte  :shock:

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: Bootloader USB HID para PIC 24F
« Respuesta #16 en: 15 de Enero de 2011, 09:03:19 »
Como hacéis la reserva de memoria para el bootloader en CCS??

Creo que ahí es donde posiblemente esté el problema...

Comenta la linea que carga el usb_bootloader.h (este es el que reserva la memoria)

y pon esto:
Código: [Seleccionar]
#define CODE_START   0x1000
#build(reset=CODE_START, interrupt=CODE_START+0x08)
#org 0, CODE_START-1 {}

A mí desde que uso eso... ningún problema con los bootloaders USB HID de Microchip y el CCS ;D

Saludos!

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Bootloader USB HID para PIC 24F
« Respuesta #17 en: 15 de Enero de 2011, 09:28:40 »
Hola JIM,

Pero si intentas lo mismo con CCS 4.117 te funciona?

El problema es de CCS para versiones superiores a 4.084... ¿Si te funciona con versiones superiores?, de ser así, seria grandioso porque no hay que hacer lo que me ha tocado para que funcione.


Estoy buscando la mejor manera de hacerlo, pues el procedimiento actual es un poco engorroso...

Yo lo hago asi:
Citar
#define LOADER_END   0xFFF                        
#build(reset=LOADER_END+1, interrupt=LOADER_END+9)   //Protege posiciones de memoria desde la 0x0000 hasta la 0x1000  

#org 0, LOADER_END {}
« Última modificación: 15 de Enero de 2011, 09:33:49 por LABmouse »

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: Bootloader USB HID para PIC 24F
« Respuesta #18 en: 15 de Enero de 2011, 10:09:44 »
Sí, siempre trabajo con la última de CCS.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Bootloader USB HID para PIC 24F
« Respuesta #19 en: 15 de Enero de 2011, 10:41:13 »
JIM, intente haciendo como lo dices y no me ha trabajado. Sigue pasando que escribe el microcontrolador en blanco.


Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: Bootloader USB HID para PIC 24F
« Respuesta #20 en: 15 de Enero de 2011, 10:45:20 »
Haz una prueba. Utiliza el MiEHiDLoader y dime si funciona, si es sí, te digo lo que hay que cambiar en el código fuente del software de grabación ;)

http://www.microingenia.com/electronics/upload/docs/MiE32U/MiEUSBHIDLoader_V1.1.zip

Posiblemente te pida instalar las .Net Framework. Aquí los links de descarga:
http://www.microingenia.com/electronics/upload/docs/MiE32U/Manual_BootloaderUSBHIDC32_MiE32U_V1.0.pdf

Saludos!

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Bootloader USB HID para PIC 24F
« Respuesta #21 en: 15 de Enero de 2011, 10:51:05 »
Hola JIM, es que efectivamente lo que hay que modificar es el programa para enviar el hex al PIC, pues no interpreta bien el hex de CCS, y lo que encontré para que lo entendiera es importar el hex de CCS en MPLAb y luego exportarlo, con este tramite ahora si entiende bien el hex, pero estaba dándole miradas al código fuente de Microchip de la aplicación en VisualC para ver donde podía estar el error.


Ya mismo lo pruebo a ver que tal va!

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: Bootloader USB HID para PIC 24F
« Respuesta #22 en: 15 de Enero de 2011, 14:13:15 »
Estaba localizando el 'cambio' en el software... realmente es una tontería!!

En la función 'btn_OpenHexFile_Click' hay una función llamada 'extendedAddress'... simplemente hay que inicializarla a 0.

unsigned long extendedAddress = 0;

Hecho esto, el programita de Microchip, ahora tuneado por vosotros, funcionará a las mil maravillas! ;D

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Bootloader USB HID para PIC 24F
« Respuesta #23 en: 15 de Enero de 2011, 15:24:32 »
JIM Muchas gracias por el dato, con tu desarrollo en VC++ funciona muy bien.

SALUDOS!

Amigo Manolo, acá esta el documento sobre el Bootloader,  Puedes hacer las pruebas planteadas a ver si das con la solucion al problema.

http://www.todopic.com.ar/foros/index.php?topic=33487.msg280136#msg280136

Desconectado rmadrid25

  • PIC10
  • *
  • Mensajes: 3
Re: Bootloader USB HID para PIC 24F
« Respuesta #24 en: 22 de Enero de 2011, 10:59:56 »
Hola,

  Me alegro que hallan ya encontrado el fallo para la versiones nuevas del CCS.
Yo en diciembre habia hecho una prueba y la deje planteada en
http://www.todopic.com.ar/foros/index.php?topic=23135.msg279365#msg279365
por si alguien más la podía comprobar.

Yo lo que estaba haciendo era con un programa de edicion hexadecimal, copiar la cadena :020000040000FA al inicio del archivo compilado y así sí me funciona
con el compilador por defecto de microchip.

Lo que no me queda claro con el cambio que planteas J1M, es que hay que cambiar el bootloader.h por tu cadena y usar tambien el cargador modificado de MiEHiDLoader?  Tengo que actualizar el net.framework para poder probarlo.

Yo el boot loader que tengo es:

#define LOADER_SIZE                 (0xFFF)
#define LOADER_START                (0)
#define LOADER_END                  (LOADER_SIZE)
#define APPLICATION_START           (LOADER_SIZE+1)
#define APPLICATION_END             (getenv("PROGRAM_MEMORY")-1)
#define APPLICATION_ISR             (APPLICATION_START+8)

#ifndef _bootloader
 //in the application, this moves the reset and isr vector out of the bootload
 //space.  it then reserves the loader space from being used by the application.

 #build(reset=APPLICATION_START, interrupt=APPLICATION_ISR)
 #org 0, LOADER_END {}
#endif

void main()
{
...
}

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Bootloader USB HID para PIC 24F
« Respuesta #25 en: 22 de Enero de 2011, 11:34:33 »
Hola rmadrid25,
La verdad intente por todos lados modificar la generación del archivo hex original desde CCS pero no veo como hacerle. Ta raro eso.

SALUDOS!!

Desconectado BEXTIXTOX

  • PIC16
  • ***
  • Mensajes: 108
Re: Bootloader USB HID para PIC 24F
« Respuesta #26 en: 31 de Agosto de 2012, 20:46:51 »
J1M LABmouse se que dan la soculion al problema pero me gustaria me pasaran el archivo C++ ya modificado

Desconectado Nextar

  • PIC10
  • *
  • Mensajes: 1
Re: Bootloader USB HID para PIC 24F
« Respuesta #27 en: 23 de Marzo de 2013, 02:18:41 »
Estaba localizando el 'cambio' en el software... realmente es una tontería!!

En la función 'btn_OpenHexFile_Click' hay una función llamada 'extendedAddress'... simplemente hay que inicializarla a 0.

unsigned long extendedAddress = 0;

Hecho esto, el programita de Microchip, ahora tuneado por vosotros, funcionará a las mil maravillas! ;D


Hola J1M solo una pregunta.. quisiera saber con que version de c++ compilaste el archivo del bootloader y que sistema operativo utilizaste. lo que pasa es que lo intente compilar con Visual C++ 2005 Express Edition, en Windows 7 de 32 bits, y cuando le doy en start debugging (F5) me aparece un pop-up indicando: this proyect is out of date.     HIDBootLoader - Debug Win32. would you like to build it? aqui le doy click en yes.
y me aparece otro pop-up indicando que no se puede encontrar el archivo especificado.

espero me puedas ayudar, no se que hacer.