Main | Divers »

lundi, avril 02, 2007

Screen.ldg natif coldfire

Je suis actuellement sur la réécriture totale de screen.ldg une lib dynamique qui permet de transformer les bitmaps 24bits vers les divers formats écrans et inversement + quelques bricoles en plus. Une partie des transformation vers le format écran était encore en assembleur, ce n'est plus le cas, le code peut ainsi être optimisé par le compilateur, en 68000 j'ai put tester que le code était aussi rapide voir plus rapide que le code assembleur pour passer de 24 vers 32 bits, mais sur le coldfire la partie affichage de Kronos du test pseudo OpenGL va nettement plus vite! Vous pouvez voir dans un post précédent une copie écran montrant Kronos, le résultat correspondant est 389,2% il passe maintenant à 837%, ce qui est honorable à défaut d'être spectaculaire.

Il y a encore quelques défauts à régler dans l'archive, j'ai aussi corrigé le mode 16 couleurs entrelacé qui est maintenant tout à fait correcte visuellement et suis actuellement à me casser les dents sur le mode 16 couleurs d'une carte Nova que je détecte mal. C'est gros ménage de printemps pour cette lib, elle sera livrée avec sa version 68000 et sa version coldfire probablement dans quelques semaines.

Ecrit par OL at 9:35 AM
Categories: Coldfire

vendredi, mars 09, 2007

FreeRTOS en parrallèle au TOS encore un coup de Didier!

Didier vient de se recompiler FreeRTOS pour la carte coldfire, ce noyau est temps réel et possède une vraie pile TCP/IP, il a aussi un mini serveur web intégré qui est fonctionnel. Le but de didier est de pouvoir faire tourner le TOS comme une tache de FreeRTOS en même temps que le serveur web. Il est à fond dessus depuis un mois. Pour le moment je n'ai rien vu de mes propres yeux, je ne sais pas encore jusqu'à quel point le TOS fonctionne en l'état. Si j'ai compris l'idée de Didier cela devrait permettre de debugguer beaucoup plus facilement la partie TOS.

Je vous en dirais plus si j'ai plus d'infos.

Ecrit par OL at 9:29 AM
Categories: Coldfire

Boot carte coldfire en vidéo

Bonjour à tous

Ca y est j'ai fait une première vidéo, mais pas taper elle est horrible! Promis juré je vais faire mieux des que j'ai un moment! J'ai eu plusieurs soucis en la faisant, déjà j'ai pour booter la carte je suis en haute résolution (1280*1024 ce qui correspond à la rez de mon écran), par contre la vidéo c'est du 640*480 mis comme elle peut, bref pas question d'y lire du texte! Et déjà a cette rez je me suis tapé un fichier de 180Mo!(Quicktime Jpeg Motion) Faudra donc que je règle la rez de l'AES assez bas la prochaine fois! Après j'ai du trouver un encoder qui daigne me compresser le tout, pour le moment seul mencoder semble bien vouloir le faire a peu près, j'ai dit a peu près car le son est loin d'être synchro avec l'image! Bref si vous savez faire mieux faut pas hésiter à donner les infos. (j'essairais ffmpeg peut être qu'il fait mieux).

Bon le tout comprimé c'est 8Mo, donc si vous n'êtes pas dégoûtés par tout ce que j'ai dit et avez de la bande passante, vous pouvez jeter un oeil à:

http://gem.lutece.net/boot.avi

Sinon attendez que je me sois amélioré dans cet exercice de style, d'ici quelques semaines je devrais quand même faire mieux!

Ecrit par OL at 9:18 AM
Edité le: vendredi, mars 09, 2007 9:30 AM
Categories: Coldfire

mercredi, février 14, 2007

Mint pour Coldfire, ca marche!

N'avez vous rien entendu? Ah c'est vrai vous êtes peut être à des milliers de kilomètres! Et bien ce qu'il fallait entendre, c'est le cri du fou furieux que je suis lorsqu'enfin Mint a en totalité fonctionné hier soir! En baver comme cela ce n'est pas humain, je dois me faire trop vieux!

Retour sur le passé:

Il y a environ 2 semaines j'ai réussi à lancer, Mint, MyAES et Direct, mais pas moyen de faire bien plus, Kronos pas example c'était plantage un peu après le démarrage et j'avais aussi un peu triché car Supexec() avait du être modifié pour ne plus passer par la gestion des signaux remplacé par l'appel directe de la fonction pour ne pas planter, ce qui m'avait permis de voir enfin une application sur l'écran!

J'en étais resté là pour raison d'autres occupations et pas la pèche! Reprise du boulot il y a 2 jours, pourquoi Kronos plante, très étrange, cela semble venir de la même zone que celle soupconnée de planter sur le Supexec() qu'a cela ne tienne il est bien plus facile de parser le bug du Supexec() que le problème de Kronos, il me fallait donc régler l'affaire du Supexec() et peut être celui de Kronos pourrait tomber! Je trouve ou cela ne va pas (et me rend compte que des qu'il y a un signal ca peut à priori planter et il y a signal lorsqu'une appli quitte, ce qui me laisse plein d'espoir avec Kronos qui lance et quitte pas mal d'applis pendant le cycle de démarrage), mais le code si il est franchement moche mais ne me semble pas faux (a un moment le pointeur de pile est recalculé en utilisant un sous partie de la pile actuelle non utilisée), rien à faire on met des valeurs dans la pile et celles ci disparaissent quasiment aussitôt! Ca sent le débordement! Et effectivement sur le coldfire on a besoin de plus de pile et donc le calcul de la nouvelle position se trouve dans la zone utilisée par le code! Modification du calcul, bingo le Supexec() fonctionne ainsi que Kronos (testé en entier sans soucis!). Et ca tourne bien!

Bon je vais faire dans les jours qui suivent des tests (si j'arrive à trouver une souris qui marche mieux! et si ma santé me le permet). Je tacherais de faire une vidéo de la machine qui boot avec ma webcam.

Ecrit par OL at 8:44 AM
Categories: Coldfire

lundi, janvier 22, 2007

Avancement Mint

Bonjour

Je suis toujours sur mon chemin de croix avec le trio Mint - coldfire - gcc 4. Heureusement je n'ai pas jeté l'ordinateur par la fenêtre! C'était bien la routine de debug qui posait soucis, à la fois dans le define et dans la routine elle même car les tests étaient effectués 2 fois! Le debug et trace ne posent plus de soucis, ces corrections ont déjà été répercutées dans le CVS de Mint et le boot poursuit son chemin jusqu'au lancement de l'AES (uniquement testé MyAES natif coldfire!). Le plantage se situe lors de l'appel à Supexec(), si dans cette routine j'appelle directement la routine celle ci fonctionne! et le boot se poursuit jusqu'à l'utilisation de la routine vex_wheelv() de la vdi (et non pas les autres fonctions du même type comme j'ai pu le noter) avec bus error à l'appui (discution en cours avec Didier), si j'élimine l'utilisation de cette routine dans MyAES, celui ci fonctionne normalement jusqu'à l'appel du bureau, les accessoires se chargent aussi. Comme test j'ai mis Kronos en remplacement du bureau car je connais bien les sources! Celui ci démarre fait les premiers tests avant de crasher. Bref 2 gros soucis à encore corriger et on devrait voir apparaître l'interface et les applis à l'écran!

Le debug avec Mint est un petit peu embettant il y a bien un mode TRACE mais qu'une petite partie des fonctions affichent quelque chose, d'où la nécessité d'avoir le code du client sous les yeux pour rajouter les TRACE dans le code de Mint.

Mint n'est pas près d'utiliser plusieurs processeurs même si il y avait une machine de la sorte, l'utilisation de nombreuses variables globales posent soucis, des méthodes d'accès au minimum devrait êtres mises en place pour envisager cela, je vais peut être en faire un peu ce sera plus propre.

Bref cela avance mais que de temps pour y arriver!

Ecrit par OL at 12:05 PM
Edité le: mardi, janvier 23, 2007 9:00 AM
Categories: Coldfire

mercredi, janvier 17, 2007

Nouveauté driver carte ATI radéon

Notre infatigable Didier n'était pas encore satisfait des résultats de sa carte pour l'affichage de textes (v_gtext(), v_justified()) plus lent que ce que l'on peut avoir sous Aranym avec un PC d'aujourd'hui et plus lent que ce qu'il obtenait au début, copie corrigée et de très belle manière, gain 2 à 3 fois par rapport à la dernière version, au passage quelques autres routines sont aussi accélérées! Pour vous en rendre compte il vous suffit d'observer le snap de Kronos sur le site de Didier et de comparer avec le snap du précédent message de ce blog, au passage il a rajouté l'écriture à 90° que ne supporte pas fVDI.

Je pense que pour la VDI ce coup ci Didier ne devrait plus faire d'amélioration notable, les résultats sont largement a mon avis à la hauteur des attentes, si la CTPCI sort alors je pense que certains ne vont pas reconnaître leur Falcon!

Ecrit par OL at 10:50 AM
Categories: Coldfire

mercredi, décembre 20, 2006

Le chemin de croix avec Mint

Voila un sujet qui me tient à coeur en ce moment, tenter de recompiler Mint avec GCC 4 pour avoir une compilation correcte pour le coldfire.

Ce n'est pas sans problème, il y a des choses dont on se dit en cours mais pourquoi les avoir commencé parceque l'on n'avance pas et que c'est vraiment démoralisant, faut se mettre dedans, essayer de comprendre et maugréer des heures durant!

Après quelques patchs assez mineurs pour que GCC 4 daigne le compiler, ajouter la cible coldfire, intégré les patchs de Didier pour la carte sur la version CVS, on lance et vlan bien sur cela crache à l'init, on met des messages de partout et on ne trouve rien si ce n'est qu'a priori la pile semble saccagée, mais ou?

On reste ainsi plusieurs jours à se poser des questions, à tester sur la carte (pas pratique et lent), bref on prend un jours le coup de sang et on essaye une cible moins expérimentale! Sous le Linux seul Aranym peut faire l'affaire et si possible lancé du hostfs, comme cela on remplace le mint.prg et on lance l'émulateur, facile et rapide. Et bien sur ça ne marche pas comme prévu, pas de plantage, mais pire Mint ne veut pas comprendre qu'il boot sur le hostfs, donc quit immédiat, même pas arrivé au même point que sur la carte! Recherche, lecture de l'historique (heureusement depuis cette nouvelle fonctionnalité il n'y a pas eu grand chose de fait!), et bien sur il faut rajouter une option de compilation. On recommence donc et miracle ca marche! Enfin ca marche, façon de parler, ça plante en fait mais au même endroit que sur la carte! Y a bon! Et la c'est un peu plus simple pour faire les tests, re-expertise et un peu plus de lecture de code, bigre je vois qu'un pointeur d'une structure peut être utilisée en lecture alors que le pointeur est NULL! Je corrige et teste sans trop d'espoir (pourquoi ca planterait avec un gcc et pas avec un autre, je ne vois pas trop de raison), et bien à cet endroit il ne plante plus et maintenant plante bien plus loin! Le principal c'est d'avancer après tout!

Bon je vais me déconnecter de tous ces soucis informatiques pour 2 grosses semaines, raz le bol et grosse fatigue. Je reprendrais à mon retour et j'aurais bien un jours une version de Mint qui tienne la route pour le coldfire mais la route risque encore d'être longue!

Ecrit par OL at 12:16 PM
Categories: Coldfire

mercredi, décembre 13, 2006

Mise à jours Firetos par Didier et autres nouvelles du coldfire

Encore notre infatigable Didier qui se déchaîne, il a sorti ce week end sur son site un nouveau Firetos démodant par la même les informations mises ici la veille!

Eh oui cela va encore plus vite qu'annoncé! Mais rassurez vous la version publiée est déjà dépassée! Eh oui ça allait vite mais depuis cela va encore plus vite, les derniers snaps de Kronos sont sur la page de Didier et ajouté ci dessous. Aujourd'hui on se trouve confronté face à un paradoxe étonnant, pour certaines fonctions l'appel de la librairie GEM (mgemlib ou gemlib) n'est plus négligeable par rapport au temps pris par l'opération! Du coup j'ai recompilé mgemlib (parceque ce logiciel a été construit avec et pour ne pas fausser les résultats mais je vous conseil plutôt gemlib (je l'ai aussi recompilée cela marche aussi)), il y a un petit gain d'environ 10% sur l'ensemble. Par la même occasion j'ai recompilé le test FPU pour V4e, c'est plutôt pas mal de ce coté!

Note: Ces tests sont réalisés sur une Radéon 7500 PCI

Ecrit par OL at 1:39 PM
Edité le: mercredi, décembre 13, 2006 2:12 PM
Categories: Coldfire

vendredi, décembre 08, 2006

Encore une accélération encore une!

Et oui, toujours plus rapide le driver vidéo pour l'ATI, là gros travail sur les lignes de Didier, lignes et remplissages gagnent environ 20%.

Franchement cela va vite du coté de la vidéo, ça se sent à l'utilisation, très impressionnant Reste tout ce qui est courbe qui reste lent (originellement déjà fVDI n'est pas super rapide), bref des choses jamais utilisées sauf par les Benchs comme le miens Kronos! Si la moyenne arithmétique est utilisée celle ci est très nettement supérieure (de plusieurs fois) à la référence de MagicMac, si on prend le temps pris par rapport à la référence le résultat est à l'inverse (inférieur d'environ 2 fois), bref faut toujours prendre les moyennes des benchs avec précautions et regarder les résultats dans les détails!

Autre petite amélioration, Didier a inclus un accélérateur de souris, car la résolution est élevée et pour aller d'un bout à l'autre il fallait pas mal secouer le mulot!

Sinon votre serviteur n'avance pas sur sa compilation de Mint avec GCC 4, pas de soucis maintenant pour compiler mais Mint crash très rapidement comme si il y avait une corruption de pile, je doute un peu sur la capacité du compilo a correctement gérer l'option -mshort, en attendant je continue mes correction de warnings des fois que.

Ecrit par OL at 5:37 PM
Edité le: vendredi, décembre 08, 2006 5:44 PM
Categories: Coldfire

lundi, décembre 04, 2006

Amélioration du driver ATI

Didier à encore frappé, des problèmes avec les logiciels d'ERS (Eric), la souris disparaissait à l'initialisation et des soucis de redraw d'icônes (en blanc).

Eric nous a gracieusement envoyé les sources de sa librairie, grâce a cela et discution avec lui par téléphone, il s'est révélé que le handle fourni au v_opnvwk() était à 0 au lieu d'un classique graf_handle() entraînant la redirection du v_opnvwk() sur v_opnwk() qui provoquait le problème de souris.

Les problèmes de redraw ont été plus délicats à résoudre et Didier a bien failli abandonner! Ce problème a permis de mettre en évidence un problème de longueur de lignes dessinées auxquels il manquait un pixel, ce problème entraînait un soucis de détection de format de l'écran par la lib d'Eric, le masque transmis était du coup vide.

Accélération des trames VDI.

Ecrit par OL at 9:14 AM
Categories: Coldfire

vendredi, novembre 17, 2006

Accélération acces mémoire carte vidéo

L'infatiguable Didier vient de revoir les transferts de blocs de la carte vers la mémoire centrale et inversement, par gestion DMA. Les vitesses de tranfert sont en gros multipliées par 2, cela marche très bien.

Ecrit par OL at 8:57 AM
Categories: Coldfire

vendredi, novembre 10, 2006

Un problème en moins sur la carte

Les ldg en PureC ainsi que de nombreux autres logiciels compilés avec ce logiciel plantaient.

Après debugguage, la fonction mise en cause est memset() utilisée à l'initialisation des ldg. Partant de cette donnée Didier à découvert le problème, je vous recopie son explication:

<didier>

au début de la routine memset je vois :

move.b d0,-(a0)

move.b d0,-(sp) => SP est décrémenté de 2 sur 68K et 1 sur le coldfire !

move.w (sp)+,d2

move.b d0,d2

Pure C utilise cette astuce pour avoir le contenu de d2 bit 15-8 <=> d2 bit 7-0., J'ai jamais écrit un truc comme ca en assembleur ! ce n'est pas très logique. Résultat le pointeur de pile ne correspond plus à rien, il est sur une adresse impaire.

Je vais essayer de patcher la chose sur xcontrol.

il faudrait écrire

move.b d0,-(a0)

move.b d0,d2

lsl.l #8,d2

move.b d0,d2

Au niveau place c'est la même chose (4 octets à changer). 1f00341f => 1400e18a

</didier>

Après divers échanges, et de se dire que ce n'était pas l'émulateur qui était fautif donc qu'il n'y avait donc pas d'exception pour fonction manquante (donc a priori irrécupérable), et patcher une flopée de logiciels à la main ce n'était pas trop la solution idéale, la solution retenue à été le patch dynamique à l'exécution du code, la routine de didier reconnaît la signature du code du memset et la modifie à la volée. Résultat, le windframe par défaut de MyAeS fonctionne, comme Everest, Hddrutils, Yukon et pas mal d'autres logiciels daignent démarrer. Pas encore de quoi crier au miracle mais cela fait plaisir de voir la progression.

Allez au bug suivant!

Ecrit par OL at 1:30 PM
Categories: Coldfire

mercredi, novembre 08, 2006

GCC 4.2

J'ai reussi à compiler un cross compilateur pour un snap de GCC 4.2. Par contre les binutils sont ceux repris telquels de Mark Duckworth en version 2.16 que l'on peut retrouver sur atari-source.org , le strip ne fonctionne pas. Les binutils que j'ai tenté de compiler en version snaps se sont révélés non fonctionnels.

Sinon et bien ca marche! Le gcc 4.2 est chatouilleux et bien plus stricte que les versions que j'ai utilisé jusque là et après avoir passé quelques petits codes je me demande qu'est ce qu'a bien put compiler la version 2.95 en tous les cas pas ce que je pensais!

J'ai ainsi compilé tinygl avec le FPU du V4e ainsi qu'une librairie mathématique, cela fonctionne à merveille, le test opengl de Kronos à pu être réalisé, les performances de carte mere (motherboard perfs) donne 1375 ce qui est déja pas si mal compte tenu que la ram ne semble vraiement pas accédée très rapidement.

Vous pouvez comparer ce résultat en allant sur: http://olivier.landemarre.free.fr/gem/kronos/

Enfin c'est un gros soulagement, j'allais abandonner!

Ecrit par OL at 5:27 PM
Categories: Coldfire

lundi, octobre 23, 2006

Photo carte coldfire

Voici la photo de la carte de Mark, promis bientôt je mettrais des photos de ma config.

La carte est alimentée soit par un jack placé à coté du connecteur PC, soit par ce dernier connecteur, dans le cas de l'alim par jack, cette alimentation est insuffisante pour faire fonctionner le port PCI, donc pour avoir de la vidéo, j'ai branché une alimentation standard de PC sur la carte. Sur le bus PCI bien sur j'y ai mis la carte vidéo type radéon 7000. La carte est commandée via l'interface série, j'utilise coté Linux le logiciel "minicom" comme terminal. Une fois lancé tout ce qu'il faut je débranche le câble et y installe la souris série dessus. Le port Ethernet sert à télécharger les logiciels via le protocole TFTP.

Sur la photo vous pouvez voir la "compactflash" et un composant qui si j'ai bien compris est programmable et a été programmé par Mark pour gérer ce disque, je n'ai pas testé, j'ai une carte de 64Mo inutilisée cela se fera sans doute un jours. Le processeur est dessous ces composants.

Ecrit par OL at 4:54 PM
Categories: Coldfire

GCC 3.3.6 et coldfire

Suite message précédent, j'ai testé la version 3.3.6 de Zorro, après recherche des diverses libs nécessaires, je peux compiler avec cette version sans soucis ... en 68000, mais pas avec l'option -m5200, la compilation est possible mais MyAeS plante lors de la partie boot, déjà sous Aranym ce qui n'est pas le cas en compilant avec gcc2.95.3. Il me faut préciser que cette option de compilation n'apporte aucune spécificité du coldfire, il évite simplement les fonctions manquantes du processeur, donc normalement cela fonctionne aussi sous Aranym ce qui m'évite de faire un test inutile. Bref c'est plutôt un pas en arrière qu'un pas en avant.

J'ai essayé de compiler avec le gcc fourni avec ltib qui a priori fonctionne bien a ce que j'ai pu constater, pas de chance les .O générés ne sont pas compatibles avec le linker que nous utilisons (a ce qui parait c'est normal, ce serait prévu pour elf), enfin cela ne coûtait pas grand chose d'essayer!

Didier avance lui, il vient de mettre à jours un problème avec son driver souris et commence a pouvoir lire et écrire sur disque type "compact-flash".

Ecrit par OL at 4:26 PM
Edité le: lundi, octobre 23, 2006 4:27 PM
Categories: Coldfire

lundi, octobre 16, 2006

Gcc et le coldfire 1ere prise en main

Voilà j'ai commencé à tester MyAeS sur la carte coldfire en monotos, première mauvaise nouvelle plantage sur les windframes! Je m'en doutait ce sont des libs dynamiques, l'un est compilé en PureC l'autre utilise jpeg.ldg avec fpu, bref comme cela pas moyen de le faire tourner et recompiler celui en PureC pose soucis il y a pas mal d'assembleur dedans et malgré pas mal de modifications le GCC n'en veut pas, mais bon faut dire que je n'y connais rien en assembleur donc ce qui prendrait 30 minutes a Didier me prend un mois, trop long. J'ai donc réalisé un windframe affreux interne qui lui ne devrait pas planter.

Et il ne plante pas!

Bref je peux lancer MyAeS en monotos sans que cela plante, Didier m'a envoyé sa version de Mint pour coldfire mais la c'est très étrange il ne semble pas que je puisse lancer d'applications avec le Pexec(100) va falloir que je regarde.

MyAeS n'a pas de bureau alors il en faut un et ça se corse, j'ai essayé Teradesk, Direct et Thing, seul ce dernier fonctionne actuellement sans les OVL a partir du bureau du TOS, j'ai donc essayé de lancer Thing comme bureau, ça se lance mais dès que j'arrive au niveau des menus c'est plantage (il n'y a aucun soucis sur l'AES 4 c'est bien un problème du coté de MyAeS). J'ai aussi lancé Kronos et la cela fonctionne normalement, mais comme bureau on fait mieux!

Alors que faire, je me dit chouette j'ai GCC 2.95.3, MyAeS est compilable avec allons y ça fera déjà cela de moins à l'émulateur à émuler des fois que, après quelques explications de Didier et l'option -m5200 -Wa,-m5200 ça se compile, bien sur pas les quelques malheureux morceaux d'assembleur qui traîne dans ce logiciel, 3 fois rien, pas grave je le compile en 68000 pour qu'il soit content et on link le tout, l'éxécutable est là. Avant de le lancer sur la carte je me dit que je ferais bien de tester cette version avec Aranym, pas de soucis il se lance (je me posait la question!), je vais pour dérouler un menu, horreur les objets sont en vrac, cela fait n'importe quoi. Bougre de "%,$m%M" et sur le coldfire c'est pareil!

Alors je réfléchi un peu, si si cela m'arrive, il ne peut y avoir qu'une fonction a faire de telles choses, les ressources sont bien chargées, les icônes bien dessinées, le fautif probable rsrc_obfix(), je regarde le code franchement pas de quoi faire peur à un compilo, voici le code original:

int __myaes_rsrc_obfix_direct(OBJECT *ob)

{

unsigned char *dumchar = (unsigned char *)&ob->ob_x;

if((WORD)dumchar[0]>=128) ob->ob_x = (WORD)dumchar[0] - 256 + ((WORD)dumchar[1]) * my_aes_inside.wcell;

else ob->ob_x = (WORD)dumchar[0] + ((WORD)dumchar[1]) * my_aes_inside.wcell;

etc....

....

return 1;

}

my_aes_inside.wcell est de type int

Et vous ne me croirez pas pour que cela marche il faut que je cast my_aes_inside.wcell en short et tout rentre dans l'ordre!

if((WORD)dumchar[0]>=128) ob->ob_x = (WORD)dumchar[0] - 256 + ((WORD)dumchar[1]) * (short) my_aes_inside.wcell;

else ob->ob_x = (WORD)dumchar[0] + ((WORD)dumchar[1]) * (short) my_aes_inside.wcell;

Bon là c'est fort, rien ne me dit qu'il n'y a pas d'autres soucis ailleurs, conclusion provisoire, il faut que je passe à un compilo plus récent si vous voulez compiler pour le coldfire oubliez le 2.95.3, Didier utilise la 3.3.6 je vais faire le test dès que je me serais fait une config correcte pour ce compilo, cela va me prendre encore quelques heures!

Ecrit par OL at 4:21 PM
Edité le: lundi, octobre 16, 2006 4:24 PM
Categories: Coldfire

jeudi, octobre 12, 2006

Premiers pas sur le coldfire

Avant tout, si aujourd'hui j'ouvre une petite discution sur le coldfire, c'est grâce à deux personnes:

- Mark Duckworth, je voudrais le remercier pour avoir réussi a convaincre Freescale de lui fournir 5 cartes d'évaluation coldfire, avec V4e intégré, 2 ports éthernet, un port série, un port dédié, 64Mo de ram, 1 bus PCI, un connecteur USB malheureusement uniquement en "slave", un port carte "compact flash". J'ai eu le droit à la dernière carte disponible, nous étions 2 dessus après discution avec Philipp Donze l'autre possible preneur, nous avons décidé que celle ci me parviendrais. Je l'en remercie aussi.

- Didier Mequignon et le travail phénoménal qu'il est en train de faire sur cette carte, je vous conseille d'aller sur son site pour avoir les informations plus techniques que je ne saurais moi même pas apte à donner!: http://perso.orange.fr/didierm/ct60/ctpci.htm

En premier je voulais faire tourner ltib: http://savannah.nongnu.org/projects/ltib/

LTIB est un projet visant a faire tourner un Linux sur des cartes d'évaluation, et en ce qui nous concerne il existe une cible pour le V4e, après avoir surmonté quelques gros soucis comme des extensions processeur non disponible sur notre carte d'évaluation (lite) (encryptage principalement, il faut demander la reconfiguration du kernel a ce moment là après un moment il vous proposera les options du kernel, voir une discution la dessus sur le forum dédié chez freescale, notez que nulle part jusqu'à cette discution publique je n'ai pu mettre la main sur une explication correcte de mes problèmes de plantage!). Aujourd'hui je reste planté sur un problème a priori de partage NFS pas correctement réalisé et n'ai donc pas pu booter totalement le kernel. Sans ce minimum mon projet est bloqué, quand j'aurais un peu plus de maîtrise du coldfire j'y retournerais.

Voyant ceci et voyant que Didier avançait à grand pas j'ai donc décidé de plutôt m'orienter sur son projet et si je le peux d'aider un petit peu. Pour le moment c'est du test et tentative de comprendre certains soucis en discutant avec Didier.

État des lieux:

J'ai rajouté une carte PCI ATI Radeon 7000 avec 64Mo de mémoire. Cette carte est gérée par l'adaptation de fVDI réalisée par Didier et intégré au TOS. Cela marche plutôt très bien la vidéo est très rapide et je suis confortablement bien en 1280*1024 en 32 bits

Les TOS patché démarre sans soucis, la carte compact flash n'est pour le moment pas accessible, on peut télécharger en ram disque tous les fichiers nécessaire via le connecteur éthernet relié a un serveur TFTP, on peut même faire démarrer des programmes dans le dossier Auto, j'ai personnellement lancé MyAES de cette façon

Je peux déplacer le curseur à l'aide d'une souris branchées sur le port série.

Il n'y a pour le moment pas de clavier accessible.

Problèmes principaux:

- L'émulateur 68K pour le coldfire ne semble pas parfait loin s'en faut, actuellement typiquement tous les logiciels utilisant des librairies dynamiques (ldg, slb,..) compilées avec PureC plantent alors que les mêmes librairies compilées avec gcc fonctionnent (ex: Il m'a fallut recompiler screen.ldg pour faire fonctionner Kronos)

- Il n'y a pas d'émulateur FPU et le copro intégré n'est pas totalement compatible avec celui du 060, bref tout logiciel compilé avec FPU ne fonctionne pas.

Ecrit par OL at 3:06 PM
Edité le: jeudi, octobre 12, 2006 3:10 PM
Categories: Coldfire