Hi Leute,
habe seit kurzem meine Leidenschaft für Microcontroller entdeckt.
Zum Einstieg beschäftige ich mich mit dem Arduino Uno. Jetzt will ich
das Beispiel "BLINK" mit der Programmiersprache C programmieren. Ich
habe mir den WinAvr als Compiler(avr-gcc) runtergeladen. Wie muss ich
vorgehen damit das funktioniert?
P.S: Die Tutorials helfen mir in keinster Weise.
Vielen Dank
Student1 schrieb:> Wie muss ich> vorgehen damit das funktioniert?
Du wirst herausfinden müssen, wie der Arduino-Bootloader funktioniert.
Das sollte sich aber herausfinden lassen.
Dann musst du nur dein Programm compilieren lassen und auf den
Controller übertragen.
Man kann auch ein (vernünftiges) ISP-Adapter verwenden. Dann ist aber
der Bootloader futsch.
STK500-Besitzer schrieb:> Man kann auch ein (vernünftiges) ISP-Adapter verwenden. Dann ist aber> der Bootloader futsch.
wie meinst du das? Man kann doch isp und Bootloader benutzen.. das geht
wie man will nur nicht gleichzeitig.
Du brauchst eine IDE wie zB Eclipse oder AVRStudio, wenn du dann ein HEX
File generiert bekommen hast kannst Du das mit avrdude und den richtigem
AvrDude Tutorial hochladen.
Philipp K. schrieb:> wie meinst du das? Man kann doch isp und Bootloader benutzen.. das geht> wie man will nur nicht gleichzeitig.
Dein Programm liegt nach einer ISP-Programmierung dort im Controller, wo
vorhr der Bootloader lag.
STK500-Besitzer schrieb:>> wie meinst du das? Man kann doch isp und Bootloader benutzen.. das geht>> wie man will nur nicht gleichzeitig.>> Dein Programm liegt nach einer ISP-Programmierung dort im Controller, wo> vorhr der Bootloader lag.
das muss aber so nicht sein. Man kann das Programm an andere Adressen
laden.
Peter II schrieb:> das muss aber so nicht sein. Man kann das Programm an andere Adressen> laden.
Das kannst du vielleicht so organiseren, ich vielleicht auch, aber der
Threadstarter?
Student1 schrieb:> Wie muss ich> vorgehen damit das funktioniert?
Du nimmst zunächst die (wohl) vorhandene Arduino IDE, schreibst ein
C-Programm oder kopierts es in die .ino-Datei, läßt es compilieren und
lädst es in der µC. Fertig!
Keiner zwingt Dich loop() und setup() aufzurufen.
@ google (Gast)
>... oder Du nimmst die Arduino-IDE, was nichts anderes als C bedeutet,>und programmierst Deinen Arduino damit.
Warum einfach, wenn es auch umständlich geht?
Arduino ist normales C mit einem Hauch C++. Die Benutzeroberfläche ist
ein stark abgesprecktes Atmelstudion. Für Anfänger vollkommen
ausreichend.
Hi m.n.,
das habe ich schon gemacht und hat auch wunderbar geklappt. Die Arduino-
Welt ist wirklich benutzerfreundlich. Ich möchte mich aber in dem Fall
gerne mit dem gcc-compiler auseinandersetzen. Daher wende ich mich auch
an euch.
DAnke
Ein Arduino hat durch eine Fuse einen anderen Bootloaderbereich, das ist
richtig.. Aber solange man die Fuse nicht ändert kann man ISP oder den
Serial Bootloader zum hochladen nutzen.
Student1 schrieb:> Ich möchte mich aber in dem Fall> gerne mit dem gcc-compiler auseinandersetzen.
Was denkst Du, was unter der Arduino-Oberfläche steckt?
Du brauchst dann eine andere IDE wie zum Beispiel Eclipse mit AVR-Plugin
um mit avr-gcc zu programmieren. Ein Arduino bleibt ein Atmel..
Ich werde immer total dumm angeschaut wenn ich nen rohen Chip mit Serial
Bootloader einfach Arduino nenne.. dabei ist das nur ein Praktischer
Upload.
@ Student1 (Gast)
>das habe ich schon gemacht und hat auch wunderbar geklappt. Die Arduino->Welt ist wirklich benutzerfreundlich.
Dann mach erstmal ein paar Gehversuche und sei glücklich!
> Ich möchte mich aber in dem Fall>gerne mit dem gcc-compiler auseinandersetzen. Daher wende ich mich auch>an euch.
Arduino nutzt den avr gcc, das ist praktisch der gleiche, welcher im win
avr drinsteckt (naja, vielleicht etwas neuer)
Die Hexdatei wird im Projektverzeichnis abgelegt, wenn man STRG-R drückt
(Prüfen/Kompilieren)
Student1 schrieb:> Hi,>> wie bekomme ich den eine Hex Datei generiert?> Einfach auf einen Button drücken :0?>> Danke
Auf meine Frage hast du nicht geantwortet, aber sei's drum. Lade dir das
Atmel Studio, damit hast du eine IDE die heute auch Arduino unterstützt.
Wie das allerdings über USB klappt, kann ich nicht sagen, da ich das mit
einen AVRMKII, über die ISP Schnittstelle mache.
Falk Brunner schrieb:> Die Hexdatei wird im Projektverzeichnis abgelegt, wenn man STRG-R drückt> (Prüfen/Kompilieren)
Moin,
kann ich nicht bestätigen; Die Arduino-IDE kompiliert den C-Text von Max
ohne Fehlermeldung, ein hex-File konnte ich jedoch nicht finden.
Lohnt sich das überhaupt, den Bootloader zu bewahren? Man könnte den ja
ganz einfach überbügeln.
Wenn ja, mit welchen Argumenten bringt man avrdude dazu, das Programm
dahin zu legen, wo der Bootloader es findet?
thomas schrieb:> Moin,>> kann ich nicht bestätigen; Die Arduino-IDE kompiliert den C-Text von Max> ohne Fehlermeldung, ein hex-File konnte ich jedoch nicht finden.
also ich finde meine Arduino HEX von gestern im Arduino TMP Ordner
C:\Dokumente und Einstellungen\jb\Lokale
Einstellungen\Temp\build1036303377199115274.tmp\digi_filter.cpp.hex
einfach mal die Suche bemühen nach *.hex
Hallo jar,
hast recht:
user@schreibtisch:/tmp$ find -name *hex
./build6527190782700826868.tmp/blink_c.cpp.hex
./build6527190782700826868.tmp/sketch_mar31a.cpp.hex
muss zugeben, so intensiv hab ich nicht gesucht, das
ist allerdings nicht gerade das Projektverzeichnis:-)