mikrocontroller.net

Forum: Compiler & IDEs Alternativer Delay-Code


Autor: Anton Arnold (miom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich hab meine kompletten Programmierumgebungen auf einen anderen Rechner 
umgelagert. Leider habe ich dort nun einige Probleme beim Erstellen von 
Programmen mit den Funktionen aus der util/delay.h.
Und zwar schießt sich der Compiler sobald eine solche Funktion vorkommt 
mit folgendem Fehler ab: internal compiler error: Illegal instruction

Ich habe ein wenig recherchiert und ein paar vereinzelte Probleme 
gefunden, die ähnlich sind, folgende scheint mir die aufschlussreichste 
zu sein:
Beitrag "Was ist die aktuelle, STABILE WinAVR Version?"

Leider habe ich nicht die Kenntnisse um zu prüfen, ob genau der selbe 
Fehler auftritt, aber da auf dem Rechner eine zumindest etwas 
exotischere CPU (Via C7) ihre Arbeit verrichtet, kann ich mir das gut 
vorstellen.

Da ich keine Lösung für das Problem habe, ist es eventuell am besten 
alternative Delayfunktionen zu verwenden. Die müssen nicht unbedingt 
hochoptimiert sein. Wie eine solche Delay Funktion abläuft ist mir vom 
Prinzip her einigermaßen klar, nur an der Umsetzung hapert es etwas (und 
ich fürchte es gibt nur sehr ungenaue Wartezeiten...).

Daher lange Rede, kurzer Sinn: Gibt es brauchbare (möglichst < 5% 
ungenauigkeit) alternative Funktionen? Hat vll jmd von euch sowas schon 
mal programmiert?
Oder weiß gar jemand, wie ich den Fehler allgmein verhindern kann (ohne 
mir neue Hardware kaufen zu müssen ;))?

Es wäre wirklich toll wenn mir jemand bei der Sache helfen könnte.

Gruß,
Anton

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anton Arnold wrote:

> Da ich keine Lösung für das Problem habe, ist es eventuell am besten
> alternative Delayfunktionen zu verwenden.

Genau.  Warum die Ursache des Problems beheben, wenn man an den
Symptomen herumdoktorn kann?  Wenn beim Auto die Öldrucklampe
aufleuchtet, klemmt man ja schließlich auch lieber die Lampe ab,
statt Öl nachzufüllen, nicht wahr?

Wer sagt dir, dass nicht der gleiche Fehler übermorgen bei etsas
komplett anderem passiert?

Falls dir das mit der letzten WinAVR-Version immer noch passiert, dann
wäre es höchste Zeit, endlich mal einen Bugreport dafür zu schreiben,
ansonsten wird das Problem vermutlich nämlich nie behoben werden --
weil Eric nichts davon erfährt.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die VIA-CPUs sind immer mal für eine Überraschung gut, war schön früher 
so, als noch Cyrix draufstand. ;)

Win98 und ein altes DOS-basiertes Kassenprogramm auf VIA: keine 
Probleme.
Selbiges unter W2000/WinXP: beim Start stürzt 2-3x die DOS-Emu ab, dann 
startet es und läuft fehlerfrei. Bis zum nächsten beenden und 
neustarten...

Auf AMD und Intel keine Probleme.

Gruß aus Berlin
Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.