PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : at91r thumb erklärung?



Bluesmash
08.03.2007, 20:06
Hallo Zusammen!

Ich muss einen Vortrag über den at91r thumb halten...
mir geht es jetzt erst mal darum grundlegend zu verstehen was der kann...
Soweit ich verstanden habe ist das nen 32bit Prozessor mit arm Struktur?
man kann ihn entweder mit 32bit Befehlssatz oder im thumb modus mit 16bit laufen lassen?
er hat 16 Coprozessoren? was machen die? kann man die alle einzeln programmieren?

Viele Fragen und Unklarheiten ;)
Währe froh wenn jemand meine fragen bestätigen oder berichtigene könnte...

Gruss bluesmash

p_mork
09.03.2007, 12:23
Hallo Bluesmash,

der at91r hat EINEN 32bit-ARM7TDMI Prozessor, der sowohl 32- als auch 16-bit (thumb)-Code ausführen kann. Man kann beim Compilieren angeben ob ARM od. Thumb-Code erzeugt werden muss. So weit ich weiss kann man dann beim Flashen dem Controller mitteilen, wie er den Code ausführen muss, also im ARM oder Thumb mode. Der Vorteil von Thumb liegt bei dem geringen Speicherverbrauch, der Nachteil darin, dass dieser um ca 30% langsamer ist als ARM-Code, weil teilweise mehrere Thumb-Befehle einen ARM-Befehl ersetzen müssen. Aber schau Dir am besten das Datenblatt von so nem Ding an, da steht das sicher auch.

MfG Mark

fluchtpunkt
09.03.2007, 15:12
So weit ich weiss kann man dann beim Flashen dem Controller mitteilen, wie er den Code ausführen muss, also im ARM oder Thumb mode.
Das kann man im laufenden Programm aendern, es ist durchaus moeglich und sinnvoll ARM und THUMB Code in einem Programm zu verwenden.

Bluesmash
12.03.2007, 09:43
danke für die antworten! jetzt weiss ich auch was mit dem coprozessor gemeint ist... er hat ein interface um benötigte coprozessoren anzuschliessen...
habe ich das richtig verstanden das die ARM-architektur im grunde eine völlig neue architektur ist? und wenig mit risc und cisc prozessoren zu tun hat?

gruss bluesmash

Bluesmash
12.03.2007, 10:38
ok.. frage geklärt... es ist eine risc architektur.. :)

dafür eine andere frage... wie sieht es mit dem befehlssatz aus? ist der für alle arm7 modelle genormt? ich kann kein befehlssatz im datenblatt finden... beim atmega oder pic ist der befehlssatz ja im datenblatt enthalten... wo finde ich ihn bei diesen prozessoren?

gruss bluesmash

fluchtpunkt
12.03.2007, 14:04
-> www.arm.com -> Documentation -> Instruction Set Information

Bluesmash
12.03.2007, 18:24
vielen dank!

werden solche arm's überhaupt noch mit assembler programmiert oder werden da eher hochsprachen benutzt?

gruss bluesmash

p_mork
12.03.2007, 18:49
Ich glaube es werden eher Hochsprachen benutzt(C++), da die modernen Compiler sehr optimiert sind und Assembler sich nur dann lohnt, wenn es wirklich auf jeden Takt ankommt.

MfG Mark

fluchtpunkt
12.03.2007, 19:00
Ich benutze C mit Assembler. Assembler fuer die Interruptroutinen und C fuer den Rest. Funktioniert gut :)

Bluesmash
12.03.2007, 19:17
danke für die antworten!

ich weiss gar nicht was ich alles in meinen vortrag reinpacken soll... da wird man richtig überflutet von informationen...

- kurzer auszug über die geschichte der arm prozessoren
- arm/thumb modus
- kurzer überblick des instruction set
- direkte schnitstelle für coprozessoren/auslagern der berechnung
- überblick der at91 familie....

jemand noch ideen?

gruss bluesmash

Kaiser-F
15.10.2007, 18:08
Servus, hast du deinen Vortrag schon gehalten?
Könntest ihn ja wenn Du willst hier reinstellen,
vielleicht freut sich der ein oder andere Umsteiger darüber?

Bluesmash
15.10.2007, 18:49
naja das war ja nur ein kurzvortrag... 5-10min...
darum habe ich auch nur ne kleine powerpoint mit ein paar stichworten, was so eigentlich auch niemandem wirklich weiterhilft...

gruss bluesmash