-

Ergebnis 1 bis 5 von 5

Thema: Frage zum NVM Controller im XMega

  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    24
    Beiträge
    3.487
    Blog-Einträge
    9

    Frage zum NVM Controller im XMega

    Hallo Forum,

    ich beschäftige mich im Moment mit dem NVM Controller vom XMega und hab da gleich mal ne kleine Frage.....
    Der NVM Controller "steuert" ja den Zugriff auf den Flashspeicher und die Kalibrationsbytes.
    Jetzt habe ich im Internet diesen Code gefunden um ein Signaturbyte auszulesen:

    Code:
        NVM_CMD = NVM_CMD_READ_CALIB_ROW_gc;                                                                                
        result = pgm_read_byte(3);                                                                               
        NVM_CMD = NVM_CMD_NO_OPERATION_gc;
    Mit der ersten Zeile schreibt man ins Befehlsregister des NVM Controllers einen Befehl damit er Kalibrationsbytes ausließt.
    Die zweite Zeile leuchtet mir aber noch nicht ganz ein. Ich weiß das der Befehl pgm_read_byte() dafür da ist um was aus dem Flashspeicher auszulesen. Das heißt mit dem Befehl wird die Adresse 3 ausgelesen. Wenn ich jetzt aber im Datenblatt des Controllers schaue,

    http://www.atmel.com/Images/doc8077.pdf

    ist bei Adresse 3 aber nicht das Kalibrationsbyte für den 32MHz Oszillator sondern die GPIO (Seite 386). Oder ist das die falsche Adresse? Muss man das dann im Zusammenhang mit dem Lesebefehl für das Kalibrationsregister sehen? Weil auf Seite 47 stehen "Production Signature Row" und da ist bei Adresse 3 der Kalibrationswert für den Oszillator und die Adressen fangen ja dann auch wieder bei 0 an, sprich für den NVM-Controller müsste dann die Adresse 0x00 die Adresse sein wo das 2MHz Oszillatorbyte steckt und dieses Byte befindet sich (wenn man den ganzen Flashspeicher betrachtet) an einer anderen Adresse als 0. Ist das vom Grundgedanken her so korrekt? Kann mir da jemand genauere Infos zu geben?
    Der verwendete Code funktioniert zwar, aber ich würde gerne diese Unklarheit beseitigen

    Danke schonmal!
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    38
    Beiträge
    1.109
    Der Flash-Bereich, in dem die Calibration-Bytes stehen, ist vom Adressbereich des "normalen" Programm-Flash bzw. von den Peripherie-Modul-Adressen völlig unabhängig.
    Über den NVM_CMD-Befehl wird dem Memory-Controller mitgeteilt, dass der nächste Lesezugriff (Assembler-Befehl: LPM) nicht auf den Programm-Flash zugreifen soll, sondern auf den Kalibrier-Bereich.
    In der Tabelle auf Seite 47 stehen ja auch keine absoluten Adressen, sondern Address-Offsets (+0x03).

    Gruß,askazo
    - Ich hasse Autorouter -

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    24
    Beiträge
    3.487
    Blog-Einträge
    9
    Danke für die Antwort. Wo sehe ich den das der Calibrationbereich ein externer Bereich ist? Ich hab da nichts im Datenblatt gefunden (oder übersehen?)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    38
    Beiträge
    1.109
    Datenblatt Seite 20, Abschnitt 4.3.4.

    Gruß,
    askazo
    - Ich hasse Autorouter -

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    24
    Beiträge
    3.487
    Blog-Einträge
    9
    Ah dank dir
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

Ähnliche Themen

  1. Xmega mit LCD-Controller
    Von Roboternetz-Bot im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 21.11.2011, 13:30
  2. wann wird bascom den XMEGA-Controller unterstützen?
    Von sechsrad im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 26.02.2008, 19:14
  3. Frage zu controller (?)
    Von toni123 im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 14
    Letzter Beitrag: 26.02.2007, 09:05
  4. frage zu lcd controller
    Von xandl33 im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 18.08.2004, 22:08
  5. Frage zu ATMEL Controller
    Von BlackBroom im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 21.05.2004, 21:17

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •