Bonjour,
je travaille actuellement avec un kit DSP texas 2812 et j'ai une partie à coder en assembleur (la partie lancement du logiciel). Etant donné que je code le reste du programme en C, je ne sais pas trop par quel bout prendre cette partie, étant donné que je maitrise peu l'assembleur.
Donc voilà, le format de l'en-tête du binaire du logiciel que je souhaite lancer est décrit ci-dessous :
Identifiant sur 32 bits en ASCII = ‘BIN’.
Taille sur 32 bits en mot de 16 bits.
Checksum sur 32 bits de l’exécutable complet avec entête
Version sur 32 bits en ASCII.
Adresse entrée1 (1 mot de 32 bits) = Démarrage normal
Adresse entrée2 (1 mot de 32 bits) = Démarrage en régulation
Adresse entrée3 (1 mot de 32 bits)
Adresse entrée4 (1 mot de 32 bits)
Adresse entrée5 (1 mot de 32 bits)
Adresse entrée6 (1 mot de 32 bits)
1 Adresse de début de la zone flash (1 mot de 32 bits)= 0x3DC000
1 Adresse de fin de la zone flash (1 mot de 32 bits)
1 Adresse de début de la zone de code à recopier en RAM (1 mot de 32 bits)
1 Adresse de fin de la zone de code à recopier en RAM (1 mot de 32 bits)
1 Adresse de destination pour du code en RAM (1 mot de 32 bits)
1 Adresse de début de la zone de données à recopier en RAM (1 mot de 32 bits)
1 Adresse de fin de la zone de données à recopier en RAM (1 mot de 32 bits)
1 Adresse de destination pour les données en RAM (1 mot de 32 bits)
Je pense que je dois recopier l'adresse de l'en-tête dans un registre et ensuite effectuer un jump, mais je ne suis pas sûr.
Pourriez-vous m'apporter votre aide ? En espérant que j'ai été assez clair !!! Merci d'avance !!!!