Sign in Join
Wiki copytemporary

Revision 1 of 1, by Antoniog on 9-25-2007. The page as it is now.

PalmOS port/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

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:

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:

pascal
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:

pascal
#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:

pascal
program test;
pascal
{$apptype console}
pascal
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:

pascal
*
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

Links

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

Contacts

Mazen NEIFER


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.