Pages: [1]   Go Down
Author Topic: Arduino IDE avr-gcc ersetzen  (Read 811 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 3
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,
ist es möglich die IDE so einzustellen, das sie nicht avr-gcc sondern andere Programme
mit anderen Parameter aufruft, ohne die IDE neu zu kompilieren?

Addi
Logged

  / \    _|  _| o
 /--\ (_| (_| |

Switzerland
Offline Offline
Faraday Member
**
Karma: 96
Posts: 4702
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Unter Linux und MacOS X sollte das relativ einfach möglich sein (Script an die Stelle von avr-gcc installieren), aber wozu sollte das gut sein?
Logged

Offline Offline
Full Member
***
Karma: 3
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich will avr-gcc duch einen Assembler ersetzen, da die IDE ohne Programm mit
dem Bootloader programmieren kann, muss ich kleinen Programm nicht mehr
im Atmel Studio simulieren. Wie würde es unter Windows gehen? Gibt es eine Datei
in welcher der Pfad zu den Compillern/Linker steht? In der preferences.txt habe ich
nichts gefunden.

Addi
Logged

  / \    _|  _| o
 /--\ (_| (_| |

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 235
Posts: 20236
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich bin irritiert?
Wie soll das funktionieren, einen C-Compiler durch einen Assembler zu ersetzen?

Grüße Uwe
Logged

Germany S-H
Offline Offline
Edison Member
*
Karma: 117
Posts: 2449
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich will avr-gcc duch einen Assembler ersetzen, da die IDE ohne Programm mit
dem Bootloader programmieren kann, muss ich kleinen Programm nicht mehr
im Atmel Studio simulieren. Wie würde es unter Windows gehen?

So würde es unter Windows gehen:

Besorge Dir einen "Texteditor für Programmierer", der auf Druck irgendeiner Funktionstaste ein von Dir vorgegebenes Programm starten kann.

Und als dieses von Dir vorgegebene Programm machst Du Dir eine Batch-Datei oder ein Script, das den Vorgang aus Assemblieren - Linken der Dateien - Hochladen auf den Arduino ausführt.

Die Arduino-IDE kannst Du vergessen. Denn die Arduino-Software führt vor dem Kompilieren mit dem Quelltext immer noch ein paar magische Arduino-Tricks aus, so dass der Quelltext, den der GCC-Compiler zu sehen bekommt gar nicht identisch ist mit dem Quelltext, den Du im Arduino-Editor siehst. So wird z.B. immer noch eine Zeile #include "Arduino.h" eingefügt (falls Du sie nicht selbst geschrieben hast), bevor der Kompiler den Text zu sehen bekommt. Was würde wohl Dein Assembler zu der Zeile #include "Arduino.h" im Quelltext sagen? Vermutlich irgendwas mit Error.
Logged

0
Offline Offline
Faraday Member
**
Karma: 19
Posts: 3420
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Warum lernst Du nicht einfach wie man avrdude aus der Kommandozeile aus aufruft? Wenn Du die IDE auf "geschwätzig" stellst, dann sagt sie Dir auch wie man avrdude rufen muss.

Wenn Du eh Assembler lernst, dann solltest Du auch vor make und/oder scons nicht zurückschrecken. Ich persönlich bevorzuge scons.

Sobald Du eins von beiden auf der Pfanne hast kannst Du die IDE in die Tonne treten. Du wirst sie nicht vermissen smiley-wink
« Last Edit: January 29, 2013, 04:30:49 pm by Udo Klein » Logged

Check out my experiments http://blog.blinkenlight.net

Offline Offline
Full Member
***
Karma: 3
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wie soll das funktionieren, einen C-Compiler durch einen Assembler zu ersetzen?
Ich möchte nur die IDE behalten und statt C++-Code Assembler eingeben.
Denn die Arduino-Software führt vor dem Kompilieren mit dem Quelltext immer noch ein paar magische Arduino-Tricks aus (…)
Wird der Code durch die IDE berarbeitet, oder wird der eigene Code nur in die Cores/main.cpp eingefügt?
Sobald Du eins von beiden auf der Pfanne hast kannst Du die IDE in die Tonne treten. Du wirst sie nicht vermissen smiley-wink
Ist nur umständlich, immer make zu benutzen, vorallem weil ich nur Windoofs batch( smiley-sad ) zur Verfügung habe. Die IDE würde dann alles
automatsch aufrufen. Hat evtl. jemand sich den Quellcode der IDE angesehen, ob dort alle Befehle zum aufrufen von arv-gcc/avrdude
zusammen stehen oder zerstückelt in dem Code herumstehen?

Addi
Logged

  / \    _|  _| o
 /--\ (_| (_| |

Switzerland
Offline Offline
Faraday Member
**
Karma: 96
Posts: 4702
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Wird der Code durch die IDE berarbeitet, oder wird der eigene Code nur in die Cores/main.cpp eingefügt?

Da wird noch Glue-Code rundherum eingefügt und der Compiler für die Includeten Bibliotheken aufgerufen. Du müsstest also relativ viel umprogrammieren in der IDE, damit sie von C++ auf Assembler umgestellt werden kann. Deine Idee bringst Du mit einer allgemeinen IDE wie Eclipse einfacher hin, obwohl Du Dich auch dort mit avrdude und Makefiles wirst befassen müssen.
Logged

Chemnitz/Saxony/Germany
Offline Offline
Full Member
***
Karma: 0
Posts: 107
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich möchte nur die IDE behalten und statt C++-Code Assembler eingeben.

Warum?

Das ist ne ernst gemeinte Frage. Die Arduino-IDE finde ich ziemlich grottig, das wäre das Letzte was ich da behalten wollte. Wenn Du primär Assembler machen willst und damit auch am Bootloader vorbei arbeiten, dann macht die Arduino-IDE einfach keinen Sinn. Ich würde da auch auf die ganzen Features einer echten, leistungsfähigen IDE nicht verzichten wollen, schon um da auch mal debuggen zu können.

Wenn Du Windows benutzt: Atmel AVR Studio.
Logged

Offline Offline
Full Member
***
Karma: 3
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wenn Du Windows benutzt: Atmel AVR Studio.
Für das Atmel Studio brauche ich einen ISP, denn ich nocht nicht habe.

Addi
Logged

  / \    _|  _| o
 /--\ (_| (_| |

Germany
Offline Offline
Faraday Member
**
Karma: 49
Posts: 2743
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

avrdude kann auch mit dem Arduino BootLoader reden.

Eclipse ist sicher flexibler als die Arduino-IDE wenn es drum geht, die Umgebung einzurichten und den atmel Assembler in die "toolchain" zu integrieren.

Ein Einführungs-Tutorial: http://horrorcoding.altervista.org/arduino-development-with-eclipse-a-step-by-step-tutorial-to-the-basic-setup/

Ich verstehe aber nicht, was du mit Assembler willst, bevor du dich mit nacktem avr-gcc beschäftigst.
(direkte port- und timer-Manipulation braucht noch keinen Assembler)

Assembler ohne Debugger stelle ich mir noch erheblich frustrierender vor als wenigstens mit Debugger, und das ist schon nur für Masochisten.
Logged

Pages: [1]   Go Up
Jump to: