Neste documento veremos de forma simples e objetiva, como efetuar uma compilação cruzada gerando um programa HelloWord para o famoso console PlayStation 3. A distribuição utilizada foi o OpenSuSE 10.3 e o equipamento foi um modesto PC de 32 bits.
Crie o seu primeiro HelloWord.c para o PlayStation 3 com o conteúdo abaixo:
#include <stdio.h>
typedef union
{
unsigned long long ull;
unsigned int ui[2];
}addr64;
int main(unsigned long long speid, addr64 argp, addr64 envp)
{
printf("Hello world, para o PlayStation 3!\n");
return 0;
}
A compilação será executada em duas fases (criação do código objeto e binário). Abaixo o comando para compilar o código-fonte gerando o objeto do mesmo.
[3] Comentário enviado por vodooo em 26/05/2008 - 11:24h
Primeiramente, parabéns pelo artigo!
Bom, enquanto não conseguirem desbloquear o PS3, rodar o Linux nele como usuário doméstico (Desktop) será apenas para "impressionar" os amigos, pois a performance obtida rodando sobre o Hypervisor (espécie de firewall da Sony que "capa" quase todos os recursos, incluindo recursos 3D do console) é equivalente a um Celeron D320 com 256 de ram.
Afirmo isso por experiência própia, pois tenho em casa um PS3 rodando Ubuntu 7.04.
Mas... o desenpenho e "potência" dos processadores Cell é inquestionável.
[4] Comentário enviado por tjpp em 26/05/2008 - 11:36h
O problema não é desbloquear o PS3 nem o Hypervisor. O problema é que o forte do Cell são as SPUs, os cores adicionais. O Hypervisor roda em uma das SPU e, portanto, não afeta o desempenho. O que é bloqueado para o Linux é o acesso acelerado à placa gráfica; só isto! Para baratear os custos de fabricação, uma das SPUs é desativada, deixando 6 disponíveis. Uma camada como o hypervisor é o que é usado nos processos de virtualização, como o Xen.
Para usar estes cores adicionais é necessário modificar o fonte dos programas e de maneira radical. Esta é a razão pela qual temos poucos jogos para o PS3, comparado com o Wii. O artigo do Cabelo mostra como fazer a cross-compilation para o Cell, sem tocar nos SPUs (afinal é um "hello, world"). Sem usar as SPUs explicitamente, o Cell é um PowerPC com dois cores.
[11] Comentário enviado por izavos em 26/05/2008 - 18:31h
Cabelo:
Com base no seu artigo que é de excelente nível técnico, verifiquei que sites publicaram que a Toshiba tem um prototipo de notebook com processador “ Intel Core 2 Duo” + “Cell de 1.5 GHz de 4 elementos” definido versão reduzida!
Esse realizou a seguinte demostração, o notebook converteu um filme de uma hora com resolução de 640×480 pixels em uma versão em alta-definição, a 1920×1080 pixels, aplicando alguns filtros para melhoria da imagem durante o processo. A operação, que levaria mais de 24 horas em um notebook equipado apenas com o chip da Intel, foi realizada em apenas três horas.
Em outro site mostra a cara por assim dizer da tecnologia batizada de “SpursEngine “ que deu esse empurrão no micrinho “http://crave.cnet.com/8301-1_105-9940771-1.html“.
Pegunta que não quer calar, sera que a Apple fez bem em abandonar a IBM com os PowerPc?
Sera que o Cell pode um dia ser uma ameaça para a Nvidia, ATI, AMD ou mesmo a Intel ???
[14] Comentário enviado por anunakin em 28/05/2008 - 13:28h
TJPP,
Há mais alguns artigos no site, aonde uns hacker demostram que não houve bloquei o que houve foi que a sony mudou os ponteiros, constantes e tudo mais no hypervisor, ou seja o que não há é documentação...
Por exemplo... a maioria dos processadores mais novos da linha ARM possuem aceleração 2D/3D (o iPhone é só 2D) mas vocÊ já viu algum rodando um openGL ? mesmo com a documentação ninguém fez um driver ... e isso dá muito trabalho...
A sony parece que soltaria um driver com aceleração 2D... pro Linux na PS3...
[15] Comentário enviado por izavos em 29/05/2008 - 16:27h
Muito bom o artigo de relevância técnica para user do “VOL” !
Mesmo considerando todo o poder do “C” como ferramenta de programação, nada substitui o “Assembly“ para que realmente quer aprender sobre processadores e por fim programação.
A IBM ou Sony já libero alem de esquemas do processador, alguma relação de instruções do “Cell”.
Alguma ferramenta tipo “assemblador” para o mesmo , ou no Linux portado para o PS3.
Alguem sabe como funciona o gerenciamento de memoria do “Cell”, interrupções, apontadores, registradores, relação de subrotinas se tiver alguma.
Alguem já fez um Dump de um seguimento de memoria para ver o resultado ?
Como não poderia deixar passar essa, quero afirmar que gosto da abordagem do autor do artigo. Sem essa de auto promoção de “Sinônimo de qualquer coisa que escrevem por ai” !
[18] Comentário enviado por PietroPC em 04/02/2010 - 21:10h
XimenesWambach:
Eu estava instalando o YDL 6.2 no PS3, mas a instalação começou ontem dia 3 por volta das 19:00 e agora ainda não acabou.
Tipo o PS3 estava lendo o DVD, dava para ouvir, mas não saia da tela a mensagem:
"Iniciando o processo de instalação. Isso pode demorar vários minutos."
Não é possivel que em 1 dia não tenha copiado todo o conteúdo do DVD.
Eu selecionei a instalação de games, o GNOME, KDE, XFCE, ferramentas de desenvolvimento e desenvolvimento WEB.
Agora eu cancelei a instalação e vo ve se começo de novo!