ConsoleWorld Forum
HOME
FORUM
CWCHEAT
DOWNLOAD
GALLERY

Torna indietro   ConsoleWorld Forum > Sony Center > Sony Playstation 2 > Dev & Homebrew

Dev & Homebrew Spazio dedicato alla discussione sullo sviluppo di applicazioni Homebrew (fatte in casa) e della programmazione in genere su questa console.


Rispondi
 
LinkBack Strumenti discussione
  #1 (permalink)  
Vecchio 6th November 2005, 16:36
Junior Member
 
Data registrazione: Oct 2005
Messaggi: 11
Potenza rep: 0
HayArms è su una strada distinta
Compilare eseguibili PS2

Ho compilato la PS2Toolchain sotto linux e adesso sto tentando di compilare un piccolo programmino di prova (ci sto tentando, ma data la completa mancanza assoluta di info in giro su come fare , almeno dove ho cercato io, chiedo a voi) .

Il programmino è semplicissimo, ed è di prova, manco butta fuori l'output.

Il problema è che con questa toolchain non riesco neanche a compilare i programmi che in teoria dovrebbero compilarsi correttamente (ho provato a scaricare i sorgenti di qualche demo, lanciando "make" si inchioda con errori del linker incomprensibili oppure errori della riga di comando di GCC).

A dire il vero non so neanche come sia strutturato un programma PS2, quindi mi sono limitato a fare un semplice programmino in C con solo un corpo main e 2 variabili :

Codice:

int main()

{

int i=1,y=1;
i+=y;

return 0;

}


L'errore è questo :
Codice:
melchior@melchior:~/plasma$ ee-gcc prova.c -o prova
/home/melchior/ps2dev/ee/lib/gcc-lib/ee/3.2.2/crt0.o(.text+0x48): In function `_start':
src/crt0.s:64: undefined reference to `_stack'
/home/melchior/ps2dev/ee/lib/gcc-lib/ee/3.2.2/crt0.o(.text+0x4c):src/crt0.s:64: undefined reference to `_stack'
/home/melchior/ps2dev/ee/lib/gcc-lib/ee/3.2.2/crt0.o(.text+0x50):src/crt0.s:65: undefined reference to `_stack_size'
/home/melchior/ps2dev/ee/lib/gcc-lib/ee/3.2.2/crt0.o(.text+0x54):src/crt0.s:65: undefined reference to `_stack_size'
/home/melchior/ps2dev/ee/lib/gcc-lib/ee/3.2.2/crt0.o(.text+0x84):src/crt0.s:76: undefined reference to `_heap_size'
/home/melchior/ps2dev/ee/lib/gcc-lib/ee/3.2.2/crt0.o(.text+0x88):src/crt0.s:76: undefined reference to `_heap_size'
/home/melchior/ps2dev/ee/lib/gcc-lib/ee/3.2.2/crt0.o(.text+0xd4):src/crt0.s:106: undefined reference to `_ps2sdk_args_parse'
/home/melchior/ps2dev/ee/lib/gcc-lib/ee/3.2.2/crt0.o(.text+0xdc):src/crt0.s:110: undefined reference to `_ps2sdk_libc_init'
/home/melchior/ps2dev/ee/lib/gcc-lib/ee/3.2.2/crt0.o(.text+0x154): In function `_exit':
src/crt0.s:163: undefined reference to `_ps2sdk_libc_deinit'
collect2: ld returned 1 exit status
Non so cosa fare ma soprattutto mi sono rotto di girare 200 siti diversi su google per trovare solo informazioni incomplete . Presumo di avere qualche problema col path di queste PS2SDK libs , ma non so che variabile di ambiente settare per fargli trovare queste benedette!

Aiuto !!

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Rispondi citando
  #2 (permalink)  
Vecchio 6th November 2005, 17:09
L'avatar di weltall
CW Team
 
Data registrazione: Sep 2005
Residenza: Shevat
Messaggi: 7,380
Potenza rep: 18
weltall diventerà presto famoso abbastanza
devi farlo tramite makefile il build, se no ti mancano dei pezzi. guarda per esempio il makefile di ps2mp3 o di launchelf.
cmq il problema è semplicemente un undefined reference in altre parole non gli hai detto di linkare le lib base, la ps2 non ha un sistema operativo quindi devi linkarcelo assieme (un semplice kernel)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Rispondi citando
  #3 (permalink)  
Vecchio 6th November 2005, 17:45
Junior Member
 
Data registrazione: Oct 2005
Messaggi: 11
Potenza rep: 0
HayArms è su una strada distinta
Citazione:
Originalmente inviato da weltall
devi farlo tramite makefile il build, se no ti mancano dei pezzi. guarda per esempio il makefile di ps2mp3 o di launchelf.
cmq il problema è semplicemente un undefined reference in altre parole non gli hai detto di linkare le lib base, la ps2 non ha un sistema operativo quindi devi linkarcelo assieme (un semplice kernel)
Ce l'ho fatta

Compilando impostando manualmente le librerie a GCC funziona , che fatica!

C'è solo un problema adesso però.

Volevo fare qualcosa di + elaborato, solo che non so manco da dove iniziare. Tutti i tutorials di PS2Dev non mi vanno , da un errore la pagina web.

Hai idea di dove trovare documentazione sufficiente per almeno far scrivere qualcosa sullo schermo?

Grazie
Ciao
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Rispondi citando
  #4 (permalink)  
Vecchio 6th November 2005, 18:01
L'avatar di weltall
CW Team
 
Data registrazione: Sep 2005
Residenza: Shevat
Messaggi: 7,380
Potenza rep: 18
weltall diventerà presto famoso abbastanza
l'unica documentazione che c'è è nella cartella del ps2sdk e sono tutti quei file h. non ce altro, oltre alla documentazione ufficiale sony che però non è molto utile quando servono funzioni dell'sdk non ufficiale.
per scrivere su schermo in modo semplice, come in un prompt puoi usare:
init_scr();
e poi scr_printf(...);
scr_printf ha il formato di printf

per far funzionare questo devi linkare la libdebug
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Rispondi citando
  #5 (permalink)  
Vecchio 6th November 2005, 18:20
Junior Member
 
Data registrazione: Oct 2005
Messaggi: 11
Potenza rep: 0
HayArms è su una strada distinta
Citazione:
Originalmente inviato da weltall
l'unica documentazione che c'è è nella cartella del ps2sdk e sono tutti quei file h. non ce altro, oltre alla documentazione ufficiale sony che però non è molto utile quando servono funzioni dell'sdk non ufficiale.
per scrivere su schermo in modo semplice, come in un prompt puoi usare:
init_scr();
e poi scr_printf(...);
scr_printf ha il formato di printf

per far funzionare questo devi linkare la libdebug
Codice:
melchior@melchior:~/plasma$ ee-gcc -L/home/melchior/ps2dev/ps2sdk/ee/lib -I/home/melchior/ps2dev/ps2sdk/ee/include -I/home/melchior/ps2dev/ps2sdk/common/include -T/home/melchior/ps2dev/ps2sdk/ee/startup/linkfile -ldebug -lc -lkernel prova.c -o prova.elf
/tmp/cc0kXqUY.o(.text+0x2c): In function `main':
prova.c: undefined reference to `init_scr'
/tmp/cc0kXqUY.o(.text+0x38):prova.c: undefined reference to `scr_printf'
collect2: ld returned 1 exit status
melchior@melchior:~/plasma$
e adesso che ho sbagliato ? ...

#include <stdio.h>
#include <debug.h>
#include <tamtypes.h>
#include <sifcmd.h>
#include <kernel.h>
#include <sifrpc.h>
#include "sio.h"

int main()

{

int i=1,y=1;
i+=y;
init_scr();
scr_printf("%d\n", i);

return 0;

}
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Rispondi citando
  #6 (permalink)  
Vecchio 6th November 2005, 20:20
L'avatar di weltall
CW Team
 
Data registrazione: Sep 2005
Residenza: Shevat
Messaggi: 7,380
Potenza rep: 18
weltall diventerà presto famoso abbastanza
sembra non linki la libdebug.
ma non fai prima a fare un makefile così
Codice:
EE_BIN = PROGRAMMA.ELF
EE_OBJS += prova.o
EE_LIBS += -ldebug -lm -lc -lkernel -lsyscall -lc 

EE_INCS += -I./INC #lo cambi a seconda del proj
EE_LDFLAGS += -L./LIB #lo cambi a seconda del proj

all: $(EE_BIN)
    @ee-strip $(EE_BIN)

clean:
    rm -f *.elf  *.o  PROGRAMMA.ELF

include $(PS2SDK)/samples/Makefile.pref
include $(PS2SDK)/samples/Makefile.eeglobal
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Rispondi citando
  #7 (permalink)  
Vecchio 6th November 2005, 23:07
Junior Member
 
Data registrazione: Oct 2005
Messaggi: 11
Potenza rep: 0
HayArms è su una strada distinta
Citazione:
Originalmente inviato da weltall
sembra non linki la libdebug.
ma non fai prima a fare un makefile così
Codice:
EE_BIN = PROGRAMMA.ELF
EE_OBJS += prova.o
EE_LIBS += -ldebug -lm -lc -lkernel -lsyscall -lc 

EE_INCS += -I./INC #lo cambi a seconda del proj
EE_LDFLAGS += -L./LIB #lo cambi a seconda del proj

all: $(EE_BIN)
    @ee-strip $(EE_BIN)

clean:
    rm -f *.elf  *.o  PROGRAMMA.ELF

include $(PS2SDK)/samples/Makefile.pref
include $(PS2SDK)/samples/Makefile.eeglobal
Alla fine ce l'ho fatta, grazie weltall

Adesso sto giocando con le demo Cube e Teapot per cercare di estenderle un po'.

Per creare interfacce grafiche sulla PS2 (come ad esempio quella del tuo PS2Mp3, approposito , da dove posso scaricare i sorgenti?) ho bisogno di qualcosa di aggiuntivo? o altrimenti che libreria di PS2SDK si usa?

Grazie

Ciao
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Rispondi citando
  #8 (permalink)  
Vecchio 7th November 2005, 08:13
L'avatar di weltall
CW Team
 
Data registrazione: Sep 2005
Residenza: Shevat
Messaggi: 7,380
Potenza rep: 18
weltall diventerà presto famoso abbastanza
usa gslib non fa parte del ps2sdk
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Rispondi citando
  #9 (permalink)  
Vecchio 7th November 2005, 18:52
Junior Member
 
Data registrazione: Oct 2005
Messaggi: 11
Potenza rep: 0
HayArms è su una strada distinta
Citazione:
Originalmente inviato da weltall
usa gslib non fa parte del ps2sdk
Ho scaricato l'ultima versione gi GSLib (0.51) , ma non si compila

Alternative?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Rispondi citando
  #10 (permalink)  
Vecchio 7th November 2005, 19:17
L'avatar di weltall
CW Team
 
Data registrazione: Sep 2005
Residenza: Shevat
Messaggi: 7,380
Potenza rep: 18
weltall diventerà presto famoso abbastanza
gskit
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Rispondi citando
Rispondi

Bookmarks


Strumenti discussione

Regole di scrittura
Non puoi postare nuovi argomenti
Non puoi postare repliche
Non puoi postare allegati
Non puoi editare i tuoi post

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks are Attivato
Pingbacks are Attivato
Refbacks are Attivato




Tutti gli orari sono GMT +2. Adesso sono le 10:16.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101