PalmOS port/pt

From Free Pascal wiki
Jump to: navigation, search

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 e .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

Compilando um projeto de teste

Você compilou o compilador. Agora o que fazer com ele? Este é um tutorial para criar um programa hello world com o seu novo compilador.

Instalando e configurando o emulador

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.

Compilando

Um arquivo de exemplo para compilar:

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 de linha de commando para compilar test.pas:

ppcrossarm test.pas

Você deve pegar o executável test.prc. Copie-o para o seu Palm e o execute.

Debugging PalmOS applications

This section is not yet available

Construindo bibliotecas para o FPC

Se você quiser construir bibliotecas acessíveis ao FPC, por exemplo você quer construir FCL, então execute os comandos seguintes:

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

Você pode pegar unidades FCL em ${FPC_SRC}/fpc/fcl/units/arm-palmos.

Documentation

Notas para o porte para PalmOS

  • 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.

Links

  • Buildfaq é um arquivo genérico de FAQ sobre como construir e configurar o FPC.

Aqui estão alguns links relacionados com a arquitetura ARM CPU

Contacts

Mazen NEIFER