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 siguientes 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 a suponer 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 paquete 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 de PATH 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
Ahora tienes que editar el archivo de configuración de FPC ${HOME}/.fpc.cfg a fin de utilizar ppccrossarm de forma fácil, para ello añade estas líneas al mismo:
#IFDEF FPC_CROSSCOMPILING -Tpalmos -Fu${FPC_SRC}/rtl/units/arm-palmos -XParm-palmos- #ENDIF
Compilar un proyecto de Prueba
¡Has compilado el compilador! ahora, ¿qué puedo hacer con él? Este es una tutoría para crear un programa hola mundo con su nuevo compilador.
Instalar y configurar el emulador
En primer lugar, es necesario instalar el emulador de dispositivos Palm. Se trata de un binario de Windows, pero funciona bien con WINE en un linux Debian (sid).
Cosas para hacer (ToDo)
Compilar
El archivo de ejemplo para compilar:
program prueba;
{$apptype console}
var
Str: string;
begin
WriteLn('Programa desarrollado con:');
WriteLn('El compilador Free Pascal');
WriteLn('');
WriteLn('Por favor escribe tu nombre:');
ReadLn(Str);
WriteLn('Tu nombre es: ' + Str);
end.
Ejemplo de línea de órdenes para compilar prueba.pas:
ppcrossarm prueba.pas
Ahora debes coger el archivo ejecutable prueba.prc y copiarlo en tu aparato Palm y ejecutarlo.
Depurando aplicaciones PalmOS
Esta sección todavía no está disponible
Construyendo las librerías de FPC
Si quieres construir las librerías disponibles para FPC, por ejemplo, quieres construir la FCL, ejecuta las siguientes órdenes.
cd ${FPC_SRC}/fpc make OS_TARGET=palmos CPU_TARGET=arm PP=ppcrossarm fcl
Tendrás las unidades de la FCL en ${FPC_SRC}/fpc/fcl/units/arm-palmos.
Documentación
notas de la versión PalmOS
- PalmOS no tiene soporte para aplicaciones de consola por defecto. Pero puedes instalar el soporte de consola tú mismo. Ten en cuenta que FPC crea aplicaciones GUI para PalmOS de forma predeterminada. Para crear la aplicación de consola se debes utilizar la opción -WC del compilador o poner la directiva {$APPTYPE CONSOLE} en el código fuente.
Enlaces
- Buildfaq es un FAQ general acerca de cómo crear y configurar FPC.
Éstos son algunos enlaces relacionados con la arquitectura de cpu ARM
- ARM Core Developers Forum Aunque no muy activa.
- GCC ARM Improvement Project
- ARM ASSEMBLER Buena información y código relacionados con el lenguaje ensamblador de ARM.
- GNU ARM toolchain for Cygwin, Linux and MacOS
- ARM Instruction Sets & Programs Muy buena y concisa información sobre la arquitectura ARM
- El juego de instrucciones ARM Una buena presentación sobre ARM