samedi 22 septembre 2012

Environnement de construction pour Arduino Leonardo

ArduinoLeonardoFront.jpg

Si l'environnement de construction iDreamMicro prend en charge les cartes de développements Arduino Uno et Arduino Mega2560 depuis le début ou presque, la carte Arduino Leonardo avait été oubliée... La création d'un nouvel environnement de construction comble cette lacune. Celui-ci est très  […]

Lire la suite

SCons et les méthodes d'environnement

sconstruct.png
"""
Build project.
"""
def BuildProject(env, sources, target_name):    
    # Build program.
    env.Program(target = target_name + '.elf', source = sources)
    
AddMethod(Environment, BuildProject)

L'environnement de construction de la plateforme iDreamMicro permet de compiler en une seule fois plusieurs projets et plusieurs bibliothèques. Par conséquent, le principe de construction est le même d'un projet à l'autre ou d'une bibliothèque à l'autre.

Jusqu'ici on s'est contenté de dupliquer les scripts de construction. Mais cette situation ne peut perdurer, à plus forte raison quand SCons offre le nécessaire pour factoriser et éviter la duplication. La solution consiste à utiliser les méthodes d'environnement.

Lire la suite

SCons et les variables de construction

env_arduino_uno_py.png
env = Environment()
env.Append(NEW_VARIABLE = 'added')
print "NEW_VARIABLE =", env['NEW_VARIABLE']

Les précédents articles autour de SCons ont amené à concevoir un environnement de construction relativement complet, avec la construction de bibliothèques et de projets. Cet environnement utilise plusieurs fichiers SConstruct et SConscript qui doivent s'échanger des paramètres. Certains paramètres sont relatifs à un environnement en particulier. Par conséquent et afin d'éviter de les passer à tord et à travers, il semble judicieux d'en faire des variables de construction.

SCons permet justement d'ajouter des variables à un environnement de construction. Cet article a pour objectif de présenter cette fonctionnalité ainsi que son intégration dans les environnements de la plateforme iDreamMicro.

Lire la suite

Construction de plusieurs projets

project-sconstruct-diff.png

L'article précédent a abordé la construction d'un projet et des bibliothèques qu'il utilise. Dans le cas d'une plateforme telle qu'un réseau de capteurs, on peut vouloir construire plusieurs projets et leurs bibliothèques en une seule fois. Cet article propose une solution permettant de répondre à ce besoin.

Lire la suite

mercredi 9 mai 2012

Construction d'une bibliothèque

Après les deux précédents articles sur la configuration d'un environnement de construction SCons pour AVR-GCC, celui-ci propose de construire un logiciel recourant à des bibliothèques.

Comme dans l'article précédent, le projet servant de support fait basculer le niveau d'une sortie du microcontrôleur mais plutôt que de la piloter en direct, il propose de développer une bibliothèque digital_io réalisant cette tâche.

L'environnement de construction mis en place dans l'article précédent servira de base pour ce nouveau projet. Toutefois l'arborescence évolue et comporte désormais différents sous-dossiers afin de le structurer.

Lire la suite

lundi 19 décembre 2011

Arborescence d'une bibliothèque

Par définition, une bibliothèque doit être réutilisable afin d'être intégrée au plus grand nombre de projets. Mais elle doit également être suffisamment indépendante pour permettre de l'évaluer et de la tester sans être parasité par un projet complet. C'est à dire qu'on doit pouvoir prendre uniquement le dossier de la bibliothèque.

Cet article présente l'arborescence définie par iDreamMicro afin de répondre à ces exigences.

Lire la suite

lundi 11 juillet 2011

Environnement de construction SCons pour AVR-GCC (2/2)

Ce second article sur la configuration d'un environnement de construction SCons pour AVR-GCC introduit la notion de SConscript. Le logiciel de sortie de ce projet est exactement le même que celui de l'article précédent, seule la méthode change.

Désormais, le SConstruct est éclaté dans différents scripts, chacun ayant un rôle précis dans la construction du logiciel :

  • configuration de l'environnement de construction ;
  • adaptation de l'environnement de construction à la cible ;
  • construction du projet.

Pour démontrer que cette méthode est bien plus que de la cosmétique, cet article propose également de construire le logiciel pour deux cibles distinctes.

Lire la suite

jeudi 30 juin 2011

Environnement de construction SCons pour AVR-GCC (1/2)

Cet article présente la configuration d'un environnement de construction SCons minimal pour AVR-GCC.

Afin d'aller à l'essentiel, la configuration de l'environnement et la construction du logiciel se font dans un même fichier SConstruct. Même si ce n'est pas la solution la plus élégante, elle demeure la plus simple. Dans le même souci de simplicité, le projet servant d'exemple ne comporte qu'un seul fichier source et n'a recours à aucune bibliothèque.

Lire la suite