L'écriture de code assembleur à l'aide de avr-gcc

J'ai récemment acheté une carte Arduino Uno, qui est essentiellement un atMega328 avr processeur avec tous les détails tels que les I/O et la connexion à l'ordinateur en prenant soin de vous.

J'ai réussi à avoir un code écrit à l'aide de l'IDE Arduino et de l'avr-gcc collection.Cependant, je tiens à écrire pure assemblée le code, et j'ai frappé une impasse, puisqu'il semble être proche d'aucune documentation sur le sujet.C'est, je tiens à écrire "pure" de l'assemblée, aucune inline c montage et la comme.Je voudrais savoir si et, si possible, un exemple de programme(l'assemblée de la sortie de gcc-avr était pas utile, étant incompréhensible et tout et tout ).

En particulier:

  • Comment peut-on instruire avr-de mettre ce code dans par exemple les vecteurs d'interruption ?
  • Quelles directives sont disponibles?
  • Où le faire .les données et les .sev sections aller?

M'indiquer des exemples appropriés est apprécié.

  • Pas vraiment une réponse, mais avr-asm.tripod.com peut aider
  • Merci, mais ce site ne semble pas parler de gaz de la syntaxe spécifique ,conventions, etc, qui est ce que je demande, depuis le avr fonctionnalités sont bien documentés par Atmel.
  • github.com/dwelch67/avr_samples, malheureusement, il semble que mon avr échantillons ne sont pas en assembleur gnu mais avra. Si vous vous promenez autour le reste de mon repos si vous verrez que beaucoup de beaucoup de gaz/gcc exemples avec simple un linker script que vous pouvez trouver. le même thème s'applique à n'importe quelle cible, le linker script avec les bonnes adresses pour la mémoire ram ou rom et ram, le _start: symbole que votre point d'entrée, de mettre le boot asm code objet en premier sur la -ld ligne de commande pour le mettre en premier dans le binaire, etc. Si cela ne vous aide pas je peux faire un gnu comme avr échantillon
  • vraiment regarder les github.com/dwelch67/avriss il y a un gcc-avr basé exemple. mon instruction set simulator peut ou peut ne pas être débogué, ne pas compter sur elle, mais l'exemple doit montrer que vous voulez que vous demandez, si vous ne voulez pas le code C juste ne pas compiler et lier cela il suffit de laisser le fichier de démarrage comme seule source. ou ajouter d'autres sources assembleur. à l'exception de choses forcé par l'éditeur de liens de script le code d'entrée est le premier objet sur le ld de ligne de commande (ld met des choses dans le binaire dans la ligne de commande la commande)
InformationsquelleAutor byrondrossos | 2012-05-10