AtSAM4S Assemblerprogramme

OP #4757104
Hallo,

ich habe einen AtSAM4S (basiert auf ARM Cortex M-4) auf einen Evaluation 
Board.
Im Atmel Studio kann ich diesen problemlos in C programmieren.
Da ich mich aber mit Assembler beschäftigen möchte, wollte ich ein neues 
Assembler-Projekt anlegen.
Es gibt jedoch keine Möglichkeit diesen Chip auszuwählen.
Bei C klappt das problemlos.

Kennt jemand eine Lösung wie ich trotzdem mit Atmel Studio diesen Chip
in Assembler programmiere?
#4757140
Die ARM Cortex-M4 wurden offensichtlich für C Compiler entwickelt, also 
will man die normalerweise auch mit C Compilern verwenden.

Du kannst aber ganz einfach Assembler Files auch in einem C Projekt 
benutzen,
und die Funktion(en) z.B. aus main() aufrufen. BTDT.

Es könnte aber sein dass für Assembler die Definitionen der 
(gefühlt)1000 Register und 10000 Register-Bits fehlen bzw. nur als 
C-Header zur Verfügung stehen.
Gast #4757313
Johannes H. schrieb:
> Kennt jemand eine Lösung wie ich trotzdem mit Atmel Studio diesen Chip
> in Assembler programmiere?

Das sind zwei Fragen.

1. Lösung:
Du schreist dir eine Quelle in Assembler und assemblierst selbige mit 
dem Assembler deiner Toolchain. Syntax zwischen Keil und GCC ist 
deutlichst unterschiedlich. Siehe Lernbetty, dort findest du z.B. den 
gleichen Startupcode für Keil und Gcc, kannst also deren Syntax 
vergleichen.

2. Atmel Studio
ob dort eine Assemblerquelle in dein Projekt einfügbar ist, mußt du mal 
selber herausfinden. Notfalls selbige per externem Editor bearbeiten und 
separat assemblieren. Allerdings mußt du zusehen, selbigen Objektcode in 
die Liste der zu verlinkenden Objektcodes hinein zu bekommen.

W.S.
Gast #4757928
Hallo,

In Atmelstudio 7.0 ein C-Projekt anlegen, dann alle deine Assembler 
Quelltexte einfügen und schon sollten die mit übersetzt werden. Du musst 
nur darauf achten, das die Dateien els extension '.s' oder '.S' haben.


der Unterschied ist das bei Groß-.S die Dateien auch noch vorher durch 
den C-Preprozessor gejagt werden. dadurch kannst du etliche Header Files
in denen die Register-Definitionen stehen nutzen.

Unnötige '.c' Datteien kannst du ja wieder entfernen.

mfg

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.