Ich habe es mittlerweile geschafft, -mint8 auszuschalten, was die Warnungsanzahl etwas reduziert hat:
Code:
[...]
avr-gcc -I"W:\Ich\Roboter\FemtoOS_0.92\IDE\studioprojects\FemtoOS_Staubsaugerroboter\..\..\..\MainCode\femtoos_headers" -I"W:\Ich\Roboter\FemtoOS_0.92\IDE\studioprojects\FemtoOS_Staubsaugerroboter\..\..\..\MainCode\femtoos_devices" -I"W:\Ich\Roboter\FemtoO
S_0.92\IDE\studioprojects\FemtoOS_Staubsaugerroboter\." -mmcu=atmega48 -Wall -gdwarf-2 -Wl,--defsym=__stack=xOS+xOSstackShift --param inline-call-cost=2 -ffunction-sections -Wl,--gc-sections -Wl,--relax -Wno-main -Winline -Wundef -fomit-frame-pointer -DF_
CPU=8000000UL -Os -funsigned-char -fpack-struct -fshort-enums -MD -MP -MT lcd.o -MF dep/lcd.o.d -c ../lcdlibrary/lcd.c
../lcdlibrary/lcd.c:596:5: warning: "KS0073_4LINES_MODE" is not defined
../lcdlibrary/lcd.c: In function 'lcd_waitbusy':
../lcdlibrary/lcd.c:96: warning: inlining failed in call to '_delayFourCycles': optimizing for size and code size would grow
../lcdlibrary/lcd.c:294: warning: called from here
../lcdlibrary/lcd.c: In function 'lcd_init':
../lcdlibrary/lcd.c:96: warning: inlining failed in call to '_delayFourCycles': optimizing for size and code size would grow
../lcdlibrary/lcd.c:556: warning: called from here
../lcdlibrary/lcd.c:96: warning: inlining failed in call to '_delayFourCycles': optimizing for size and code size would grow
../lcdlibrary/lcd.c:562: warning: called from here
../lcdlibrary/lcd.c:96: warning: inlining failed in call to '_delayFourCycles': optimizing for size and code size would grow
../lcdlibrary/lcd.c:566: warning: called from here
../lcdlibrary/lcd.c:96: warning: inlining failed in call to '_delayFourCycles': optimizing for size and code size would grow
../lcdlibrary/lcd.c:570: warning: called from here
../lcdlibrary/lcd.c:96: warning: inlining failed in call to '_delayFourCycles': optimizing for size and code size would grow
../lcdlibrary/lcd.c:575: warning: called from here
avr-gcc -mmcu=atmega48 -Wl,--defsym=__stack=xOS+xOSstackShift --param inline-call-cost=2 -ffunction-sections -Wl,--gc-sections -Wl,--relax -Wno-main -Winline -Wundef -fomit-frame-pointer -Wl,-Map=FemtoOS_FlashLeds.map femtoos_startup.o femtoos_port.o femt
oos_shared.o femtoos_core.o code_TestFlashLeds.o lcd.o -o FemtoOS_FlashLeds.elf
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature FemtoOS_FlashLeds.elf FemtoOS_FlashLeds.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex FemtoOS_FlashLeds.elf FemtoOS_FlashLeds.eep || exit 0
avr-objdump -h -S FemtoOS_FlashLeds.elf > FemtoOS_FlashLeds.lss
[...]
Build succeeded with 13 Warnings...
Warum KS0073_4LINES_MODE nicht definiert sein soll, verstehe ich nicht, denn das wird in lcd.c in Zeile 74 eindeutig definiert:
Code:
#define KS0073_4LINES_MODE 0x09 /* |0|001|0000 4-bit mode, extension-bit RE = 0 */
Die Boot-Funktion appBoot() sieht so aus:
Code:
void appBoot(void)
{
lcd_init(LCD_DISP_ON);
lcd_puts("Staubsaugerrobot");
lcd_gotoxy(0, 1);
lcd_puts("FemtoOS 0.92");
}
In jeder Task (8 Stück) wird nur gewartet:
Code:
#if (preTaskDefined(MainTask))
void appLoop_MainTask(void)
{
while(true)
{
taskDelayFromNow(430U);
}
}
#endif
Leider bleibt das LCD immer noch leer, die Anfangsmeldung müsste ja die ganze Zeit zu sehen sein...
Hat jemand so viel Ahnung von FemtoOS, dass er mir sagen kann, was ich noch falsch mache?
PS: Sorry für so viel Code, aber ich denke das ist notwendig...
Lesezeichen