Sign in Join
Wiki copytemporary

PalmOS port/pt

English · Español · Português

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.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.