Montando o Cross-Compiler para o StrongARM

   Para desenvolvermos qualquer software para o iPaq, é necessário primeiro que tenhamos em mãos um compilador que gere código para o processador StrongARM. Esse compilador pode ser nativo ao StrongARM ou um cross-compiler. Um cross-compiler é um compilador que gera código para uma arquitetura diferente a que o mesmo está rodando.

    No caso deste trabalho, estaremos compilando nossos programas em uma máquina Intel, mas o código gerado será para a arquitetura do StrongARM. Após o processo de compilação, faz-se o upload do programa para o iPaq para testes.

    Além do compilador, necessitaremos de outros componentes. A lista abaixo mostra os requisitos de software :

    Esse conjunto de componentes formam o GNU toolchain para desenvolvimento em processadores ARM.

    Existem alguns toolchains já montados e prontos para o uso, como o fornecido pela emdebian.org, pelo projeto LART e pela Compaq através da página handhelds.org. Porém neste projeto compilaremos nosso próprio toolchain para ganharmos um entendimento maior sobre o assunto.

    A seguir apresentamos um pequeno roteiro para a montagem do toolchain. O roteiro foi adaptado de um tutorial disponível em armlinux.org

   É importante ressaltar que as versões dos componentes de software utilizadas pelos criadores deste tutorial podem ser diferentes das que usaremos na prática. Portanto poderão surgir problemas inesperados quando da montagem de nosso toolchain. As versões utilizadas no tutorial e portanto teoricamente estáveis são :

    De maneira geral o processo seria:

  1. Definir o target name ou a máquina-alvo para o compilador.
  2. Definir uma estrutura de diretórios para colocar as imagens.
  3. Resolver os problemas dos kernel headers.
  4. Compilar o binutils.
  5. Compilar o gcc.
  6. Por último compilar o glibc.