www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit AVRBL auf einem ATmega32


Autor: Colin Weiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,

Ich habe mir gerade den AVRBL Bootloader besorgt, ihn ausgepackt und
die Dateien dann in CodeVision geladen. Dort hab ich dann die
Frequenzeinstellungen sowie den hardbeat-pin an meine Schaltung
angepasst.

Leider lässt sich der Code nicht kompilieren, da CodeVision mir 3
Fehler ausspuckt. Alle sind in dem Codeteil mit dem der Anwender
"normalerweise" nichts zu tun haben sollte.
So wie es aussieht sind es "nur" ein paar falsche Typendeklarationen,
aber da ich diesen Loader noch nicht kenne möchte ich da nicht einfach
drin drauflos stochern sondern erstmal fragen, ob jemand das Problem
vielleicht schonmal hatte.

Hier sind die Fehlermeldungen die ich bekomme:


Error: boot16x_32x.c(274): a value of type 'unsigned int' can't be
assigned to an entity of type 'eeprom unsigned char^x'
Error: boot16x_32x.c(281): parameter #2 of type 'unsigned char^x[]'
is incompatible with type 'unsigned int' specified in the function
'bl_write_page' declaration.
Error: boot16x_32x.c(304): parameter #2 of type 'unsigned char^x[]'
is incompatible with type 'unsigned int' specified in the function
'bl_write_page' declaration.

Ich verwende CodeVision 1.24.8d Standard

Hat das schonmal jemand gesehen?


Grüße,

Colin

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sind Type-Cast Fehler. int versteht sich nicht einfach so mit
char...

Autor: Colin Weiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Rahul,

demnach würde es also ausreichen wenn ich da einfach ein casting
einfüge?


Ich finde es nicht sonderlich gut, daß der AVRBL mit solchen Fehlern
geliefert wird... kostet schließlich Geld...

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich kenne den Bootloader (und Codevision) nicht.

Autor: Colin Weiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, danke erstmal. :)

ich schau mal ob die Sache läuft wenn ich die Typen caste.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was mich stutzig macht, ist:

'eeprom unsigned char^x'

Was soll der ^ da drinnen?
Ist das ein Überbleibsel aus Pascal und soll 'Pointer' heissen?

Schau Dir mal die Zeilen im Code an. So wie es aussieht dreht sich
eh alles immer um das gleiche Problem.

Autor: Colin Weiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, der Compiler schrieb an den Stellen wo ich ^x geschrieben hab ein
hochgestelltes x. Mir fiel auf die Schnelle nichts besseres ein um das
hier auszudrücken.

Hätte ich dazu schreiben sollen, Asche auf mein Haupt. :)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah so.
Trotzdem seltsam.

(Da frag ich mich sofort: Was will er uns wohl damit sagen?)

Autor: Colin Weiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gute Frage, ich bin kurz davor mal eine E-Mail an Progressive Resources
zu schicken, die das ja zusammengeschrieben haben. :)

Ich habe jetzt ein paar Castings eingefügt, mit dem Effekt das jetzt
der Syntax-Check problemlos durchläuft, dafür kommt beim Versuch das
ganze zu Compilieren jetzt aber ein neuer Fehler...

Error: boot16x_32x.c(347): a value of type 'unsigned int' can't be
assigned to an entity of type 'flash unsigned char'

Die Fehlermeldung ist ja nun ziemlich identisch mit dem was ich vorher
auf Zeile 274 hatte. Dort bekam ich sie weg, aber wenn ich hier
dasselbe mache bekomme ich auch einen ungültigen Cast... sehr
seltsam... g

Autor: Colin Weiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

das Problem hat sich gelöst. Der Bootloader war noch nicht mit meiner
neueren Version vom CodeVisionAVR kompatibel.


Danke für die Hilfe!


- Colin

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.