Forum: Mikrocontroller und Digitale Elektronik AT91SAM7 version register


von Pernicius (Gast)


Lesenswert?

Ich beschäftige mich seit kurzem mit den SAM7 Controllern von Atmel. 
Dabei ist mir aufgefallen, das bei einigen neueren Versionen der 
Headerfiles für die at91sam7 Controller einige Registerdefinitionen dazu 
gekommen sind. Eine suche hier im Forum, Google und der Atmel Seite hat 
nichts gebracht, auch im Datasheet steht nichts dazu. Hat jemand ne Idee 
wie diese zu verwenden sind bzw. was es für Versionen gibt?

Eine weitere Frage, gibt es ein Archiv oder ähnliches, wo man die 
aktuellste Version der Header downloaden kann?

Wenn ich später mal etwas Zeit über habe werde ich mal schauen was mein 
DevBoard da ausspuckt.

Hier mal ein paar Auszüge der gemeinten Stellen (gekürzt)...
1
// File Name           : AT91SAM7S256.h
2
// Object              : AT91SAM7S256 definitions
3
// Generated           : AT91 SW Application Group  07/07/2008 (16:12:57)
4
5
// *****************************************************************************
6
//              SOFTWARE API DEFINITION  FOR Pulse Width Modulation Controller Interface
7
// *****************************************************************************
8
typedef struct _AT91S_PWMC {
9
  AT91_REG   PWMC_MR;   // PWMC Mode Register
10
  AT91_REG   PWMC_ENA;   // PWMC Enable Register
11
  AT91_REG   PWMC_DIS;   // PWMC Disable Register
12
  AT91_REG   PWMC_SR;   // PWMC Status Register
13
  AT91_REG   PWMC_IER;   // PWMC Interrupt Enable Register
14
  AT91_REG   PWMC_IDR;   // PWMC Interrupt Disable Register
15
  AT91_REG   PWMC_IMR;   // PWMC Interrupt Mask Register
16
  AT91_REG   PWMC_ISR;   // PWMC Interrupt Status Register
17
  AT91_REG   Reserved0[55];   //
18
  AT91_REG   PWMC_VR;   // PWMC Version Register
19
  AT91_REG   Reserved1[64];   //
20
  AT91S_PWMC_CH   PWMC_CH[4];   // PWMC Channel
21
} AT91S_PWMC, *AT91PS_PWMC;


In der Datei AT91SAM7X512.h gibt es so ein Register zusätzlich für MC0, 
MC1, CAN, EFC0, EFC1

von hp-freund (Gast)


Lesenswert?

AT91SAM7S256 != AT91SAM7X512

S != X

vergleich noch mal die Datenblätter:

http://www.atmel.com/dyn/products/param_table.asp?family_id=605&OrderBy=part_no&Direction=ASC

von Lennart S. (lennart_s)


Lesenswert?

@hp-freund:
ist mir schon klar, daß es sich um 2 verschiedene Controller handelt ... 
was willst du mir damit jetzt sagen?

von Lennart S. (lennart_s)


Lesenswert?

ok, evtl. ist der Thread-Titel etwas wenig aussagend. Ich meine 
natürlich z.B. das PWMC-Version-Register beim SAM7S von dem es ebenso 
Definitionen bei der Peripherie des SAM7X gibt.

von hp-freund (Gast)


Lesenswert?

Die MC(X256) bzw. MC0,MC1 Register wie auch die EFC0, EFC1 sind beim 
X512 bedingt durch die 2 Flash Bänke a 256kB eingeführt worden.
PWM unterscheidet sich in der Anzahl der Kanäle.

Ich vermute einfach mal das es eine Header Versionverwaltung für ein und 
den selben Baustein nicht gibt. Evtl. eine leicht abweichende 
Bezeichnung der Register durch den jeweiligen Compiler Anbieter.

Kann mich aber natürlich auch irren...

von Lennart S. (lennart_s)


Lesenswert?

wie schon gesagt, ich meine speziell das/die Version Register also z.b. 
die folgenden beim SAM7X512...

Hier die ausführliche Variante:
1
#define AT91C_EFC0_VR   (AT91_CAST(AT91_REG *)   0xFFFFFF6C) // (EFC0) MC Flash Version Register
2
#define AT91C_EFC1_VR   (AT91_CAST(AT91_REG *)   0xFFFFFF7C) // (EFC1) MC Flash Version Register
3
#define AT91C_PWMC_VR   (AT91_CAST(AT91_REG *)   0xFFFCC0FC) // (PWMC) PWMC Version Register
4
#define AT91C_CAN_VR    (AT91_CAST(AT91_REG *)   0xFFFD00FC) // (CAN) Version Register


sei mir nicht böse, aber ich glaube wir reden bisher aneinander vorbei 
;)

von hp-freund (Gast)


Lesenswert?

Sorry. Das fürchte ich auch. Aber auch bei Tage hab ich keine bessere 
Idee.
Warten wir mal ab ob jemand mehr weiß.

von 123 (Gast)


Lesenswert?

ich vermute mal, das das ein nicht spezifiziertes / documentiertes 
feature ist.

die leute von ATMEL oder in jeder anderen IC bude, werden sicher nicht 
jedes mal jede einzelne funktion von vorn neu designen. Sie verwenden 
gut funktionierende teile wieder und kleistern die nur wieder neu 
zusammen. Ich glaub bei FPGA nennen sich die dinger IP Cores.

diese Blaupausen werden mit der zeit erweitert  verbessert  
überarbeitet  fehlerbereinigt  um neue funktionen ergänzt, ... um da 
nicht den überblick zu verlieren werden die sicher ne interne 
versionsnummer vergeben.

Da ATMEL z.B. auch ne eigene Software lib zu ihren bausteinen hat, ist 
es sicherlich hilfreich, an diese versionsinfo der einzelnen 
funktionsblöcke ranzukommen. somit kann man z.B. Versionsspezifische 
eigenschaften eingehen ohne das für jede Bausteinvariante in der Atmel 
familie codieren zu müssen.

von gerhard (Gast)


Lesenswert?

hallo,
auch ich kann in keiner atmel doku oder in den div. software examples 
einen hinweis auf dieses register finden.
ich vermute mal es hängt damit zusammen, dass in neueren revisions der 
div. sam7-derivate langsamere flashes zum einsatz kommen und über das 
versions-register kann die software feststellen, welches flash im 
aktuellen chip eingesetzt ist.

gruss
gerhard

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.