BODLEVEL fuses zur Laufzeit ändern?

  • 1
  • 2
  • Page 1 of 2
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

BODLEVEL fuses zur Laufzeit ändern?

 · 
Posted: 18.09.2014 - 17:47  ·  #1
Ich habe einen Fehler beim Einstellen der BODLEVEL-Fuses an einem Xmega128A4U gemacht, gibt es eine Möglichkeit das zur Laufzeit noch zu korrigieren? Oder geht das nur über PDI-Programmierung?

Ich fürchte letzteres, aber vielleicht habe ich ja Glück..

Louis
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: BODLEVEL fuses zur Laufzeit ändern?

 · 
Posted: 18.09.2014 - 18:23  ·  #2
Hallo Louis,
Fuses können nur gesetzt werden aber nicht zurück.

miparo

Quote


NVM
Functions for reading fuses and writing lock bits.

The Fuses are used to set important system functions and can only be written from an external programming interface. The application software can read the fuses. The fuses are used to configure reset sources such as Brown-out Detector and Watchdog, Start-up configuration, JTAG enable and JTAG user ID.

The Lock bits are used to set protection level on the different flash sections. They are used to block read and/or write on the different flash sections. Lock bits can be written from en external programmer and from the application software to set a more strict protection level, but not to set a less strict protection level. Chip erase is the only way to erase the lock bits. The lock bits are erased after the rest of the flash memory is erased. An unprogrammed fuse or lock bit will have the value one, while a programmed fuse or lock bit will have the value zero. Both fuses and lock bits are reprogrammable like the Flash Program memory.
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: BODLEVEL fuses zur Laufzeit ändern?

 · 
Posted: 18.09.2014 - 18:40  ·  #3
Die Hoffnung stirbt zu letzt..nun ist sie tot :-(

Wie verhält es sich eigentlich genau mit den
"Define_Fuses
Override_Fuses;
COMport = USB;
ProgMode = PDI;"

usw.

Ich hatte da Fuses drin stehen, die so nicht geflasht wurden.
Als ich testweise eine Änderung da vorgenommen habe erschienen die Änderungen nicht im Programmer.
Offenbar wurden die Einstellungen nicht übernommen.

Wie kann ich sicher gehen, dass die Fuse-Einstellungen im Programm auch von Programmer übernommen werden?


Beispiel:
Code
  Override_Fuses;
  COMport   = USB;
  ProgMode  = PDI;
  FuseBits0 = [];
  FuseBits1 = [];
  FuseBits2 = [BootRst];                         // mandatory !!
  FuseBits5 = [BODACT0, BODLEVEL0, BODLEVEL1, BODLEVEL2];


Im Programmer siehts dann aus wie im Anhang.

Ändere ich das in
  FuseBits5 = [BODACT0];

und mache ein Reload im Programmer, ändert sich nichts!
Attachments
BODLEVEL fuses zur Laufzeit ändern?
Filename: prog1.jpg
Filesize: 12.47 KB
Title:
Download counter: 99
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: BODLEVEL fuses zur Laufzeit ändern?

 · 
Posted: 18.09.2014 - 18:47  ·  #4
Diese Informationen stehen im *.ispe File und werden nach einem compile aktualisiert.
Glaube ich doch.
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: BODLEVEL fuses zur Laufzeit ändern?

 · 
Posted: 18.09.2014 - 19:33  ·  #5
Ich habe es gerade noch einmal versucht, keine Reaktion im Programmer, was ich im Code auch ändere.
Das erklärt warum ich jetzt falsche Bodlevel-Fuses in meiner Hardware habe :-(

Ich werde dann mal in Zukunft lieber wieder von Hand setzen.
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: BODLEVEL fuses zur Laufzeit ändern?

 · 
Posted: 18.09.2014 - 19:40  ·  #6
Mal schauen was Rolf gleich schreibt, aber im Zweifel imm das ispe File löschen dann wird es neu aufgebaut.
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: BODLEVEL fuses zur Laufzeit ändern?

 · 
Posted: 18.09.2014 - 19:49  ·  #7
Supi, das hilft :aerger:

So etwas ist schon unangenehm, jetzt kann ich erst einmal verpacken gehen, etliche Teile müssen jetzt getauscht werden. Die Kunden sind sicher begeistert. :angry4:
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: BODLEVEL fuses zur Laufzeit ändern?

 · 
Posted: 18.09.2014 - 20:24  ·  #8
Bei Fuse Änderungen in der Pascal Source muss die Programmer Soft neugestartet werden damit er diese übernimmt.
Kann verwirren, wird deshalb jetzt geändert in der Programmer Soft.

miparo
  • 1
  • 2
  • Page 1 of 2
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 16 · Cache Hits: 15   138   153 · Page-Gen-Time: 0.116775s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI