Sign in Join
Wiki copytemporary

PalmOS port/pt: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: PalmOS port/pt

OldNewLine
1+O porte para PalmOS está nos seus inícios. Ele foi começado e será mantido por Mazen Neifer. Peter Vreman portou os cabeçalhos da PalmOS API.
2+
3+## Estado atual
4+
5+- O compilador 2.1.x dá suporte (muito experimental) a PalmOS.
6+- [[ARM]] CPU tem suporte.
7+- As seguintes plataformas terão suporte:
8+ - Zire72 – PalmOS versão 5.2.8
9+- Unidades-base da RTL ainda não estão portadas.
10+
11+## Building Tutorial
12+
13+Durante o tutorial, alguns caminhos serão supostos para demonstrar o processo de construção. Simplesmente substitua estes caminhos pelos do seu sistema.
14+
15+### Cross binutils
16+
17+Estas são as ferramentas básicas necessárias à criação de executáveis, como:
18+
19+- **arm-palmos-ld** : Vinculador
20+- **arm-palmos-as** : Montador
21+- **arm-palmos-ar** : Archiver (Cria arquivos .a de smartlinking)
22+- **arm-palmos-strip** e alguns outros.
23+
24+Você precisa das cross-binutils para arm-palmos, o Debian Linux (sid) provê um pacote pronto para uso em **[prc-tools-utils](http://packages.debian.org/unstable/otherosfs/prc-tools)**. Um simples "apt-get install prc-tools-utils" vai ser suficiente. Senão você vai precisar pegá-los em <http://www.palmos.com/dev/dl/dl_tools/>.
25+
26+Extraia-os em algum diretório no caminho do seu sistema. Em Debian eles estão instalados em `/usr/bin/arm-palmos-*`
27+
28+### Cross-compilador
29+
30+Vamos supor que você está usando a instalação Debian Linux (sid) e o compillador FPC já está instalado e configurado corretamente. No Debian Linux (sid) você pode instalar o pacote **[fp-compiler](http://packages.debian.org/unstable/devel/fp-compiler)** ("apt-get install fp-compiler")
31+
32+Agora você precisa construir o compilador FPC para o processador ARM. Para isso você precisa dos últimos fontes do FPC 2.1.x além da instalação do FPC 2.0.2 ou 2.0 funcionando. Pegue a última versão 2.1.x do Subversion do repositório de fontes: <http://www.freepascal.org/develop.html#svn>
33+
34+### Ambiente
35+
36+Vamos supor que os seus fontes do Free Pascal estão localizados em: `${FPC_SRC}`
37+
38+`PATH="/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:${FPC_SRC}/compiler"`
39+
40+### O processo de construção
41+
42+Para construir o cross-compilador é necessário ter uma variável de ambiente `PATH` corretamente configurada. Certifique-se de que o seu caminho está correto:
43+
44+ make all CPU_TARGET=arm OS_TARGET=palmos
45+
46+No final da compilação você não deve ter nenhuma mensagem de erro.
47+
48+Você deve ter um `ppccrossarm` em `${FPC_SRC}/compiler` e alguns arquivos `.o` e `.ppu` em `${FPC_SRC}/rtl/units/arm-palmos`
49+
50+Agora copie os arquivos para a sua instalação do Free Pascal. O cross-compilador `ppccrossarm` deve ir para `/usr/local/bin/arm-palmos` e as unidades para `/usr/local/lib/fpc/units/arm-palmos`.
51+
52+### Arquivo de configuração
53+
54+Você precisa editar o arquivo de configuração `${HOME}/.fpc.cfg` do FPC para usar facilmente o `ppccrossarm.exe` e adicionar as seguintes linhas a ele:
55+
56+ #IFDEF FPC_CROSSCOMPILING
57+ -Tpalmos
58+ -Fu${FPC_SRC}/rtl/units/arm-palmos
59+ -XParm-palmos-
60+ #ENDIF
61+
62+## Compilando um projeto de teste
63+
64+Você compilou o compilador. Agora o que fazer com ele? Este é um tutorial para criar um programa hello world com o seu novo compilador.
65+
66+### Instalando e configurando o emulador
67+
68+Antes de tudo você precisa instalar o Palm Device Emulator. Ele é um binário Winows mas funciona bem com o WINE no Debian Linux (sid) Box.
69+
70+### Compilando
71+
72+Um arquivo de exemplo para compilar:
73+
74+ program test;
75+
76+ {$apptype console}
77+
78+ var
79+ Str: string;
80+ begin
81+ WriteLn('Software Developed with:');
82+ WriteLn('The Free Pascal Compiler');
83+ WriteLn('');
84+ WriteLn('Please, enter your name:');
85+ ReadLn(Str);
86+ WriteLn('Your name is: ' + Str);
87+ end.
88+
89+Sample de linha de commando para compilar `test.pas`:
90+
91+`ppcrossarm test.pas`
92+
93+Você deve pegar o executável `test.prc`. Copie-o para o seu Palm e o execute.
94+
95+## Debugging PalmOS applications
96+
97+This section is not yet available
98+
99+## Construindo bibliotecas para o FPC
100+
101+Se você quiser construir bibliotecas acessíveis ao FPC, por exemplo você quer construir FCL, então execute os comandos seguintes:
102+
103+ *
104+ cd ${FPC_SRC}/fpc
105+ make OS_TARGET=palmos CPU_TARGET=arm PP=ppcrossarm fcl
106+
107+Você pode pegar unidades FCL em `${FPC_SRC}/fpc/fcl/units/arm-palmos`.
108+
109+## Documentation
110+
111+### Notas para o porte para PalmOS
112+
113+- O PalmOS não tem suporte para aplicações de console por padrão. Mas você pode instalar você mesmo o suporte para console. Note que o FPC cria aplicações GUI para PalmOS por padrão. Para criar aplicações de console você deve usar a switch do compilador `-WC` ou pôr a diretiva `{$APPTYPE CONSOLE}` nos fontes.
114+
115+## Links
116+
117+- [Buildfaq](http://www.stack.nl/~marcov/buildfaq.pdf) é um arquivo genérico de FAQ sobre como construir e configurar o FPC.
118+
119+Aqui estão alguns links relacionados com a arquitetura ARM CPU
120+
121+- [ARM Core Developers Forum](http://www.armcorepro.com/) Não muito ativa, no entanto.
122+- [GCC ARM Improvement Project](http://www.inf.u-szeged.hu/gcc-arm/)
123+- [ARM ASSEMBLER](http://www.heyrick.co.uk/assembler/index.html) Boas informações e código relacionado com linguagem Assembly para ARM.
124+- [GNU ARM toolchain for Cygwin, Linux and MacOS](http://www.gnuarm.com/)
125+- [ARM Instruction Sets & Programs](http://soc.csie.ndhu.edu.tw/source/intro_embedded/ch2-arm-2.ppt) Informação muito boa e concisa sobre a arquitetura ARM.
126+- [The ARM Instruction Set](http://web.njit.edu/~baltrush/arm_stuff/ARMInst.ppt) Outro bom arquivo sobre ARM.
127+
128+## Contacts
129+
130+[Mazen NEIFER](mailto:mazen@freepascal.org)
131+
132+---
133+*From the Free Pascal wiki, page "PalmOS port/pt", as it stood on 2007-09-25 after a change by Antoniog, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history