De la compilation croisée pour une calculatrice ARM

Une calculatrice Open-source

Commençons déjà par présenter l’objet du crime : il s’agit d’une calculatrice Open-source produite par Numworks dont les fonctionnalités peuvent être testées en ligne On peut trouver différentes ressources sur le sujet mais il s’agit d’un premier modèle et on ne peut qu’espèrer qu’il convergera vers une calculatrice libre.

En revanche, bien que la calculatrice soit développée avec des outils libres, les systèmes libres sont le parent pauvre de l’installation du micro-logiciel embarqué. En clair, Numworks fournit des images précompilés et des outils pour Windows et pour Mac, mais pas pour GNU/LInux, alors que les outils existent déjà.

Revue des outils nécessaires

La partie compliquée n’est pas l’installation du micro-logiciel1 mais sa compilation. En effet pour l’installation, il suffit de dispose de dfu-util qu’on trouve dans toutes les bonnes distributions. Sous Gentoo :

  emerge dfu-util

On peut trouver la liste des dépendances pour ce projet.

Sous Debian, l’installation d’un compilateur croisé est assez simple, mais sous Gentoo, c’est un peu plus délicat. Pour cela, j’ai utilisé crosstool-ng pour lequel je vous invite à lire la documentation très complète.

Pour les gens pressés :

  mkdir ct-ng src
  cd ct-ng
  ct-ng arm-unknown-eabi
  ct-ng build
  cd ~
  git clone https://github.com/numworks/epsilon
  cd ~/epsilon
  git checkout 1.1.2
  export PATH=$PATH:~/x-tools/arm-none-eabi/bin
  make
  make app_flash

Quelques liens pour compléter


  1. on dit souvent firmware 

Tagcloud
Ubuntu automontage kernel authentification orgcamp NetworkManager Internet identification PSL Science-Fiction JDLL postfix Opinions Gentoo Éducation Iptables OSM rubber sympa GNU-Linux Educ Libre PlanetUbuntuFr PlanetUbuntu nfs UbuntuFr Mathématiques auto hébergement Python compilation dovecot Mozilla Mandriva Emacs Perso eCryptfs April Drupal beamer automatisation shell DNS Voile Mutt orgmode Société LDAP Réflexions SNCF configuration Épinay redmine sqlite php CAPES Spam OpenVPN CPL dotclear ISN vélo mail installation OpenSSL GCC X.org sudo ArchLinux fail vserver IPv6 Debian Coups de gueule LaTeX Admin Sys Free Parinux RaspberryPi Vie numérique Essai sieve gpg vim fun Randonnée SPF OpenStack Informatique Coup de gueule Lectures Paris Web imap RATP Technique CLI code KDE roundcube Munin