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?
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.
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.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.