Re : Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
Bonjour,
Voici le 3ème post qui en fait devrait être le premier.
Quel est le « sujet » de ce projet ?
Et bien, personnellement, après avoir débuté (-en tant qu'amateur)-sur des microcontrôleurs 8 bits, après 2 ans m'est venu l'envie de passer aux 32 bits. D'après mes tests, il y a un facteur 10 entre la rapidité d'un 8 et d'un 32 bits à même fréquence. De plus, ces processeurs (en bas de gamme) débutent à 60 Mhz.
Les questions se posent alors :
Quel processeur ?
Quels outils de développement
Le Hardware ?
Comment exploiter ces µC ?
Après avoir cherché, je peux apporter une contribution de réponse à ces questions :
Les processeurs, c'est actuellement ceux qui sont très largement les plus utilisés : ARM7/9 et ColdFire (descendants des fameux 68000). Des microcontrôleurs ARM sont fabriqués par de nombreuses marques : NXP (Phillips), ATMEL, ST, Analog, ...
Les outils de développement: Une chaîne professionnelle coûte quelques Kilo-euros. Mais il existe GCC (GNU Compiler Collection) de la Free Software Fondation (FSF). Du gratuit à la pointe de le technologie. Mais GCC n'est compilateur en ligne de commande. Il faut aussi un IDE, cela existe aussi et est particulièrement génial : Eclipse. (www.eclipse.org)
Le dernier maillon de la chaine est le débugger. GDB (de la chaine GCC) est excellent, mais il faut une interface avec le hardware. Pour les ARM, il existe depuis peu OpenOCD, serveur de commandes GDB. Gratuit et Open Source, fonctionne avec sonde JTAG ou wiggler approprié. Pour les Coldfire, c'est un peu plus compliqué. Il existe un «stub» gratuit, mais qui ne permet pas de programmer la flash. Il existe un programmateur Flash gratuit, mais ne fonctionnant qu'avec une sonde BDM propriétaire.
A remarquer que ces chaînes de développement, totalement gratuites, n'ont PAS de limitation (en Ko de code, en temps, en optimisations,..)
Bref pour résumer :
Sur ARM :
Il faut :
une carte de développement : 30 à xxx Euros (voir Ebay)
Une sonde Jtag ( 29 eur le moins cher que j'aie trouvé) ou fabriquer un « Wiggler » (10 euros maximum pour un PC équipé d'un port parallèle.
Un environnement de développement gratuit (compilateur C, debugger In circuit, programmateur Flash ) : Eclipse – GCC/GDB – Open OCD (fonctionne aussi sous linux).
Sur Coldfire :
Une carte de développement (M5211DEMO 99 eur chez Freescale ou Digikey) ou autre à xxx eur
(Un BDM (sonde debug): inclus sur la carte)
Environnement de développement gratuit : Eclipse – GCC/GDB – CFFLasher.
Le post précédent explique comment installer et configurer Eclipse/GCC/GDB pour ces deux processeurs. Ce n'est pas simple, j'ai « ramé » pendant plusieurs semaines. Mais, une fois que c'est fait, on peut faire des projets « template » vierges qui évitent cette (re-)configuration.
La mise en oeuvre :
Si sur un µC 8 bits, il est d'usage de faire une boucle infinie, sur les µC 32 bits, cela sous-exploite largement la puissance du processeur. Il faut un « Operating System » temps réel ou RTOS.
Celui qui me semble le plus sympa est FreeRTOS, mais l'explication de ce genre de chose sort du sujet de ce post. Totalement gratuit et porté sur de nombreux processeurs. Mon premier post donne le port que j'ai effectué sur un MCF5212. Des port complets pour ARM existent sur le site de www.freertos.org
Voilà, pour ceux qui seraient tentés de s'aventurer dans l'expérience, je peux affirmer que c'est particulièrement passionnant... (et pas cher) - mais il faut avoir le temps de s'y investir.
thierry
Dernière modification par invite76a ; 18/02/2008 à 19h34.
18/02/2008 - 20h08
invite76a
Date d'inscription
août 2005
Localisation
Belgique
Messages
0
Re : Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
En complément : les fichiers de l'article pour ARM
th
10/03/2008 - 21h35
katmai
Date d'inscription
août 2006
Localisation
Toulouse
Âge
24
Messages
347
Re : Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
Salut,
Merci beaucoup pour ta doc! Elle m'apporte une très grande aide. J'ai pas encore réussi à m'en sortir avec Eclipse mais je pense que j'ai un problème de compilateur parce que je suis entièrement sous linux et je n'ai pas trouvé arm-elf-gcc.
Au faite tu penses que ça marcherait avec un ARM Cortex M3?
Re : Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
Bonjour,
Rassures-toi, j'ai "ramé" de nombreuses semaines avant que cela marche.
Je ne connais pas trop Linux, que je n'utilise pas (enfin plus)
Tu dois pouvoir trouver une version arm-gcc sous linux sans trop de difficulté. Je te conseille très fortement de prendre une version GCC > à 4.
Par exemple http://www.mikrocontroller.net/artic...x_and_Mac_OS_X
ou alors pose la question sur un forum ARM, ce n'est pas ce qui manque.
Faire fonctionner arm-elf-gcc en ligne de commande DOS est une étape préliminaire.
Je ne sais pas si le cortex M3 est supporté, cela dépend du "build" de arm-gcc. En tous cas, GCC peut le supporter car l'option cette option est disponible (voir les manuals de gcc.gnu.org)
Par contre, Yagarto ne supporte PAS le cortex M3.
Bon amusement
thierry
25/03/2008 - 15h38
khlitoshi
Date d'inscription
mars 2008
Âge
26
Messages
4
a propos de ce projet
bonsoir,
merci beaucoup de ce projet ,
je voudrais te demander est ce que tu me donne la permission de diffuser ton projets dans d'autres forums.
merci
26/03/2008 - 17h35
invite76a
Date d'inscription
août 2005
Localisation
Belgique
Messages
0
Re : Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
Cela ne me pose à priori pas de problème.
Bien sûr sans aucune garantie de ma part ni pour l'usage qui pourrait en être fait.
J'oubliais : sauf si ce sont des forums microchip ou PIC
th.
02/04/2008 - 20h54
invite76a
Date d'inscription
août 2005
Localisation
Belgique
Messages
0
Re : Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
Pour information, voici la carte que j'ai utilisée pour mes tests Eclipse/GCC sur ARM:
Une très belle petite carte LPC2103 avec tous les connecteurs d'extensions prévus (y compris pour un LCD 2x16). Il y a une interface série avec un bootloader mais je ne l'ai pas utilisée.
Donc, un "système de développement" complet ARM7 en C illimité pour moins de 70 eur port inclus.
thierry
20/05/2008 - 13h15
Cl3MENTE
Date d'inscription
juin 2007
Messages
53
Re : Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
Bonjour,
je commence à découvrir la suite Eclipse/gcc/gdb sur une carte de developpement olimex p256 (Atmel atsam7s256) avec un debugger arm openocd. J'ai réussi a programer la carte et à debbugger en assembler mais je rencontre quelque problèmes avec le debbug de la source en langage c. Ensuite je compte installer LCD 2x16 sur les ports PA de la carte.
J'aimerais savoir si les possibilité sont les même que pour un Coldfire vu que le processeur est un ARM7
20/05/2008 - 17h31
invite76a
Date d'inscription
août 2005
Localisation
Belgique
Messages
0
Re : Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
Bonjour, CI3MENTE
Le debug source C est parfaitement possible. Mais quelle est la nature de ton problème exactement :
- as-tu un fichier.elf?
- debugges tu en flash ou en ram. Je conseille d'abord d'essayer le debug ram, c'est plus simple.
Il faudrait plus d'informations et de précision sur la nature de ton problème.
thierry
21/05/2008 - 08h32
Cl3MENTE
Date d'inscription
juin 2007
Messages
53
Re : Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
Le problème debbug en C est réglé, c'était le lien avec la source qui ne se faisait. Je debug en flash je n'ai pas encore essayer le debugage en ram (j'imagine qu'il faut modifier le run command du debbugger).
Je fini le découvrir le debbugage et après je passe au controle de l'ecran!
22/05/2008 - 18h14
invite76a
Date d'inscription
août 2005
Localisation
Belgique
Messages
0
Re : Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
Bonjour,
Ravi que cela marche. Si tu veux voir asm+sourceC dans la "perspective" Debug, il faut aller dans le menu "window"->"Show View"->"Disassembly".
Tu verras qu'avec un peu d'habitude, tout devient assez rapidement simple et évident.
thierry
09/04/2009 - 14h03
coboy
Date d'inscription
avril 2009
Messages
6
Re : Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
chouette !!!!!!!!!!!!!
ce que tu as dis m'a un peu éclairci sur le sujet mais si on on ne prend pas en main les outils on ne comprends rien , bref je voulais avoir ton avis sur les deux kit de deveppement suivants. que j'ai trouvé sur LEXTRONIC dont voici les liens
en fait je veux réaliser une opération de commande de relais par tension 12V à partie de capture d'un dépassment de température mais les pins d'entrée sortie sont à 3.3 et il faudra ajouter des alims pour assuer le 12V poue l'organe de commutation
je suis vraiment débutant dans le domaine et j'ai besion de votre aide svp
Envoyé par invite76a
Bonjour,
Voici le 3ème post qui en fait devrait être le premier.
Quel est le « sujet » de ce projet ?
Et bien, personnellement, après avoir débuté (-en tant qu'amateur)-sur des microcontrôleurs 8 bits, après 2 ans m'est venu l'envie de passer aux 32 bits. D'après mes tests, il y a un facteur 10 entre la rapidité d'un 8 et d'un 32 bits à même fréquence. De plus, ces processeurs (en bas de gamme) débutent à 60 Mhz.
Les questions se posent alors :
Quel processeur ?
Quels outils de développement
Le Hardware ?
Comment exploiter ces µC ?
Après avoir cherché, je peux apporter une contribution de réponse à ces questions :
Les processeurs, c'est actuellement ceux qui sont très largement les plus utilisés : ARM7/9 et ColdFire (descendants des fameux 68000). Des microcontrôleurs ARM sont fabriqués par de nombreuses marques : NXP (Phillips), ATMEL, ST, Analog, ...
Les outils de développement: Une chaîne professionnelle coûte quelques Kilo-euros. Mais il existe GCC (GNU Compiler Collection) de la Free Software Fondation (FSF). Du gratuit à la pointe de le technologie. Mais GCC n'est compilateur en ligne de commande. Il faut aussi un IDE, cela existe aussi et est particulièrement génial : Eclipse. (www.eclipse.org)
Le dernier maillon de la chaine est le débugger. GDB (de la chaine GCC) est excellent, mais il faut une interface avec le hardware. Pour les ARM, il existe depuis peu OpenOCD, serveur de commandes GDB. Gratuit et Open Source, fonctionne avec sonde JTAG ou wiggler approprié. Pour les Coldfire, c'est un peu plus compliqué. Il existe un «stub» gratuit, mais qui ne permet pas de programmer la flash. Il existe un programmateur Flash gratuit, mais ne fonctionnant qu'avec une sonde BDM propriétaire.
A remarquer que ces chaînes de développement, totalement gratuites, n'ont PAS de limitation (en Ko de code, en temps, en optimisations,..)
Bref pour résumer :
Sur ARM :
Il faut :
une carte de développement : 30 à xxx Euros (voir Ebay)
Une sonde Jtag ( 29 eur le moins cher que j'aie trouvé) ou fabriquer un « Wiggler » (10 euros maximum pour un PC équipé d'un port parallèle.
Un environnement de développement gratuit (compilateur C, debugger In circuit, programmateur Flash ) : Eclipse – GCC/GDB – Open OCD (fonctionne aussi sous linux).
Sur Coldfire :
Une carte de développement (M5211DEMO 99 eur chez Freescale ou Digikey) ou autre à xxx eur
(Un BDM (sonde debug): inclus sur la carte)
Environnement de développement gratuit : Eclipse – GCC/GDB – CFFLasher.
Le post précédent explique comment installer et configurer Eclipse/GCC/GDB pour ces deux processeurs. Ce n'est pas simple, j'ai « ramé » pendant plusieurs semaines. Mais, une fois que c'est fait, on peut faire des projets « template » vierges qui évitent cette (re-)configuration.
La mise en oeuvre :
Si sur un µC 8 bits, il est d'usage de faire une boucle infinie, sur les µC 32 bits, cela sous-exploite largement la puissance du processeur. Il faut un « Operating System » temps réel ou RTOS.
Celui qui me semble le plus sympa est FreeRTOS, mais l'explication de ce genre de chose sort du sujet de ce post. Totalement gratuit et porté sur de nombreux processeurs. Mon premier post donne le port que j'ai effectué sur un MCF5212. Des port complets pour ARM existent sur le site de www.freertos.org
Voilà, pour ceux qui seraient tentés de s'aventurer dans l'expérience, je peux affirmer que c'est particulièrement passionnant... (et pas cher) - mais il faut avoir le temps de s'y investir.
thierry
09/04/2009 - 14h11
coboy
Date d'inscription
avril 2009
Messages
6
Re : [Offre] Projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
Envoyé par invite76a
Bonjour,
Comme la rubrique s'appelle aussi "offres", j'offre un projet "FreeRTOS" Eclipse/gcc/gdb sur Coldfire
thierry
chouette !!!!!!!!!!!!!
ce que tu as dis m'a un peu éclairci sur le sujet mais si on on ne prend pas en main les outils on ne comprends rien , bref je voulais avoir ton avis sur les deux kit de deveppement suivants. que j'ai trouvé sur LEXTRONIC dont voici les liens
en fait je veux réaliser une opération de commande de relais par tension 12V à partie de capture d'un dépassment de température mais les pins d'entrée sortie sont à 3.3 et il faudra ajouter des alims pour assuer le 12V poue l'organe de commutation
je suis vraiment débutant dans le domaine et j'ai besion de votre aide svp