Difference between revisions of "PalmOS port/pt"

From Free Pascal wiki
Jump to navigationJump to search
m
Line 12: Line 12:
 
==Building Tutorial==
 
==Building Tutorial==
  
During the tutorial some paths will be supposed to demonstrate the build process. Just substitute those paths with the ones on your system.
+
Durante o tutorial, alguns caminhos serão supostos para demonstrar o processo de construção. Simplesmente substitua estes caminhos pelos do seu sistema.
 
 
 
 
 
===Cross binutils===
 
===Cross binutils===
  
These are the basic tools necessary to create executables, such as:  
+
Estas são as ferramentas básicas necessárias à criação de executáveis, como:
* '''arm-palmos-ld''' : Linker
+
* '''arm-palmos-ld''' : Vinculador
* '''arm-palmos-as''' : Assembler
+
* '''arm-palmos-as''' : Montador
* '''arm-palmos-ar''' : Archiver (Creates smartlinking .a files)
+
* '''arm-palmos-ar''' : Archiver (Cria arquivos .a de smartlinking)
* '''arm-palmos-strip''' and some others.
+
* '''arm-palmos-strip''' e alguns outros.
 
 
You need cross binutils for arm-palmos, debian linux (sid) provides a ready to use package '''[http://packages.debian.org/unstable/otherosfs/prc-tools prc-tools-utils]'''. Just "apt-get install prc-tools-utils" will do the job. Otherwise, you need to get them from http://www.palmos.com/dev/dl/dl_tools/.
 
 
 
Extract them to some dir in the path on your machine. In a debian machine these are installed to <tt>/usr/bin/arm-palmos-*</tt>
 
  
 +
Você precisa das cross-binutils para arm-palmos, o Debian Linux (sid) provê um pacote pronto para uso em '''[http://packages.debian.org/unstable/otherosfs/prc-tools prc-tools-utils]'''.
 +
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/.
  
===Cross compiler===
+
Extraia-os em algum diretório no caminho do seu sistema. Em Debian eles estão instalados em  <tt>/usr/bin/arm-palmos-*</tt>
 +
===Cross-compilador===
  
We will suppose that your are using debian linux installation (sid) and fpc compiler is already installed and correctly configured. Under debian linux (sid) you may install the '''[http://packages.debian.org/unstable/devel/fp-compiler fp-compiler]''' package ("apt-get install fp-compiler")
+
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 '''[http://packages.debian.org/unstable/devel/fp-compiler fp-compiler]''' ("apt-get install fp-compiler")
  
Now you need to build fpc cross compiler for ARM processor. To do that you need latest fpc 2.1.x sources in addition to your working installation of fpc 2.0.2 or 2.0 already mentioned. Get the latest 2.1.x source repository from Subversion: http://www.freepascal.org/develop.html#svn
+
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
  
===Environment===
+
===Ambiente===
  
We will suppose your Free Pascal 2.1.x source code is located here: <tt>${FPC_SRC}</tt>
+
Vamos supor que os seus fontes do Free Pascal estão localizados em:
 +
<tt>${FPC_SRC}</tt>
  
 
<tt>PATH="/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:${FPC_SRC}/compiler"</tt>
 
<tt>PATH="/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:${FPC_SRC}/compiler"</tt>
  
===The Build process===
+
===O processo de construção ===
  
In order to build the cross compiler it is necessary to have a correct <tt>PATH</tt> environment variable. Please ensure that your path is correct:
+
Para construir o cross-compilador é necessário ter uma variável de ambiente <tt>PATH</tt> corretamente configurada. Certifique-se de que o seu caminho está correto:
  
 
<pre>
 
<pre>
Line 48: Line 46:
 
</pre>
 
</pre>
  
On the end of the compile you should not see any errors.  
+
No final da compilação você não deve ter nenhuma mensagem de erro.
  
You should have a <tt>ppccrossarm</tt> in <tt>${FPC_SRC}/compiler</tt> and some <tt>.o</tt> and <tt>.ppu</tt> files in <tt>${FPC_SRC}/rtl/units/arm-palmos</tt>
+
Você deve ter um <tt>ppccrossarm</tt> em <tt>${FPC_SRC}/compiler</tt> e alguns arquivos <tt>.o</tt> and <tt>.ppu</tt> em <tt>${FPC_SRC}/rtl/units/arm-palmos</tt>
  
Now copy those files to your Free Pascal installation. The cross compiler <tt>ppccrossarm</tt> should go to <tt>/usr/local/bin/arm-palmos</tt> and the units to <tt>/usr/local/lib/fpc/units/arm-palmos</tt>
+
Agora copie os arquivos para a sua instalação do Free Pascal. O cross-compilador <tt>ppccrossarm</tt> deve ir para <tt>/usr/local/bin/arm-palmos</tt> e as unidades para <tt>/usr/local/lib/fpc/units/arm-palmos</tt>.
  
===Configuration file===
+
===Arquivo de configuração===
 +
Você precisa editar o arquivo de configuração <tt>${HOME}/.fpc.cfg</tt> do FPC para usar facilmente o <tt>ppccrossarm.exe</tt> e adicionar as seguintes linhas a ele:
  
Now you need to edit your FPC configuration file <tt>${HOME}/.fpc.cfg</tt> in order to use <tt>ppccrossarm.exe</tt> easy and add the following lines to it:
 
 
<pre>
 
<pre>
 
#IFDEF FPC_CROSSCOMPILING
 
#IFDEF FPC_CROSSCOMPILING

Revision as of 19:44, 4 May 2007

English (en) español (es) português (pt)

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.

Estado atual

  • O compilador 2.1.x dá suporte (muito experimental) a PalmOS.
  • ARM CPU tem suporte.
  • As seguintes plataformas terão suporte:
    • Zire72 – PalmOS versão 5.2.8
  • Unidades-base da RTL ainda não estão portadas.

Building Tutorial

Durante o tutorial, alguns caminhos serão supostos para demonstrar o processo de construção. Simplesmente substitua estes caminhos pelos do seu sistema.

Cross binutils

Estas são as ferramentas básicas necessárias à criação de executáveis, como:

  • arm-palmos-ld : Vinculador
  • arm-palmos-as : Montador
  • arm-palmos-ar : Archiver (Cria arquivos .a de smartlinking)
  • arm-palmos-strip e alguns outros.

Você precisa das cross-binutils para arm-palmos, o Debian Linux (sid) provê um pacote pronto para uso em prc-tools-utils. 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/.

Extraia-os em algum diretório no caminho do seu sistema. Em Debian eles estão instalados em /usr/bin/arm-palmos-*

Cross-compilador

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 ("apt-get install fp-compiler")

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

Ambiente

Vamos supor que os seus fontes do Free Pascal estão localizados em: ${FPC_SRC}

PATH="/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:${FPC_SRC}/compiler"

O processo de construção

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:

make all CPU_TARGET=arm OS_TARGET=palmos

No final da compilação você não deve ter nenhuma mensagem de erro.

Você deve ter um ppccrossarm em ${FPC_SRC}/compiler e alguns arquivos .o and .ppu em ${FPC_SRC}/rtl/units/arm-palmos

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.

Arquivo de configuração

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:

#IFDEF FPC_CROSSCOMPILING
-Tpalmos
-Fu${FPC_SRC}/rtl/units/arm-palmos
-XParm-palmos-
#ENDIF

Compiling a Test Project

You compiled the compiler! Now, what can I do with it? This is a tutorial to create a hello world like software with your new compiler.

Installing and Configuring the Emulator

First of all, you need to install the Palm Device Emulator. This is a windows binary, but works well with WINE on a Debian Linux (sid) box. TODO

Compiling

A example file to compile:

program test;

{$apptype console}

var
  Str: string;
begin
  WriteLn('Software Developed with:');
  WriteLn('The Free Pascal Compiler');
  WriteLn('');
  WriteLn('Please, enter your name:');
  ReadLn(Str);
  WriteLn('Your name is: ' + Str);
end.

Sample command line to compile test.pas:

ppcrossarm test.pas

You should get test.prc executable file. Copy it to your Palm device and run it.

Debugging PalmOS applications

This section is not yet available

Building FPC libraries

If you want to build libraries available with FPC, for example you want to build FCL then execute the commands above.

*
cd ${FPC_SRC}/fpc
make OS_TARGET=palmos CPU_TARGET=arm PP=ppcrossarm fcl

You will get FCL units in ${FPC_SRC}/fpc/fcl/units/arm-palmos.

Documentation

PalmOS port notes

  • PalmOS does not have support for console applications by default. But you can install console support by yourself. Please note that FPC creates GUI applications for PalmOS target by default. To create console application you should use -WC compiler switch or put {$APPTYPE CONSOLE} directive to source code.

Links

  • Buildfaq is a general FAQ about how to build and configure FPC.

Here are some links related to ARM CPU Architecture

Contacts

Mazen NEIFER