Frage zu Register beschreiben im ARM

Gast #1149109
Lesenswert?

Hallo

Ich versuche mich grade an einem AT91sam7x und würde gerne den pwm 
controller zum laufen bringen.
bisher tut sich da aber nichts.
Nun is es ja so, dass der PWM controller über den "advanced peripheral 
bus" kontrolliert wird.
Hier eine Frage: wenn in ein register im ARM einen wert schreibe (z.B: 
das pwm duty cycle register), wird dieser in den speicher des controller 
geschrieben, an dessen adresse sich das register befindet.
Aber wie kommen die daten nun über den APB zum pwm controller? geschieht 
dies automatisch, oder muss ich den transfer noch manuell starten?

Danke!
Persönliche Seite #1149158
Lesenswert?

ARMer wrote:
> Hier eine Frage: wenn in ein register im ARM einen wert schreibe (z.B:
> das pwm duty cycle register), wird dieser in den speicher des controller
> geschrieben, an dessen adresse sich das register befindet.
> Aber wie kommen die daten nun über den APB zum pwm controller? geschieht
> dies automatisch, oder muss ich den transfer noch manuell starten?

Aus Sicht des Prozessors unterscheidet sich Dein Peripherieregister 
nicht von irgendeiner anderen Speicherstelle (memory mapped). Die Bus 
Matrix erkennt anhand der Adresse welches Gerät angesprochen wird. Das 
ist nicht anders als der Zugriff auf irgendeine Adresse im RAM.
Mit dem Speicherzugriff ist der Transfer abgeschlossen. Die Daten müssen 
nicht erst von irgendeinem Speicher in das eigentliche Peripheriegerät 
übertragen werden. Es kann aber sein, dass Du das Peripheriegerät erst 
"einschalten" musst.

Gruß
Marcus
http://www.doulos.com/arm/
Gast #1149217
Lesenswert?

Danke für die Information - hat mir sehr geholfen.
hast du evtl noch eine Tip für mich auf Lager für den PWM controller?
ich hab den peripherie clock für den PWMC eingeschalten, die Register 
des PWMC gesetzt (hoffentlich richtig:)), aber am ausgang kommt nichts 
raus.
der verwendete controller ist ein AT91SAM7X256

Danke für die Hilfe!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren