Autor Tema: Bootloader USB para PIC18F4550 a full.  (Leído 142301 veces)

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

Desconectado darck_khronos

  • PIC18
  • ****
  • Mensajes: 493
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #75 en: 31 de Marzo de 2010, 12:32:25 »
con la vercion .94 en el Hid no da problemas

Desconectado campech

  • PIC10
  • *
  • Mensajes: 13
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #76 en: 31 de Marzo de 2010, 13:12:00 »
Esa version no la conozco, cuando salio???

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6743
    • Micros-Designs
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #77 en: 31 de Marzo de 2010, 13:19:22 »
Puedes mostrar el disassembly para ver como se ubican las funciones en la memoria de programa?
No contesto mensajes privados, las consultas en el foro

Desconectado campech

  • PIC10
  • *
  • Mensajes: 13
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #78 en: 31 de Marzo de 2010, 14:04:10 »
Hola Suky:

Estos son loa codigos generados por el disassembler

compilado con version 4.084
Código: [Seleccionar]
0000:
L0000  ANDLW  0x24
       SUBWF  1,W
             
0800:
       
0804:  ANDLW  7       
       ANDLW  0xF
       ANDLW  0x8F
       NOP
       
       GOTO   L00C0
       CALL   L000F
       
       ANDLW  7
       ANDLW  0xFD
     
       ANDLW  2   
       ANDLW  0xFA
       
       SLEEP


compilado con version 4.105
Código: [Seleccionar]
0800:
       
0804:  ANDLW  6     
       ANDLW  0xF
       ANDLW  0x8F
       NOP
           
       GOTO   L00C0
       CALL   L000F
       
       ANDLW  7   
       ANDLW  0xFD
           
       ANDLW  2     
       ANDLW  0xFA
           
       SLEEP

Si exiten notables diferencias, aunque me descargue la ultima version del manual de usuario de CCS y no cambiaron en nada las directivas #build y #org.

Saludos.  :)

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6743
    • Micros-Designs
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #79 en: 31 de Marzo de 2010, 14:42:47 »
Bueno, en cualquiera de los 2 estamos mal, supuestamente con esto:

Código: [Seleccionar]
#org 0x0000,0x0FFF {}
Se estaría protegiendo el código desde 0x00 hasta 0xFFF, pero te ubica el código del main en 0x800  :?

Podrías probar colocando:

Código: [Seleccionar]
#org 0x0000,0x0FFF void Bootloader(void){}

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado campech

  • PIC10
  • *
  • Mensajes: 13
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #80 en: 31 de Marzo de 2010, 16:17:33 »
Hola Suky:

Los codigos anteriores que publique, los genere con las opciones del disassembler: "Disassemble as 12 bit opcode" y "Label format C Label"

Acabo de generar nuevamente los archivos asm correspondientes pero ahora con las opciones del disassembler: "Disassemble as 16 bit opcode" y "Label format Addresses"  y ahora si aparece correctamente protegida la seccion del bootloader. Aunque hay tres lineas que varian(flechas) entre un codigo y el otro y ese debe ser el porque con la version 4.105 no se puede programar el pic.
Adjunto ambos codigos asm en la parte de abajo.

 archivo asm-version 4.084
Código: [Seleccionar]
0000 RETLW  00
0002 NOP   
0004 NOP   
0006 NOP   
0008 NOP   
000A NOP   
      .
      .
      .
      .
0FF8 NOP   
0FFA NOP   
0FFC NOP   
0FFE NOP   
1000
1002 GOTO   1032
1004 NOP   
1006 NOP   
1008 CLRF   FEA
100A MOVLW  07    <---------------------
100C MOVWF  FE9
100E MOVF   FEF,W
1010 BZ    102E
1012 MOVLW  0F
1014 MOVWF  01
1016 CLRF   00
1018 DECFSZ 00,F
101A BRA    1018
101C DECFSZ 01,F
101E BRA    1016
1020 MOVLW  8F
1022 MOVWF  00
1024 DECFSZ 00,F
1026 BRA    1024
1028 NOP   
102A DECFSZ FEF,F
102C BRA    1012
102E
1030 GOTO   105C
1032 CLRF   FF8
1034 BCF    FD0.7
1036 CLRF   FEA
1038 CLRF   FE9
103A MOVF   FC1,W
103C ANDLW  C0
103E IORLW  0F
1040 MOVWF  FC1
1042 MOVLW  07
1044 MOVWF  FB4
1046 MOVLW  FD
1048 MOVWF  F93
104A BCF    F93.1
104C BCF    F8A.1
104E BCF    F93.1
1050 BTG    F8A.1
1052 MOVLW  02
1054 MOVWF  06
1056 MOVLW  FA
1058 MOVWF  07   <----------------------
105A BRA    1008
105C DECFSZ 06,F  <---------------------
105E BRA    1056
1060 BRA    104E
1062 SLEEP
1064 NOP

 archivo asm-version 4.105
Código: [Seleccionar]
0000 RETLW  00
0002 NOP   
0004 NOP   
0006 NOP   
0008 NOP   
000A NOP
       .
       .
       .
       .
0FF8 NOP   
0FFA NOP   
0FFC NOP   
0FFE NOP   
1000
1002 GOTO   1032
1004 NOP   
1006 NOP   
1008 CLRF   FEA
100A MOVLW  06   <-----------------------
100C MOVWF  FE9
100E MOVF   FEF,W
1010 BZ    102E
1012 MOVLW  0F
1014 MOVWF  01
1016 CLRF   00
1018 DECFSZ 00,F
101A BRA    1018
101C DECFSZ 01,F
101E BRA    1016
1020 MOVLW  8F
1022 MOVWF  00
1024 DECFSZ 00,F
1026 BRA    1024
1028 NOP   
102A DECFSZ FEF,F
102C BRA    1012
102E
1030 GOTO   105C
1032 CLRF   FF8
1034 BCF    FD0.7
1036 CLRF   FEA
1038 CLRF   FE9
103A MOVF   FC1,W
103C ANDLW  C0
103E IORLW  0F
1040 MOVWF  FC1
1042 MOVLW  07
1044 MOVWF  FB4
1046 MOVLW  FD
1048 MOVWF  F93
104A BCF    F93.1
104C BCF    F8A.1
104E BCF    F93.1
1050 BTG    F8A.1
1052 MOVLW  02
1054 MOVWF  05
1056 MOVLW  FA
1058 MOVWF  06  <-----------------------
105A BRA    1008
105C DECFSZ 05,F   <---------------------
105E BRA    1056
1060 BRA    104E
1062 SLEEP
1064 NOP

Saludos y gracias por su atencion  8)

Desconectado campech

  • PIC10
  • *
  • Mensajes: 13
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #81 en: 31 de Marzo de 2010, 16:21:48 »
Hola Suky:

A continuacion publico tambien los dos codigos .hex respectivos a cada compilador, donde tambien se notan diferencias considerables

v4.084
Código: [Seleccionar]
:020000040000FA
:0410000019EF08F0EC
:08100800EA6A070EE96EEF50E1
:101010000EE00F0E016E006A002EFED7012EFBD7E8
:101020008F0E006E002EFED70000EF2EF2D72EEFAF
:1010300008F0F86AD09EEA6AE96AC150C00B0F094D
:10104000C16E070EB46EFD0E936E93928A929392C8
:101050008A72020E066EFA0E076ED6D7062EFBD7E0
:04106000F6D70300BC
:020000040030CA
:0E000000240E381E008181000F800FA00F001B
:00000001FF
;PIC18F4550
;CRC=3A18  CREATED="31-Mar-10 12:56"

v4.105
Código: [Seleccionar]
:0410000019EF08F0EC
:08100800EA6A060EE96EEF50E2
:101010000EE00F0E016E006A002EFED7012EFBD7E8
:101020008F0E006E002EFED70000EF2EF2D72EEFAF
:1010300008F0F86AD09EEA6AE96AC150C00B0F094D
:10104000C16E070EB46EFD0E936E93928A929392C8
:101050008A72020E056EFA0E066ED6D7052EFBD7E3
:04106000F6D70300BC
:020000040030CA
:0E00000024CE381E008581000F800FA00F0057
:00000001FF
;PIC18F4550
;CRC=31B7  CREATED="31-Mar-10 13:01"

Saludos.

Desconectado darck_khronos

  • PIC18
  • ****
  • Mensajes: 493
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #82 en: 31 de Marzo de 2010, 22:37:29 »
Al parecer la falla principal del compilador CCs 105, comparada con la .94 y la .84 es que simplifica demaciado el hex, con el dimple hecho de agregar algunas lineas, y en otras solo hacer cambios de bits.

Pero algo gracioso es que al hacer la comparacion con el MD5 son casi identicos

Desconectado adrianjpc

  • PIC10
  • *
  • Mensajes: 10
    • uElectronika
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #83 en: 07 de Abril de 2010, 05:48:53 »
al parecer campech tiene toda la razon las versiones mas recientes no funcionan bien, comprobado

usen la version 4.084 funciona muy bien

Desconectado maverick_007

  • PIC10
  • *
  • Mensajes: 10
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #84 en: 22 de Abril de 2010, 21:12:45 »
hola les queria comentar que arme el boot loader que publico pic mause y a funcionado de maravilla ( tambien tuve ese dolor de cabeza con la vercion del ccs asique uso la v4.084) y haora lo ke me interesaria seria armar el mismo boot loader pero con el pic18f2550 si alguien tuviera la gentileza de ayudarme estaria muy agradecido .....

les adjunto la modificacion que le ise ( con la ayuda del auto paint jejeje ) para notener problemas con las patitas que estan ocupadas. bueno esa seria mi contribucion a este gran proyecto bye.

Desconectado Lobo_Azul

  • PIC10
  • *
  • Mensajes: 29
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #85 en: 25 de Abril de 2010, 20:46:42 »
         
       ¿Cómo le hago para "remappear" los vectores en MikroC? --- ¿Alguien sabe?, agradecería su ayuda, ya que no soy primerizo en este gran mundo de los PIC's...


                    Hola, saludos a todos los del foro, este link me interesa mucho, ya que actualmente estoy trabajando con algo relacionado con ésto; específicamente, estoy trabajando con la placa PIC DEM FS USB de Microchip, es la tarjeta DM163025, hace ya un par de días que la empecé a probar, lo que ha descrito LabMouse con respecto a conectar la tarjeta, copiar el controlador y probar el modo Demo que ésta tarjeta trae ya lo he hecho, sin embargo, es el modo Bootload el que no me funciona.... me puse a leer el manual de la tarjeta (en inlgés  :? ya que no es mi fuerte  : :D :cry:) y al final de cuentas me dí cuenta que lo que me falta es lo que le llaman: "Remapped Vectors", que es lo que muchos ya han solucionado con las líneas de código que propone andreach16  o la que propone ema, sin embargo, observo que esas soluciones son para el compilador CCS incluso está la misma solución que propone Suky para el Mplab C18 "como se hace en CCS en C18 hay que remapear los vectores:"; pero lo que no he dicho, es que yo estoy trabajando con Mikroc, ya que se me ha hecho un lenguaje de programación demasiado sencillo, no se si sea el mejor o no, pero esa es mi pregunta actualmente, grax por todo y espero respuesta ya que no lo he encontrado... :shock:

La imagen que pongo "when ok.jpg" muestra los mensajes que aparecen cuando grabo el archivo *.hex que trae la tarjeta por default para utilizar el modo botload, en ese caso todo esta bien  :mrgreen:


sin embargo he hecho este codigo para Mikroc para el PIC18F4550:

void  main() {

  ADCON1 = 0x0F;
  CMCON  = 7;                      // Comparadores Deshabilitados


  TRISD = 0x00;                     // Configurar PuertoB como Salida
  PORTD = 0x00;                     // Valor inicial del puerto en 0

  while(1){
           PORTD.F3=1;
           Delay_ms(1000);
           PORTD.F3=0;
          Delay_ms(1000);

  }
}

el cual lo compila y ejecuta de maravilla, pues ya lo he simulado con Proteyus y anda muy bien, pero a la hora de quererlo meter al PIC18F4550 por medio de la función Bootloader, me saca lo de la imagen "warnings.jpg" que he adjuntado, y como podrán ver los warnings mencionan sobre el "Failed to reset Board" y "Failed to Program CONFIG DATA", y como mencione antes, he revisado el manual y lo que veo es que no he remappeado los vectores, pero no se como hacerlo en Mikroc  :(, agrdecería su ayuda, de antemano geracias.  :)

Desconectado ignaps45

  • PIC10
  • *
  • Mensajes: 1
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #86 en: 07 de Mayo de 2010, 19:26:13 »
Muy bueno este post sobre el boot loader usb.
« Última modificación: 07 de Mayo de 2010, 19:49:33 por ignaps45 »

Desconectado Alumno

  • PIC10
  • *
  • Mensajes: 38
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #87 en: 06 de Julio de 2010, 19:31:21 »
Hola a todos, acabo de instalar el bootloader en WINDOWS7 y no me funciona queria saber si alguien ya resolvio este problema ( en WXP no tenia problemas).

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3574
    • Juntos es mejor
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #88 en: 07 de Julio de 2010, 11:00:30 »
Bájate la ultima versión de las librerías desde Microchip, estas ya tienen soporte Seven.

Desconectado luis.duso

  • PIC10
  • *
  • Mensajes: 1
Re: Bootloader USB para PIC18F4550 a full.
« Respuesta #89 en: 06 de Agosto de 2010, 11:25:44 »
Hola a todos,
para aquellos que quieran modificar los fuses, sin tener que recompilar el código y modificar (y encontrar) los dichosos #pragma,
tengo una solución más fácil.
Descarguen el WinPic800 (Se encuentra facilmente con una busqueda rápida en google), abran el .hex del bootloader situado en la carpeta _factory_hex y en la pestaña de config dentro del winpic800, cambien la configuración que quieran. Despues le dan a guardar como (para conservar el original) y listo programan otra vez el chip.