PalmOS port/es
│
English (en) │
español (es) │
português (pt) │
La versión PalmOS está en un estado muy inicial. Esta versión ha sido puesta en marcha y es mantenida por Mazen Neifer. Peter Vreman ha convertido las cabeceras del API de PalmOS.
Estado
- La versión 2.1.x del compilador tiene soporte (muy experimental) para compilar para PalmOS.
- La CPU ARM CPU está soportada.
- Las siguients plataformas serán soportadas:
- Zire72 – version PalmOS: 5.2.8
- Las unidades RTL de Base no están convertidas.
Tutoría de Construcción
Durante la tutoría algunos pasos se presuponen para demostrar el proceso de construcción. Sustituye las rutas con las adecuadas de tu sistema.
Utilidades binarias cruzadas (Cross binutils)
Estas son las herramientas básicas necesarias para crear ejecutables:
- arm-palmos-ld : Enlazador
- arm-palmos-as : Ensamblador
- arm-palmos-ar : Archivador (Crea archivos de enlace inteligente (smartlinking) .a)
- arm-palmos-strip: Eliminador de secciones de los binarios ejecutables
y algunos otros.
Estas herramientas puedes encontrarlas en un paquete listo para utilizar de debian linux (sid) prc-tools-utils. Utiliza el mandato "apt-get install prc-tools-utils" para obtenerlo e instalarlo. De lo contrario, es necesario obtenerlos de http://www.palmos.com/dev/dl/dl_tools/. Extrae en un directorio de tu máquina. En una máquina con Debian se instalan en /usr/bin/arm-palmos-*
Compilador cruzado
Vamos asuponer que estás usando una instalación linux debian (sid) y que el compilador FPC ya está instalado y configurado correctamente. En debian debemos instalar el pauete fp-compiler con la orden apt-get install fp-compiler.
Ahora hay que construir el compilador cruzado FPC para el procesador ARM. Para llevarlo a cabo necesitamos las últimas fuentes (desde la versión 2.1.x) además de la instalación de trabajo de FPC 2.0.2 o 2.0 antes mencionadas. Obtendremos las fuentes del repositorio de fuentes Subversion: http://www.freepascal.org/develop.html#svn
Entorno
Suponemos que las fuentes de Free Pascal están aquí: ${FPC_SRC}
PATH="/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:${FPC_SRC}/compiler"
El proceso de Construcción
A fin de construir el compilador cruzado, es necesario tener una variable de entorno PATH correcta. Haz el favor de asegurarte de que las rutas dePATH son las adecuadas:
make all CPU_TARGET=arm OS_TARGET=palmos
Al finalizar la compilación no debes ver errores.
Ahora tendrás el binario ppccrossarm en ${FPC_SRC}/compiler y varios archivos .o y .ppu en ${FPC_SRC}/rtl/units/arm-palmos
Copia estos archivos a tu instalación FPC de trabajo. El compilador cruzado ppccrossarm debe ir a /usr/local/bin/arm-palmos y las unidades a /usr/local/lib/fpc/units/arm-palmos
Archivo de Configuración
Now you need to edit your FPC configuration file ${HOME}/.fpc.cfg in order to use ppccrossarm.exe easy and add the following lines to it:
#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:
<delphi> 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. </delphi>
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
- ARM Core Developers Forum Not that much active though.
- GCC ARM Improvement Project
- ARM ASSEMBLER Good information and codes related to arm assembly language.
- GNU ARM toolchain for Cygwin, Linux and MacOS
- ARM Instruction Sets & Programs Very good and consice information about arm architecture
- The ARM Instruction Set Another fine power point file about arm