Pages: 1 [2]   Go Down
Author Topic: Inline Assembler  (Read 2397 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 5
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Welche Programmer sind mit dem Atmel Studio kompatibel? Evtl. Usbasp ?

Addi
Logged

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

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

Quote
Per "Inline-Assembler" bindet man in sein Programm allenfalls anderweitig entwickelte, debuggte und getestete Software ein.

Besorge Dir am besten Atmel Studio und einen Programmer, wenn Du selbst in Assembler was für den Arduino programmieren möchtest, dann hast Du was zum Entwickeln, Debuggen und Testen und nicht nur zum Einbinden.

Code per Inline-Assembler einbinden um etwas über Assembler-Programmierung zu lernen ist so wie eine Fertigpizza in den Backofen zu schieben um was über Pizzamachen zu lernen

Einspruch Euer Ehren. Normalerweise schreibt man den größten Teil seiner Programme in C/C++ und nur die wirklich kritischen Stellen in Assembler. Und wenn die kurz sind, dann ist Inline Assembler das richtige Mittel. Fertig entwickelte, debuggte udn geteste Teile werden normalerweise als Bibliotheken verschalt und gerade nicht inline eingebunden.

Hier ein Inline Beispiel welches der Pizza Theorie widerspricht: http://blog.blinkenlight.net/experiments/counting/faster-counter/


Was die Frage nach einem Programmer angeht: nimm einen AVRISP mk II. Der funktioniert garantiert mit dem Studio. Wenn Du erfahrerner bist kannst Du auch andere nehmen, mir wäre das aber die geringe Ersparnis den Ärger nicht wert (ich habe 2 MK II Programmer und ein No Name Teil hier).

« Last Edit: January 17, 2013, 12:16:55 pm by Udo Klein » Logged

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

Neuss
Offline Offline
Full Member
***
Karma: 1
Posts: 200
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Was die Frage nach einem Programmer angeht: nimm einen AVRISP mk II. Der funktioniert garantiert mit dem Studio. Wenn Du erfahrerner bist kannst Du auch andere nehmen, mir wäre das aber die geringe Ersparnis den Ärger nicht wert (ich habe 2 MK II Programmer und ein No Name Teil hier).
Ich kann hier Udo nur zustimmen. Ich selbst verwende den AVRISP mk II mit dem Atmel Studio 6.0 (allerdings nur für die C/C++-Entwicklung). Ist sehr gut in das Atmel-Studio integriert. Direktes Flashen des Controllers und Starten des übersetzten Programms mit einem Maus-Klick (Menüpunkt Debug->Start without Debugging). Auslesen und Setzen der Fuses, Auslesen des Flash aus dem Controller, Löschen des Speichers, usw.

Und wenn du Assembler lernen willst (und zum Debuggen), brauchst du teilweise eigentlich noch nicht einmal einen Controller und einen Programmer, denn du kannst das Programm stattdessen im Simulator des Atmel Studio laufen lassen. Schritt für Schritt oder bis zu einem Breakpoint, du kannst die Prozessor- und I/O-Register anzeigen lassen und setzen, Speicherbereiche anzeigen lassen, usw.
Logged

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

Und wenn die kurz sind, dann ist Inline Assembler das richtige Mittel.
Wie wird das dann gemacht? Einen ISP werde ich mir dann auch noch kaufen.

Addi
Logged

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

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5152
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Wie wird das dann gemacht?

Indem Du die Assembler-Befehle mit asm() in the C-Code einbaust. Du hast aber keine Symbole zur Verfügung, DDRB wird dann zu 0x24, das Datenblatt hilft hier weiter.
Logged

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

Inline Assembler geht auch ohne ISP. ISP ist bequemer und schneller aber nicht nötig.

Symbole hast Du auch zur Verfügung, Du musst Dich aber durch die Tutorials durchkämpfen. Assembler ist definitiv nichts für blutige Anfänger und braucht einiges an Frustrationstoleranz.
Logged

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

Pages: 1 [2]   Go Up
Jump to: