IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres architectures Assembleur Discussion :

Traduire du DSP pour ADSP2181 de Analog Devices en C


Sujet :

Autres architectures Assembleur

  1. #1
    Membre expérimenté
    Avatar de Aramis
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 493
    Points : 1 638
    Points
    1 638
    Par défaut Traduire du DSP pour ADSP2181 de Analog Devices en C
    Comment faire pour traduire un programme assembleur en C ?

    Avez vous des tutoriaux a conseiller?

    J ai qq bases en C, et une bonne formation en Delphi.


    Merci !

    @->--
    Avant de Poster Lire les Regles! Merci
    -------------------------------------------------
    "The only Way for Evils to Triumph is for Good Men to Do Nothing"
    Edmund Burke (1729 - 1797)

  2. #2
    Membre expérimenté
    Avatar de Aramis
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 493
    Points : 1 638
    Points
    1 638
    Par défaut
    Je precise le langage de depart est du DSP pour ADSP2181 de Analog Devices.
    Et je dois traduire ca vers le C.

    Voila,

    Merci de votre aide car j ai beau parcourir le forum de fonte en comble et je trouve pas ce que je cherche !

    @->--
    Avant de Poster Lire les Regles! Merci
    -------------------------------------------------
    "The only Way for Evils to Triumph is for Good Men to Do Nothing"
    Edmund Burke (1729 - 1797)

  3. #3
    Membre expérimenté
    Avatar de Aramis
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 493
    Points : 1 638
    Points
    1 638
    Par défaut
    RE RE Salut,

    Bon je vois que mon sujet a beaucoup de succces.
    Bon en faisant quelques recherches je me suis appercu que ma traduction de L asm vers le C aura besoin d un "*.h" maison. Normalement celui devrai contenir des infos sur les registres et ports dont j ai besoin.
    Par consequent j aimerai savoir si je mets pele mele les codes suivants dans un .h ca va fonctioner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     
    .const  PTR_TO_GET_CHAR       = 0x3e08;  { function pointer to receive a byte.}
    .const  CHAR_WAITING_FLAG     = 0x3e09;  { 0=byte waiting, 1=nothing in       }
    .const  PTR_TO_OUT_CHAR       = 0x3e0a;  { function pointer to send a byte.   }
    .const  CHAR_SEND_DONE_FLAG   = 0x3e0b;  { 0=sending, 1=idling                }
    .const  CHAR_RECEIVING_FLAG   = 0x3e0c;  { 0=recving, 1=idling                }
     
     
    .const  L_ADC_IN              = 0x3e01;  { left channel input                 }
    .const  R_ADC_IN              = 0x3e02;  { right channel input                }
    .const  L_DAC_OUT             = 0x3e05;  { left channel output                }
    .const  R_DAC_OUT             = 0x3e06;  { right channel output               }
     
     
    .const  IDMA                  = 0x3fe0;
    .const  BDMA_BIAD             = 0x3fe1;
    .const  BDMA_BEAD             = 0x3fe2;
    .const  BDMA_BDMA_Ctrl        = 0x3fe3;
    .const  BDMA_BWCOUNT          = 0x3fe4;
    .const  PFDATA                = 0x3fe5;
    .const  PFTYPE                = 0x3fe6;
     
    .const  SPORT1_Autobuf        = 0x3fef;
    .const  SPORT1_RFSDIV         = 0x3ff0;
    .const  SPORT1_SCLKDIV        = 0x3ff1;
    .const  SPORT1_Control_Reg    = 0x3ff2;
    .const  SPORT0_Autobuf        = 0x3ff3;
    .const  SPORT0_RFSDIV         = 0x3ff4;
    .const  SPORT0_SCLKDIV        = 0x3ff5;
    .const  SPORT0_Control_Reg    = 0x3ff6;
    .const  SPORT0_TX_Channels0   = 0x3ff7;
    .const  SPORT0_TX_Channels1   = 0x3ff8;
    .const  SPORT0_RX_Channels0   = 0x3ff9;
    .const  SPORT0_RX_Channels1   = 0x3ffa;
    .const  TSCALE                = 0x3ffb;
    .const  TCOUNT                = 0x3ffc;
    .const  TPERIOD               = 0x3ffd;
    .const  DM_Wait_Reg           = 0x3ffe;
    .const  System_Control_Reg    = 0x3fff;
    plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    .CONST 	PortA =	0x0000;
    .CONST 	PortB =	0x0001;         
    .CONST 	PortC =	0x0002;         
    .CONST 	PPICTRL=0x0003;
    Voila, merci

    @->--
    Avant de Poster Lire les Regles! Merci
    -------------------------------------------------
    "The only Way for Evils to Triumph is for Good Men to Do Nothing"
    Edmund Burke (1729 - 1797)

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Salut,

    Ca m'a tout l'air d'etre ca.
    Mais la tu ne fais que declarer des constantes. A un moment ou a un autre tu auras besoin de definir des procedures en assembleur que tu pourras appeler en C. Par exemple tu ecis une procedure qui affiche une chaine de caracteres baptisee print_word avec pour variable une chaine de caractere, en C tu fais
    print_word word;
    ou word est ta chaine de caractere, et y'a bon.

    Si tu reunis tes procedures ds un .h tu l'inclus et tu peux les appeler.

    Moi quand je faisais ca je faisais carrement des .c que j'incluais donc tu peux aussi ecrire un fichier en c du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    print_word (word)
    {
    _asm
    {
    [ta procedure en asm utilisant la variable word]
    }
    }
    Est ce que ca t'aide?
    "Le Quebec est une terre d'avenir et Montreal sera bientot New York"
    Luke

  5. #5
    Membre expérimenté
    Avatar de Aramis
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 493
    Points : 1 638
    Points
    1 638
    Par défaut
    Pour l instant j ai ecris mon fichier .h de cette facon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
     
    .const  PTR_TO_GET_CHAR       = 0x3e08;  // function pointer to receive a byte.
    .const  CHAR_WAITING_FLAG     = 0x3e09;  // 0=byte waiting, 1=nothing in
    .const  PTR_TO_OUT_CHAR       = 0x3e0a;  // function pointer to send a byte.
    .const  CHAR_SEND_DONE_FLAG   = 0x3e0b;  // 0=sending, 1=idling
    .const  CHAR_RECEIVING_FLAG   = 0x3e0c;  // 0=recving, 1=idling
     
     
    .const  L_ADC_IN              = 0x3e01;  // left channel input
    .const  R_ADC_IN              = 0x3e02;  // right channel input
    .const  L_DAC_OUT             = 0x3e05;  // left channel output
    .const  R_DAC_OUT             = 0x3e06;  // right channel output
     
     
    .const  IDMA                  = 0x3fe0;
    .const  BDMA_BIAD             = 0x3fe1;
    .const  BDMA_BEAD             = 0x3fe2;
    .const  BDMA_BDMA_Ctrl        = 0x3fe3;
    .const  BDMA_BWCOUNT          = 0x3fe4;
    .const  PFDATA                = 0x3fe5;
    .const  PFTYPE                = 0x3fe6;
     
    .const  SPORT1_Autobuf        = 0x3fef;
    .const  SPORT1_RFSDIV         = 0x3ff0;
    .const  SPORT1_SCLKDIV        = 0x3ff1;
    .const  SPORT1_Control_Reg    = 0x3ff2;
    .const  SPORT0_Autobuf        = 0x3ff3;
    .const  SPORT0_RFSDIV         = 0x3ff4;
    .const  SPORT0_SCLKDIV        = 0x3ff5;
    .const  SPORT0_Control_Reg    = 0x3ff6;
    .const  SPORT0_TX_Channels0   = 0x3ff7;
    .const  SPORT0_TX_Channels1   = 0x3ff8;
    .const  SPORT0_RX_Channels0   = 0x3ff9;
    .const  SPORT0_RX_Channels1   = 0x3ffa;
    .const  TSCALE                = 0x3ffb;
    .const  TCOUNT                = 0x3ffc;
    .const  TPERIOD               = 0x3ffd;
    .const  DM_Wait_Reg           = 0x3ffe;
    .const  System_Control_Reg    = 0x3fff;
     
    .const 	PortA =	0x0000;
    .const 	PortB =	0x0001;
    .const 	PortC =	0x0002;
    .const 	PPICTRL=0x0003;
    Comme le C est un langage paranthese je me suis dis que si je laisse des accolodate ben ca risque de pas marcher !

    Je vais me replonge dans mon travail et en particulier orienter mes recherches vers comment ecrire de l asm dans le C car a ce que j ai vu c est pas tout a fait la meme synthaxe.

    @->--
    Avant de Poster Lire les Regles! Merci
    -------------------------------------------------
    "The only Way for Evils to Triumph is for Good Men to Do Nothing"
    Edmund Burke (1729 - 1797)

Discussions similaires

  1. [Électronique] DSP Analog Devices
    Par netcien dans le forum Embarqué
    Réponses: 7
    Dernier message: 26/04/2015, 18h08
  2. Analog Devices SigmaStudio
    Par netcien dans le forum Embarqué
    Réponses: 1
    Dernier message: 09/04/2015, 15h55
  3. Traduire du VB pour Android
    Par JackGa dans le forum Android
    Réponses: 2
    Dernier message: 05/11/2012, 12h02
  4. lire une fonction f(t) pour la traduire en son
    Par Papou_28 dans le forum Calcul scientifique
    Réponses: 1
    Dernier message: 05/03/2006, 16h43
  5. [SYBASE]choix d'un numero de device pour disk init
    Par dngaya dans le forum Sybase
    Réponses: 1
    Dernier message: 09/12/2004, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo