Sign in Join
Wiki copytemporary

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

WinCE port/pt

O porte do WinCE é bem completo e utilizável. Ele foi iniciado e é mantido por Yury Sidorov. Cabeçalhos Oliver (Oro06) portados da API do WinCE .

Estado atual

Construindo o Tutorial

Durante o tutorial alguns caminhos serão supostos para demonstrar o processo de contrução. Apenas substitua aqueles caminhos pelos do seu sistema.

Passo 1 - Binutils para cross-compilação:

Estas são as ferramentas básicas necessárias para criar executáveis, como: Vinculador (ld), Montador (as), Archiver (ar) (cria arquivos .a do smartlinking), strip e algumas outras.

Você precisa das binutils para cross-compilação para ARM-WinCE, pegue-os em ftp://ftp.freepascal.org/pub/fpc/contrib/cross/arm-wince-binutils.zip for Win32.

Extraia-os em algum diretório no caminho da sua máquina. Vamos supor que você os extraiu em: C:\Programas\arm

Passo 2 - Cross-compilador

Agora você precisa construir o cross-compilador FPC para o processador ARM. Para fazer isso você precisa dos fontes mais recentes do FPC 2.1.x e a instalação do FPC 2.0.4 funcionando para Win32.

Pegue os fontes mais recentes do repositório do 2.1.x no Subversion: http://www.freepascal.org/develop.html#svn

Vamos supor que o seu ompilador FPC para Win32 está localizado em: C:\Programas\fpc\bin\i386-win32

E os seus fontes do Free Pascal 2.1.x estão localizados em: C:\Programas\fpc

Passo 3 - O Processo de Construção

Para construir o cross-compilador é necessário ter uma variável de ambiente PATH correta. No Windows é muito fácil ter um PATH junto com a informação colocada pelos instaladores. Para se certificar de que o seu Path está correto, crie um arquivo de lote do DOS com o seguinte código:

pascal
PATH=C:\Programas\fpc\bin\i386-win32;C:\Programas\arm
make cycle CPU_TARGET=arm OS_TARGET=wince

Ponha este arqquivo em C:\Programas\fpc\compiler, abra a linha de comando do Windows, vá para esta pasta e execute o arquivo de lote.

No fim da compilação você não deve ter mensagens de erro.

Você deve ter um ppccrossarm.exe em C:\Programas\fpc\compiler e alguns arquivos .o e .ppu em C:\Programas\fpc\rtl\units\arm-wince

Copie eses arquivos para a sua instalaçãodo Free Pascal. O cross-compilador ppccrossarm.exe deve ir para C:\Programas\fpc\bin\arm-wince e as unidades para C:\Programas\fpc\units\arm-wince

Passo 4 - Arquivo de configuração

Você precisa criar um arquivo de configuração fpc.cfg na pasta C:\Programas\fpc\bin\arm-wince para usar o ppccrossarm.exe com facilidade.

Crie um arquivo fpc.cfg vazio na pasta C:\Programas\fpc\bin\arm-wince e adicione as seguintes linhas:

pascal
-Twince
-FuC:\Programas\fpc\units\arm-wince
-XParm-wince-
-FDC:\Programas\arm

Finalmente adicione C:\Programas\fpc\bin\arm-wince e C:\Programas\fpc\bin\i386-win32 à sua variável de ambiente PATH.

Lembre-se de substituir os caminhos pelos do seu sistema.

Compilando um Projeto de Teste

Você compilou o compilador. Agora, o que você pode fazer com ele? Este é um tutorial para criar um projeto "hello world" com o seu novo compilador.

Passo 1 - Instalando e Configurando o Emulador

Você vai precisar de um emulador Windows CE configurado para ActiveSync. O ActiveSync é necessário para instalar o PocketCMD, uma ferramenta de linha de comando para executar o nosso programa ""hello world'.

Baixe o emulador de dispositivo livre Pocket PC da Microsoft. Ele emula o ARM CPU. http://msdn.microsoft.com/mobility/downloads/Emulator/default.aspx

Existe um tutorial de como configurar o emulador para ActiveSync here.

Passo 2 - Instalando a linha de comando

Baixe e instale o PocketCMD da SymbolicTools. Pegue-o aqui

Verifique a seção WinCE port notes abaixo para maioresa detalhes sobre linhas de comando em Pocket PC.

Passo 3 - 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 comando para compilar test.pas:

ppcrossarm test.pas

Você vai pegar o executável test.exe. Copie-o para o seu dispositivo Windows CE e execute.

Aqui está um screenshot de um programa criado dessa forma.

Depurando aplicações WinCE

O GBD pode ser usado para depurar suas aplicações WinCE remotamente via ActiveSync. Baixe o GDB 6.4 para hots Win32 e arm-wince target aqui: ftp://ftp.freepascal.org/pub/fpc/contrib/cross/gdb-6.4-win32-arm-wince.zip

Algumas dicas:

Como usar:

Primeiro faça a conexão ActiveSync no seu dispositivo Pocket PC.

Então carregue o gdb:

gdb --tui <seu_executavel_no_pc_local>

No prompt do gdb escreva:

run ou só r

GDB vai copiar o seu executável para o seu dispositivo na pasta \gdb e executá-lo.

Aqui está uma pequena lista dos comandos mais necessários do GDB:

Para aprender mais sobre como usar o GDB leia sua documentação aqui: http://www.gnu.org/software/gdb/documentation

Construindo bibliotecas do FPC

Se você quer construir bibliotecas disponíveis com o FPC vá para a pasta de bibliotecas e execute:

pascal
PATH=C:\Programas\fpc\bin\i386-win32;C:\Programas\fpc\compiler;C:\Programas\arm
make OS_TARGET=wince CPU_TARGET=arm PP=ppcrossarm.exe

Por exemplo você quer construir a FCL. Vá para a pasta fpc\fcl e execute o comando abaixo. Você vai obter as unidades da FCL compiladas em fpc\fcl\units\arm-wince.

Documentação

Algumas notas sobre WinCE

Notas sobre o porte para WinCE

Veja também

Links

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

Contato

Escreva qualquer pergunta sobre o porte para WinCE para Yury Sidorov


From the Free Pascal wiki, page "WinCE port/pt", as it stood on 2007-09-29 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.