Logicielsmoto.com

Nous sommes le 28 Mar 2024, 21:56

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 19 messages ]  Aller à la page Précédente  1, 2
Auteur Message
 Sujet du message:
MessagePosté: 11 Mar 2012, 10:23 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 454
Localisation: France
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 ?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 13 Mar 2012, 01:23 
Hors ligne

Inscription: 21 Avr 2010, 10:59
Messages: 253
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é).

_________________
http://www.alternative-system.com


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 13 Mar 2012, 18:51 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 454
Localisation: France
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).


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 09 Mar 2013, 21:52 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 454
Localisation: France
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.


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 19 messages ]  Aller à la page Précédente  1, 2

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 33 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com