Ich habe es mittlerweile geschafft, -mint8 auszuschalten, was die Warnungsanzahl etwas reduziert hat:
Warum KS0073_4LINES_MODE nicht definiert sein soll, verstehe ich nicht, denn das wird in lcd.c in Zeile 74 eindeutig definiert: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...
Die Boot-Funktion appBoot() sieht so aus:Code:#define KS0073_4LINES_MODE 0x09 /* |0|001|0000 4-bit mode, extension-bit RE = 0 */
In jeder Task (8 Stück) wird nur gewartet:Code:void appBoot(void) { lcd_init(LCD_DISP_ON); lcd_puts("Staubsaugerrobot"); lcd_gotoxy(0, 1); lcd_puts("FemtoOS 0.92"); }
Leider bleibt das LCD immer noch leer, die Anfangsmeldung müsste ja die ganze Zeit zu sehen sein...Code:#if (preTaskDefined(MainTask)) void appLoop_MainTask(void) { while(true) { taskDelayFromNow(430U); } } #endif
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...







Zitieren

Lesezeichen