Author Topic: Software reset  (Read 11011 times)

MathiasW

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 614
  • Karma: +13/-0
    • my Arduino page
Software reset
« on: March 05, 2016, 06:19:19 PM »
Salut,

ich habe gerade durch Zufall die Dokumentation zu einer interessanten ChipKIT Funktion gefunden: ExecuteSoftReset (http://chipkit.net/wiki/index.php?title=API:ExecuteSoftReset)

Damit kann man vom Programm aus einen Reset ausführen und den Sketch neu laden oder auch in den Bootloader zurück kehren. Diese Funktion gibt es unter Arduino so nicht.

Ciao, Mathias

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: Software reset
« Reply #1 on: March 05, 2016, 06:24:53 PM »
Hallo Mathias,

Die ExecuteSoftReset Funktion ist wirklich interessant, speziell auch das Umschalten in den Bootloader.
Man muss fairerweise aber auch sagen, dass man mit dem Watchdog in Arduino einen Softreset ebenso bewirken kann.

Grüsse - Christoph

pylon

  • freakyfriday
  • Full Member
  • *
  • Posts: 158
  • Karma: +16/-0
Re: Software reset
« Reply #2 on: March 07, 2016, 10:03:15 AM »
Genau genommen ist der Watchdog-Reset sogar ein Hard-Reset, denn es wird ein Reset von der Hardware durchgeführt, wobei allerdings der Bootloader mitbekommt, ob der Reset über die entsprechende Steuerleitung oder vom Watchdog kam.

Ein reiner Soft-Reset sieht in Arduino in etwa so aus:

Code: [Select]
void(* softReset) (void) = 0;//declare reset function at address 0
...
softReset(); //call reset 

Was natürlich stimmt, ist die Aussage, dass die Standard-Bibliotheken des Arduino-Projekts keine Unterstützung dafür bieten.

 

anything