Le présent article montre comment avec uniquement un USBDM de PGO, programmateur/debugger à (très) bas cout dans sa version minimale à base de MC9S08JS16, (µC distribué gratuitement en sample par Freescale et préprogrammé avec bootloader USB); il y a moyen de réaliser une chaine de développement performante, gratuite et totalement illimitée pour les CFV1. Elle est basée sur Eclipse / GCC / GDB
L'article principal se trouve en fichier annexé pdf, à cause de sa longueur (24 pages).
Introduction
La version CodeWarior 10.x de Freescale est limitée, dans sa version gratuite, en taille de code qui peut être programmé sur leur (excellents) µC. Pour les S08, c'est 32K, pour les ColdFire V1, c'est 64K.
Je n'aime personnellement pas trop ces limitations, d'autant plus qu'il existe un compilateur/debugger GNU GCC/GDB qui lui est parfaitement illimité. Cependant, la version « lite » (=gratuite) de ce compilateur que l'on trouve chez CodeSourcery ne comprend pas de Flasher permettant de transférer le programme dans le µC, et cette version ne supporte que les BDM P&E ou l'osbdm-jm60.
Par contre, ce grand monsieur qu'est PGO distribue avec son USBDM, un programme qui permet de flasher les µC (S08 et V1). Après une discussion aimable avec PGO, il a écrit et distribue gratuitement une dll qui permet à son USBDM de se « faire passer » pour un osbdm-jm60 de FSL.
Tous les ingrédients étaient donc réunis pour mettre au point une chaine parfaitement illimitée de compilation/debug pour CFV1, que je vais décrire par après.
Sans vouloir faire de « contre publicité », une fois que vous aurez compris comment marche et se configure cette chaine, vous n'aurez aucun souci à réaliser l'identique pour : les CFV2, ARM, AVR, MSP430, .., la seule différence se situant au niveau du « flasher » (outil utilisé pour flasher le programme) et du « sprite », programme qui réalise l'interface entre GDB et la sonde de debug, et évidemment de la sonde. PGO a également écrit une dll permettant de flasher les CFV2 avec CFFlasher, ce qui permet également de réaliser une chaine illimitée pour les V2, mais je n'ai pas encore eu l'occasion de la tester.
De plus, il faut souligner que le prix d'un USBDM de base est vraiment très faible, les composants les plus couteux étaient un MC9S08JS16 et un SN74LVC125. Si l'on le réalise soi même, son cout ne devrait pas dépasser 10 €, un modèle acheté tout fait (sur Ebay) ou autre vaut entre 20 et 30€
La configuration manuelle d'Eclipse/CGG/GDB est un peu laborieuse, mais elle doit être faite qu'une seule fois. Comme avec CW 10, il y a possibilité de travailler avec des projets « template » qui contiennent toutes les information de configuration.
Remarque : PGO propose également une explication (nettement) plus raccourcie et légèrement différente mais moins explicite.
Essayez l'une ou l'autre mais pas un mélange des deux !!
Compléments (Je mettrai ici toute information complémentaire ou lien qui pourrait être utile ):
- Discussion avec Joël : Installation sous Windows 7 sur PC AMD Phenom II:
http://www.68hc08.net/modules/newbb/viewtopic.php?topic_id=1218
-Discussion avec Michel (divers)
http://www.68hc08.net/modules/newbb/v ... start=0&topic_id=1223