Logicielsmoto.com
http://www.logicielsmoto.com/phpBB/

GCC 6809 version 2009
http://www.logicielsmoto.com/phpBB/viewtopic.php?f=3&t=335
Page 2 sur 2

Auteur:  PulkoMandy [ 11 Mar 2012, 10:23 ]
Sujet du message: 

Je viens de découvrir une version de GCC 4.6 pour 6809.
Cette fois c'est LWTools qui est utilisé pour assembler et linker le code (dans GCC 4.3 c'était AS6809).

http://lwtools.projects.l-w.ca/hg/index.cgi/file/f8b33b3a45ac/extra

EDIT

Bon, je l'ai compilé et testé.
Tout d'abord, le changement d'assembleur signifie que la syntaxe des asm() inline est aussi changée. Il faut écrire " FCB" au lieu de ".fcb", ce genre de trucs. Comme il y a peu d'assembleur dans mon projet ça s'est plutôt bien passé.

J'ai un crash lors de l'appel de gcc pour linker. Je ne sais pas si c'est de ma faute (j'ai compilé sous Haiku qui n'est pas un OS des plus courants...). L'appel direct à collect2 ou, tant qu'à faire, à lwlink, fonctionne.

Il faudra surement mettre à jour le script wrapper ld pour gérer directement des options raisonables pour Thomson. Pour l'instant il reconnait le Tandy CoCo. J'ai contacté l'auteur à ce sujet, mais j'hésite sur le nom à donner à la toolchain. Il y a donc m6809-coco-gcc pour le Tandy CoCo, pour thomson j'ai compilé m6809-thomson, mais a priori il faudrait plutôt une version TO et une version MO. Du coup je sais pas trop quoi faire... m6809-to et m6809-mo ? vous en pensez quoi ?

Auteur:  gilles [ 13 Mar 2012, 01:23 ]
Sujet du message: 

n'est il pas possible d'avoir un define obligatoire? ou un flag comme -arch
sinon, autant avoir TO7 et MO5 (tant que le bank switching n'est pas géré).

Auteur:  PulkoMandy [ 13 Mar 2012, 18:51 ]
Sujet du message: 

En ce qui me concerne j'ai écrit un wrapper pour les appel au moniteur qui fait un #error si le type de machine n'est pas défini; et je n'utilise pas le linker de gcc donc je définis moi même mon mapping mémoire (avec un fichier de link pour lwlink, du coup). Donc, c'est vrai que dans ce cas il n'y a rien de très différent entre les deux.

Le problème c'est quand on utilise gcc pour linker. Dans ce cas, le script ld se base sur le nom de l'architecture (m6809-xxx) pour définir le mapping mémoire. Du coup on a du mal à faire un truc qui marche à la fois sur TO et MO. Je ne pense pas que arch soit utilisable pour ça, ça sert plutôt à distinguer le 6309 du 6809 (c'est une option du compilateur, pas du linker).

Auteur:  PulkoMandy [ 09 Mar 2013, 21:52 ]
Sujet du message: 

J'ai eu un peu de mal à retrouver ce lien alors je le note ici, ça peut être utile...

http://www.gtoal.com/compilers101/small_c/vectrexc/INCLUDE/VECTREX.H

Il s'agit d'un fichier .h qui fait partie d'un SDK Vectrex (qui utilise le 6809). Il me sert d'exemple et de référence (il y a plein de commentaires) pour comprendre comment bien utiliser l'assembleur inline avec gcc-6809.

Page 2 sur 2 Heures au format UTC + 1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/