Hallo Osser,
vielen Dank für Deine Mühe.
Das Programm läuft jetzt auch mit relativen Pfaden. Für mich ist das eine große Hilfe, weil ich Dein Programm auf verschiedenen Rechnern nutze und von einem USB-Stick starte.
Leider gibt es immer noch Ärger mit dem Betriebssystem. Auf WinXP läuft (fast) alles wunderbar. Auf WinMe läuft das Programm, aber das Compilieren und das Reinigen von überflüssigen Dateien funktioniert nicht. Der Rechner hängt sich auf. Ich denke, irgendein Befehl im makefile bringt Me ins Rotieren, aber ich kenne mich da einfach zu wenig aus.
Mit einem weiteren Problem komme ich ebenfalls nicht zurecht:
Hier ein ganz einfaches (Programm-)Beispiel:
Code:
#include "asuro.h"
int main(void) {
Init();
BackLED(ON,ON);
while (1);
return 0;
}
Bei Compilieren erhalte ich folgende Fehlermeldung:
Code:
Session Environment Variables:
AF_AVRDIR=G:\Programme\Asuro\WinAVR\Compiler\
AF_PROJECT=Project1
AF_SOURCE_FILES=new.c
AF_ASM_SRC_FILES=
AF_PRGDIR=G:\Programme\Asuro\WinAVR
File new.c saved.
Default make_all.cmd file created.
Default makefile created.
Make
G:\Programme\Asuro\WinAVR\Test1>G:\Programme\Asuro\WinAVR\Compiler\\utils\bin\make.exe all
G:\Programme\Asuro\WinAVR\Compiler\\utils\bin\make.exe: *** Warning: File `makefile' has modification time in the future (2007-06-24 13:02:36 > 2007-06-24 13:02:34)
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=new.lst -IG:\Programme\Asuro\WinAVR\include new.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > new.d; \
[ -s new.d ] || rm -f new.d
make.exe: *** Warning: File `new.d' has modification time in the future (2007-06-24 13:02:38 > 2007-06-24 13:02:36)
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Size before:
Project1.elf :
section size addr
.text 1518 0
.data 0 8388704
.bss 1 8388704
.noinit 0 8388705
.eeprom 0 8454144
.stab 2808 0
.stabstr 1832 0
Total 6159
avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=new.lst -IG:\Programme\Asuro\WinAVR\include new.c -o new.o
avr-gcc -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=new.o -IG:\Programme\Asuro\WinAVR\include new.o --output Project1.elf -Wl,-Map=Project1.map,--cref -IG:\Programme\Asuro\WinAVR\lib -lm
new.o(.text+0x8): In function `main':
G:\Programme\Asuro\WinAVR\Test1/new.c:5: undefined reference to `Init'
new.o(.text+0xe):G:\Programme\Asuro\WinAVR\Test1/new.c:6: undefined reference to `BackLED'
make.exe: *** [Project1.elf] Error 1
ExitCode 2
Ready.
Wenn ich in die erste Programmzeile #include "asuro.c" schreibe, funktioniert das Compilieren. Ich benutze die alte Version 3.3.1, aber auch ein Testlauf mit einer neueren Version hat nix gebracht.
Die Originalversion von Arexx, bei der sich das makefile bereits im Programmordner befindet und durch die Datei Test-all.bat gestartet wird, läuft.
Viele Grüße
Ulli
Lesezeichen