PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NIBOLIB2.7 - gfxtest.c



Hero_123
29.08.2010, 18:38
Hallo

ich habe die NIBOLIB 2.7 (nibolib-20100412.msi) installiert und wollte "gxftest" mal auf meinen NIBO2 laden. Im directory gfxtest sind alle nötigen files (die *.xbm, die 2 c-files und das h-file), das Programm lässt sich auch kompilieren, erhalte aber 4 warnungen:
images.c:37: warning: pointer targets in return differ in signedness
images.c:38: warning: pointer targets in return differ in signedness
images.c:39: warning: pointer targets in return differ in signedness
images.c:38: warning: pointer targets in return differ in signedness

unklar ist mir, wieso es zu diesen Warnungen kommt, und ob sie relevant sind.

Mein System:
Betriebssystem: WIN7 Professional
WINAVR_20100110

AVR Studio 4.18.700
GUI Version 4, 18, 0, 685
AVR Simulator 1, 0, 2, 1
ATmega128 265

Operating System
Major 6
Minor 1
PlatformID 2
Build 7600

Plugins:

AvrPluginAvrAsmObject 1, 0, 0, 48
AvrPluginavrgccplugin 1, 0, 0, 11
Stk500Dll 1, 0, 1, 15


Einstellungen AVR-Studio:

(Custom Compilation Options):
-Wall
-gdwarf-2
-std=gnu99
-pedantic
-ffreestanding
-D_NIBO_2_
-DF_CPU=16000000UL
-Os
-funsigned-char
-funsigned-bitfields
--fpack-struct
-fshort-enums

(Linker Options):
-lm -Wl,-u,vfprintf -lprintf_flt

Nochmals die gesamte Warnings-meldung:
Fehlermeldung/Warnung beim Projekt "gfxtest":
../../src/examples2/gfxtest/images.c: In function 'image_getBits':
../../src/examples2/gfxtest/images.c:37: warning: pointer targets in return differ in signedness
../../src/examples2/gfxtest/images.c:38: warning: pointer targets in return differ in signedness
../../src/examples2/gfxtest/images.c:39: warning: pointer targets in return differ in signedness
../../src/examples2/gfxtest/images.c:40: warning: pointer targets in return differ in signedness

im AVR-Studio:
source files: gfxtest.c und images.c;
other files: alle *.xbm

vielleicht sind diese warnings ja nicht relevant, aber...?

Für eine Antwort bin ich sehr dankbar

Achim S.
09.09.2010, 19:24
Hallo
hatte fast die gleichen Probleme wie du. Hab dann so lange rumgemacht bis es ging. Kann aber nicht mehr sagen was ich gemacht habe. Das Problem hatten auch andere im Netz.
Achim

Kenny5020
09.09.2010, 22:23
Also vorweg ich hab keinen NIBO, sondern nur mal kurz die lib installiert.

Die Warnings sagen ja eigentlich eh schon viel aus.

in Zeile 37,38 und 39 unterscheiden sich die return Werte von der, die die Funktion deklariert hat.

Die Funktion erwartet einen return Wert vom Typ PGM_P. Welchen Typ das Struct PGM_P hat ist wohl unter avr/pgmspace.h definiert.
Ich will mir ned noch das AVR Studio runterladen, aber vermutlich hat PGM_P den Typ int8_t, denn der Compiler bemängelt ja, dass sich die Pointer nur in ihrem Vorzeichen unterscheiden. Auf jeden Fall kann man sehen, dass nicai_logo_bits ein unsigned char-Array ist. Einfach die datei in einem Editor öffnen.

Für mich macht ehrlich gesagt eine negative Adresse keinen Sinn, aber na gut ich kenn den PGM_P Typ wie gesagt nicht.
Probleme sollte es keine geben solange die Adresse 127 nicht übersteigt. Alles darüber wird von dem einen als negativen Wert interpretiert und vom anderen als >127 bis 256.

Hero_123
12.09.2010, 08:52
Hallo Kenny5020

vielen Dank für Deine Antwort. Ich habe nachgesehen, der Typ PGM_P wird offensichtlich in der Datei pgmspace.h in "WINAVR_20100110\avr\include\avr\pgmspace.h" deklariert und da finden einige weitere Deklarationen statt. Ich muss mich da mal "durchwühlen", was da alles deklariert wird - ich bin noch ein C-Flegdling - "aber mit den Aufgaben wächst man" (hoffentlich!)

Hero_123