|
|||||||
| Dev & Homebrew Spazio dedicato alla discussione sullo sviluppo di applicazioni Homebrew (fatte in casa) e della programmazione in genere su questa console. |
|
|
|
|---|
![]() |
|
|
LinkBack | Strumenti discussione |
|
|||
|
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 Aiuto !! ![]() |
|
|||
|
Citazione:
![]() 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 |
|
||||
|
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 |
|
|||
|
Citazione:
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$ #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; } |
|
||||
|
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
|
|
|||
|
Citazione:
![]() 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 |