› Foros › PlayStation 3 › Modchips y Softmods
#if defined(MiE_PIC18F14K50Trainer)
...
#elif defined(MiE_PIC18F255xTrainer))
...
#elif defined(MiE_PIC18F455xTrainer)
...
#else
#error Not a supported board (yet), add I/O pin mapping in __FILE__, line __LINE__
#endif
Si por el contrario, vamos a usar otro PIC diferente al 2550, recomendaríamos leer ahora el Anexo B, para después seguir con los pasos que indicamos a continuación.
/** L E D ***********************************************************/
#define mInitAllLEDs() LATB &= 0xCF; TRISB &= 0xCF;
#define mLED_1 LATBbits.LATB5 //Red
#define mLED_2 LATBbits.LATB4 //Green
/** L E D ***********************************************************/
#define mInitAllLEDs() LATC &= 0xCF; TRISC &= 0xCF;
#define mLED_1 LATCbits.LATC0 //Red
#define mLED_2 LATCbits.LATC1 //Green
/** JMP *************************************************************/
#define TRISJMPPIN TRISBbits.TRISB7
#define JMPPIN PORTBbits.RB7 //28 jumper
/** S W I T C H *****************************************************/
//#define mInitAllSwitches() TRISCbits.TRISC0=1;
//#define mInitSwitch() TRISCbits.TRISC0=1;
//#define sw PORTCbits.RC0
/********************************************************************/
void main(void)
{
if(RCONbits.POR == 1)
{
RCONbits.POR = 0;
}
else /*This example uses the sw I/O pin to determine if the device should enter the bootloader, or the main application code*/
{
RCONbits.POR = 1;
_asm
goto 0x1000 /*If the user is not trying to enter the bootloader, go straight to the main application remapped "reset" vector.*/
_endasm
}
…
void main(void)
{
ADCON1 = 0xF;
if(JMPPIN == 1)
{
ADCON1 = 0x7;
_asm
goto 0x1000
_endasm
}
…
#include <18F2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT,USBDIV,PLL2,CPUDIV1,VREGEN,PUT,MCLR
#use delay(clock=48000000)
#use rs232(baud=115200, xmit=pin_c6, rcv=pin_c7)
#define LEDR PIN_B4
/////////////////////////
// Bootloader Memory Space
// Microchip USB HID Bootloader
#define CODE_START 0x1000
#build(reset=CODE_START, interrupt=CODE_START+0x08)
#org 0, CODE_START-1 {}
/////////////////////////
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT,USBDIV,PLL5,CPUDIV1,VREGEN,PUT,MCLR
#define CODE_START 0x1000
#define LEDR PIN_C0 // Red
#define LEDG PIN_C1 // Green
output_bit(LEDR,un_valor_cualquiera);
output_bit(LEDR,!led1);
output_bit(LEDG,led1);
output_bit(LEDR,0);
output_bit(LEDG,1);
output_bit(LEDR,1);
output_bit(LEDG,0);
#include <18F2550.h>
#include <18F4550.h>
etxetxe escribió:Pregunta: En el customizado que acabas de poner, lo he abierto con el mplab ide y no estan cambiados los valores de los leds en rc0 y rc1 ni lo del jumper. ¿tenemos que cambiarlo a capón? tal y como está explicado parece que esta adaptado ya y preparado para grabar.
Estoy haciendo tu modelo y me gustaria aclarar esto antes de pifiarla.
Saludos
#if defined(MiE_PIC18F14K50Trainer)
...
#elif defined(MiE_PIC18F255xTrainer))
...
#elif defined(MiE_PIC18F455xTrainer)
...
#else
#error Not a supported board (yet), add I/O pin mapping in __FILE__, line __LINE__
#endif
VALL3JO escribió:Muchisimas gracias, me suscribo a este hilo porque explicas muy bien todo y haces mucho mas facil entender el codigo, felicidades!! por otro lado, podrias poner todos los firms que han salido y las diferencias que hay entre ellos, si te parece util y quieres claro. Un saludo
VALL3JO escribió:me referia a las distintas versiones del psgroove , para poder comprender "algo" el codigo
tidusmen escribió:Amigo es posible que me hagas un bootloader para pic 4550 ya que segui tu tutorial trate de hacerlo pero me da error, es para el mismo esquema de tu tutorial
Sonsuke escribió:hola no es mi intencion molestarte tengo una consulta, yo tengo esta placa de hecho yo hice este tutorial
hilo_tutorial-psgroove-en-olimex-pic-usb-4550-con-pic18f4550_1487605
tengo pocos conocimientos de electronica me base en las indicaciones de un foro y le agrege lo que yo habia realizado para cargar el psgroove el hex que uso solo me funciona con el 1.2, he probado diferentes hex de 18f4550 y ninguno me va.
Con el winpic800 he probado los hex 1.5 como estan y modificar las opciones para dejarlos con el 1.2 que me funciona.
Queria preguntarte si es posible adaptarlo a esta placa.
Gracias y saludos
PD: gracias por la respuesta cuando llegue a la noche a la casa voy a cambiar lo que me enviaste por PM para hacerlo compatible con mi placa, gracias nuevamente por la respuesta
#include <18F2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT,USBDIV,PLL2,CPUDIV1,VREGEN,PUT,MCLR
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT,USBDIV,PLL5,CPUDIV1,VREGEN,PUT,MCLR
/////////////////////////
// Bootloader Memory Space
// Microchip USB HID Bootloader
#define CODE_START 0x1000
/////////////////////////
// Bootloader Memory Space
// Microchip USB HID Bootloader
#define CODE_START 0x800
nullEX escribió:tidusmen escribió:Amigo es posible que me hagas un bootloader para pic 4550 ya que segui tu tutorial trate de hacerlo pero me da error, es para el mismo esquema de tu tutorial
Los pasos a seguir para hacer un bootloader para el PIC18F4550 son:
- Descargar el archivo de linker para el 18f4550 (al final del post está la descarga y originalmente está dentro de las librerías de microchip que podéis descargar desde su página web)
- El el MPLAB IDE, con el código fuente del bootloader abierto tendremos que:
- Primero ir al menu Configure > Select Device, y dentro de la nueva ventana cambiar el device de 18F2550 por 18F4550
- En la ventana del Workspace, dentro de la carpeta de "Linker Script" quitamos el archivo "BootModified.18f2550_g.lkr" y añadimos el que acabamos de descargar, el "BootModified.18f4550_g.lkr".
- Ahora en el archivo de io_cfg.h, deberíamos hacer los cambios que se indican en el primer post, pero esta vez dentro de la sección "#elif defined(MiE_PIC18F455xTrainer)".
Compilamos y tendremos nuestro bootloader preparado para el PIC18F4550.BootloaderUSBHIDC18_18F4550Trainer_V1.0 - customized by nullex.hex.zipBootModified.18f4550_g.lkr.zip
PD: voy a añadir un nuevo anexo con esta información
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT,USBDIV,PLL5,CPUDIV1,VREGEN,PUT,MCLR
/////////////////////////
// Bootloader Memory Space
// Microchip USB HID Bootloader
#define CODE_START 0x800
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT,USBDIV,PLL5,CPUDIV1,VREGEN,PUT,NOMCLR,ICPRT
/////////////////////////
// Bootloader Memory Space
// Microchip USB HID Bootloader
#define CODE_START 0x800[/quote]
1542240 2E EF 1E F0 04 6E D8 CF 05 F0 E0 CF 06 F0 00 01
000800 B3 EF 1F F0 XX XX XX XX 05 6E D8 CF 06 F0 E0 CF
nullEX escribió:En respuesta a locusls10, en el nuevo compilado se marca como opción el MCLR, lo que implica conectar el pin 1 (MCLR) con una resistencia de 10k al VDD...
Para placas olimex, el tema de Sonsuke, no creo que el compilador de problemas. La verisón que uso del CCS es bastante anterior a la que recomiendan. Quitando que el .hex es unos bytes más grande, todo funciona correctamente.
Sobre el 4550, que comenta tidusmen, ¿Has probado el hex adjunto en la respuesta? Este ya está compilado por mi. Y sobre el error que comentas, no aporta demasiada información esa línea, quizá podrías pegar todo el log cuando compilas.
tidusmen escribió:nullEX escribió:..
Sobre el 4550, que comenta tidusmen, ¿Has probado el hex adjunto en la respuesta? Este ya está compilado por mi. Y sobre el error que comentas, no aporta demasiada información esa línea, quizá podrías pegar todo el log cuando compilas.
ya te lo envie en un mp...
tu sibiste el bootloader para pic 4550? donde esta!!!!!!!!!!!!
locusls10 escribió:Hola,
Bueno, parece que he podido avanzar un poco más.
Esto va para Nullex, o para quien pueda ayudarme.
Veréis, el invento sigue sin funcionar, haciendo la combinación del botón trasero, power, eject... El aparato no funciona, los LED's no se encienden, aunque la máquina tarda un poco más de lo normal, como si estuviera cargando el programa del chip, pero no lo hace.
Pero he descubierto que si enchufo el aparato una vez encendida la consola, los LED's indican movimiento, es decir, parpadean como si estuviera cargando el programa, y seguidamente se enciende el LED rojo en vez del verde (obviamente, el programa no se ha cargado).
Esto me hace pensar que está todo bien programado en el chip, pero hay algo que sigue fallando.
Alguien que pueda echarme una mano?
Gracias de antemano y saludos.
locusls10 escribió:Tengo que presionar primero el power, y luego el reset? No era el eject? Qué es el reset, el botón de power otra vez?
dgtor escribió:No se que hago mal, compilo con el CSS 4.10, he cogido el SRC y el HEX del blog de J1M, en teoria cogiendo los source y compilando me tendría que dar un hex practicamente identico al 99% con el HEX, pero no es así. ¿No se trata solo de darle al botón de compilar?
nullEX escribió:tidusmen escribió:nullEX escribió:..
Sobre el 4550, que comenta tidusmen, ¿Has probado el hex adjunto en la respuesta? Este ya está compilado por mi. Y sobre el error que comentas, no aporta demasiada información esa línea, quizá podrías pegar todo el log cuando compilas.
ya te lo envie en un mp...
tu sibiste el bootloader para pic 4550? donde esta!!!!!!!!!!!!
Aquí: http://www.elotrolado.net/download/file.php?id=65205
tidusmen escribió:ok null, ya lo coloque pero el pc me dice que no reconoce el dispositivo y no encuentro el Microchip Bootloader USB HID v2.6a, ya que en el blog hay es Microchip Bootloader USB HID v2.6b
nullEX escribió:tidusmen escribió:ok null, ya lo coloque pero el pc me dice que no reconoce el dispositivo y no encuentro el Microchip Bootloader USB HID v2.6a, ya que en el blog hay es Microchip Bootloader USB HID v2.6b
Supongo que habrás colocado el jumper. Sobre la versión de la página del psgroopic no creo que sea importante, si es mayor, quizá han solucionado algunos problemas
La verdad que el 4550 no lo he montado, pero la teoría me dice que debería funcionar bien con esto... Has comprobado que los puntos estén bien conectados y todo eso?
nullEX escribió:dgtor escribió:No se que hago mal, compilo con el CSS 4.10, he cogido el SRC y el HEX del blog de J1M, en teoria cogiendo los source y compilando me tendría que dar un hex practicamente identico al 99% con el HEX, pero no es así. ¿No se trata solo de darle al botón de compilar?
El compilador del CSS trae mejoras en cada versión, y esto hace que si no compilas exactamente con lo mismo que J1M, el resultado sea sensiblemente diferente...
La pregunta es si funciona o no
dgtor escribió:nullEX escribió:dgtor escribió:No se que hago mal, compilo con el CSS 4.10, he cogido el SRC y el HEX del blog de J1M, en teoria cogiendo los source y compilando me tendría que dar un hex practicamente identico al 99% con el HEX, pero no es así. ¿No se trata solo de darle al botón de compilar?
El compilador del CSS trae mejoras en cada versión, y esto hace que si no compilas exactamente con lo mismo que J1M, el resultado sea sensiblemente diferente...
La pregunta es si funciona o no
No funciona... y en teoria es tan simple como cargar el main.c y darle a compilar...
Ealdor escribió:Buenas nullEX, ¿modo programación sería con el jumper haciendo corto o sin poner?, lo he buscado en la guía pero no lo he encontrado.
nesi_tor escribió:Bienas Nullex. yo he seguido tu guia he modificado todo para el 18f2550 y para el 18f4550, tanto para uno como para el otro y en los dos solo he cargado el bootloader, cual es mi sorpresa que en ninguno de los dos micros funciona el bootloader, lo he probado cambiando las patillas D+ y D- de las 2 maneras posibles, el VCC y GND van perfectos, se me enciende el led verde solo si tengo el jumper puesto, y sino lo tengo no hace nada ya que aun no he cargado el psgroove, he cambiado el cristal de 8Mhz que utilizo, el condensador que se conecta al VUSB, el conector USB de una hembra con un adaptador que tenia a un macho directamente, el caso esque también le he puesto un conector ICSP para que sea mas rapido programarlo, y me lo programa perfecto tanto uno como otro, pero no hay manera que el PC me detecte el PIC con el bootloader, cuando le enxufo el 2550 no hace nada ni detecta nada solo da corriente y se enciende el led, y cuando conecto el 4550 si que hace algo, pero en el PC me pone que el dispositivo no se puede identificar, he probado en windows 7 y en windows XP, y aun asi nada. Haber si algun alma caritativa puede ayudarme en mi problema, ya que llevo 3 semanas intentando montar la placa y no funciona de ninguna manera, ni con bootloader ni sin bootloader. Gracias de antemano.
nesi_tor escribió:Mi bootloader esta modificado por mi para adaptarlo a mi placa, con mis pines , y ni con esas va.. jajajaj buen ohabrra que tener paciencia...