Hallo und Frohe Ostern,
ich hab n problem mit meinem Atmega32 und zwar wenn ich n array mit
Hilfe von pgmspace in den Flash schreiben will bekomm ich immer den
Fehler:
1
constuint16_tlaenge[]PROGMEM=
2
{
3
100,500,500,500,350,150,500,350,150,650,150,
4
500,500,500,350,150,500,350,150,650,150,
5
500,300,150,400,200,200,125,125,250,250,
6
250,400,200,200,125,125,250,250,
7
125,500,375,125,500,375,125,650
8
};
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/pgmspace.h|1067|error:
unknown type name ‘uint_farptr_t’|
Kennt jemand das Problem oder sieht meinen Fehler? Ich hab auch schon
danach gegoogelt aber nichts gescheites gefunden.
Bin dankbar für jede Antwort.
Philipp
hi, danke für die antwort,
das komplette programm is ewig lang... und es kann auch nicht an ner
anderen stelle liegen, weil ich das auskommentier dann geht es ja...
Muss ich vielleicht dem compiler noch bestimmte parameter übergeben?
also irgendwie is wohl doch n fehler im Code. Auf nem anderen Rechner
hab ich genau das selbe problem...
Anbei die betroffenen files...
danke im vorraus philipp
PS: Ja ich weiß mein codestil ist schrecklich und die global.h ist total
überlagert...
ups, ja da war wohl noch n fehler...
aber bei mir kommt immernoch:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/pgmspace.h|1067|error:
unknown type name ‘uint_farptr_t’|
> aber bei mir kommt immernoch:
hab mir eben gcc 4.7.2 installiert - damit gehts ebenfalls. Stell mal
sicher, dass Deine avr-libc nicht korrumpiert ist. Vielleicht auch mal
von der Konsole bauen versuchen (nicht CodeBlocks - vielleicht ist da
was im Argen).
hey nochmal,
ersmal vielen dank. Und die Frage ist mir jetzt n bissel peinlich, aber
mit der terminal-befehl von gcc-avr hab ich das noch nie gemacht.
Wie sag ich denn da, dass er alle .c files in dem ordner kompielieren
soll?
ok seltsam, hat tatsächlich nicht gemeckert wegen der pgmspace.h ist die
main -datei die da jetzt erstellt wurde eigentlich das .hex file das ich
direkt mit avrdude auf n atmega übertragen kann?
Dann muss es doch aber irgendeine compiler-einstellung von code-blocks
sein... kennt jemand ne gute gui für avr-gcc für linux?
> ist die main -datei die da jetzt erstellt wurde eigentlich das .hex file> das ich direkt mit avrdude auf n atmega übertragen kann?
Nein, aber fast(tm):
1
$ avr-objcopy -O ihex main main.hex
> Dann muss es doch aber irgendeine compiler-einstellung von code-blocks> sein... kennt jemand ne gute gui für avr-gcc für linux?
könnte auch eine der temporären Dateien sein. Wirf mal bin/ und obj/
weg. ..afair auch noch *.depend und *.layout..
ok danke für den befehl.
das mit den löschen von den ordnern/files hat leider nichts gebracht.
hab jetzt auch schon alles einstellung bei "Build options" unter
code-blocks so eingestellt wie in der in dem gcc-avr-befehl ( bis auf
das -o (kann ich nicht finden)) und kommt immernoch der befehl...
seltsam seltsam...
ok... 'räusper.. muss zugeben, dass von dem code ziemlich viel hier vom
forum und auch von anderen libraries kopiert hab. daher die frage, was
sind EEPROM-Automatismen?
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/pgmspace.h|1067|error:
unknown type name ‘uint_farptr_t’|
War bei Mir ein Fehler auf Debian in Codeblocks und konnte so behoben
werden:
1.) Konsole Öffnen
2.) Befehl "sudo pico /usr/lib/avr/include/avr/pgmspace.h"
3.) <inttypes.h> mit "../inttypes.h" ersetzen
4.) STRG+X Y ENTER
wäre es nicht besser den den korrekten Fundort zum Suchpfad
hinzuzufügen. So müssen die Headerdateien nicht geändert werden und es
funktioniert auch bei einer neuen Version der Lib's.
Das Problem taucht bei Codeblocks wohl auch auf, weil es auf die falsche
inttypes.h zugreift.