Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

compilateur pour ST7



  1. #1
    black templar

    compilateur pour ST7


    ------

    Bonjour à tous !

    Je dois développer un projet avec des micontroleurs ST7LITE30.

    Existe-t-il un compilateur C (ou autre) pour µC ST7 ? Car je n'ai qu'un compilateur assembleur et pas moyen de trouver un autre langage.

    Ou au pire, y aurait-il un convertisseur C (ou autre) => ASM pour ST7 ?

    Merci à vous

    -----

  2. Publicité
  3. #2
    Gérard

    Re : compilateur pour ST7


  4. #3
    black templar

    Re : compilateur pour ST7

    Certes ... mais ce travail de recherche, je l'ai déjà fait ! sinon, je ne serais pas venu posté ici !

    J'avais trouvé ce lien vers une version d'éval : http://217.71.112.106/buy/prices.php#ST7
    Mais le fichier est introuvable ...

    Les autres sites, c'est payant !

    Et comme je dois programmer une transformer de fourier sur µC, je n'ai pas envi de me la taper en ASM (logique)
    Mais apparemment, des compilateurs C pour ST7, ça n'existe pas, ... ...

    Vive le PIC ...

  5. #4
    Jack
    Modérateur

    Re : compilateur pour ST7

    Et du côté des versions d'évaluation ça donne quoi? Il te faut quelle taille de code au minimum? C'est pour une FFT?

    A+

  6. A voir en vidéo sur Futura
  7. #5
    black templar

    Re : compilateur pour ST7

    Justement, pour les version d'évals, j'en ai trouvé une mais le lien est mort.

    J'utilise une transformé de fourier discrète
    Mes cosinus et sinus sont calculé par développement limité d'ordre 2.
    Là suis en train de voir comment coder un nombre à virgule flottante et faire des opérations dessus...

    Pour la place mémoire, je n'arrive pas à évaluer ... 150 instructions ?? rien que pour la transformée de fourier il y a ensuite toute la partie interprétation, qui fera surement dans les 30 ou 40 instructions.
    Donc 1Ko, ça devrait suffire, mais je n'en suis absolument pas sûr ...

  8. #6
    Jack
    Modérateur

    Re : compilateur pour ST7

    Tu es allé voir chez COSMIC? 4k max il me semble.

    Mais si tu utilises les float, ça prends tout de suite de la place. Tu es sur de vouloir une TFD, parce qu'une FFT doit pouvoir se traiter avec des int. Et ca prend tout de suite moins de place.

    A+

  9. Publicité
  10. #7
    black templar

    Re : compilateur pour ST7

    Hum ! Juste avec des int ?
    Je suis au point sur DFT, par contre, je ne connais rien à FFT ... je vais aller me renseigner.
    (j'avais déjà fait des recherches mais je n'avais rien trouver de clair à l'époque sur les transformer de fourier rapides...)

    Merci pour le site ! ils ont en effet une version d'éval à 4Ko ! Je vais voir ce qu'elle vaut.

  11. #8
    black templar

    Re : compilateur pour ST7

    ... Je suis déjà overflow alors que je n'ai pas écrit le tiers du programme ...

    Finalement, je vais le faire en ASM :'(

  12. #9
    Jack
    Modérateur

    Re : compilateur pour ST7

    La FFT est faite pour faciliter et accélérer le calcul de la transformée de fourier. Je me suis amusé à faire ça pour un petit µcontrôleur 8 bits. A la base en C, j'ai dû écrire quelques morceaux de code en assembleur pour accélérer le calcul.

    Bon courage.

  13. #10
    Jack
    Modérateur

    Re : compilateur pour ST7

    Citation Envoyé par black templar Voir le message
    ... Je suis déjà overflow alors que je n'ai pas écrit le tiers du programme ...

    Finalement, je vais le faire en ASM :'(
    C'est parce que tu utilises des floats. Je peux te montrer qu'on peut le faire sans (voir PJ). J'ai généré un projet sans float.

    Au départ, tout était en C. J'ai commenté le lignes que j'ai passées en asm. Du coup, le programme de base est encore utilisable et adaptable à un autre µcontrôleur.

    A+
    Fichiers attachés Fichiers attachés

  14. #11
    Jack
    Modérateur

    Re : compilateur pour ST7

    oups, j'ai oublié le fichier d'entête qui comporte la table des échantillons et celle des sinus et cosinus (eh oui, en évitant de les calculer, on gagne du temps et on reste en int).
    Fichiers attachés Fichiers attachés

  15. #12
    black templar

    Re : compilateur pour ST7

    Hum !! pas mal pensé le coup du sinus et cosinus réel !!

    Par contre, je n'ai pas encore étudier le code à fond fond les détails. Cependant, je ne comprend pas quelques petite choses.

    Tout d'abord, ton premier do while :
    Code:
    } while (N_bloc != 0);
    Ce que je ne comprend pas, c'est que tu initialises N_bloc à 0 et le pas à 1
    avant de tester la condition du while, tu as cette ligne qui est exécuté à chaque boucle :
    Code:
    N_bloc+=pas*2;
    et tu ne touches pas au 'pas'. Du coup, N_bloc ne sera jamais égal à 0 et tu auras une boucle infinie ???


    Ensuite, tu as mis entre commentaire ce code :
    Code:
    /*	do {
       	if (Re_sample[pas] > 127) Re_sample[pas] = -Re_sample[pas];
       	Re_sample[pas] = racine(Re_sample[pas]*Re_sample[pas] + Im_sample[pas]*Im_sample[pas]);
       	pas++;
       }
       while (pas != 0);*/
    Je n'ai pas encore étudier le code asm (je le ferais ce soir) mais en remplaçant le code asm par ce code, on a aussi une boucle infinie car le pas (positif à la base) est toujours incrémenté à chaque tour de boucle...


    Sinon, petite question, ça veut dire quoi "réordonner" un signal ??
    Il faut obligatoirement "réordonner" un signal ?? Car j'avais prévu de calculer ma transformer au fur et à mesure sans stocker tous les échantillons en mémoire.

    En tout cas, merci à toi, je sens que ça se débloque tout doucement

  16. Publicité
  17. #13
    Jack
    Modérateur

    Re : compilateur pour ST7

    Ca remonte à quelques années ce code. Je ne me rappelle plus de toures ses subtilités

    Il faudrait que tu étudies le fonctionnement du diagramme "papillon" lié à la FFT pour pouvoir analyser ce code.

  18. #14
    black templar

    Re : compilateur pour ST7

    J'ai fini de coder l'algo en ASM!

    J'ai fait une transformée de fourier discrète classique avec uniquement des nombres entiers relatifs! (Comme je calcul au fur et a mesure que les échantillons arrives, je peux me permettre d'utiliser cette méthode. En effet, chaque calcul entre 2 acquisitions prend moins de temps que la fréquence d'échantillonnage)
    La principale difficulté à été de réécrire les fonctions de sommes et de multiplications de 2 nombres 8bits relatifs vers un 16bits relatif. En effet, le ST7 ne gère pas les nombres négatifs.

    Il reste juste quelques petites imprécisions par rapport aux valeurs données par mon programme en BASIC du surement à une faute de frappe ou à un registre que j'aurais écrasé par mégarde. Je corrigerais ça facilement je crois.

    Merci pour ton aide Jack

Discussions similaires

  1. compilateur pour hc05/11
    Par LABTOOL48 dans le forum Électronique
    Réponses: 1
    Dernier message: 05/12/2008, 16h17
  2. Compilateur C pour PIC12F
    Par calibraflo dans le forum Électronique
    Réponses: 31
    Dernier message: 07/04/2008, 22h53
  3. Compilateur pour C
    Par cos dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 15/10/2007, 09h03
  4. Compilateur C pour les pic
    Par paterson dans le forum Électronique
    Réponses: 5
    Dernier message: 12/04/2007, 18h04
  5. aide pour mico ST7
    Par Cloudboy dans le forum Électronique
    Réponses: 13
    Dernier message: 07/06/2006, 12h01
Découvrez nos comparatifs produits sur l'informatique et les technologies.