PalmOS port/pt
│
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
- ARM Core Developers Forum Não muito ativa, no entanto.
- GCC ARM Improvement Project
- ARM ASSEMBLER Boas informações e código relacionado com linguagem Assembly para ARM.
- GNU ARM toolchain for Cygwin, Linux and MacOS
- ARM Instruction Sets & Programs Informação muito boa e concisa sobre a arquitetura ARM.
- The ARM Instruction Set Outro bom arquivo sobre ARM.