Bonjour,
J'ai un soucis avec ma cross-compilation.
J'ai programmé un driver pour une application temps réel.
J'ai plusieurs fichiers .c et .h, j'ai créé un Makefile pour compiler ces fichiers sources. Le voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 #************************************************************************************************ # MAKEFILE #************************************************************************************************ LD = ppc_85xx-ld CC = ppc_85xx-gcc DEFBLOCKING = 20 CFLAGS = $(includedir) \ -DDEFBLOCKING=$(DEFBLOCKING) \ -nostdinc -isystem /opt/eldk/eldk_powerpc/usr/lib/gcc/powerpc-linux/4.0.0/include \ -D__KERNEL__ -Iinclude -include /local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include/linux/autoconf.h \ -Iarch/ppc \ -msoft-float -pipe -ffixed-r2 -mmultiple -mno-altivec -Wa,-me500 \ -fomit-frame-pointer -g \ -D__IN_RTNET__ \ -I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include/xenomai \ -I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/rtnet-0.9.8/stack/include \ -I/home/to87771/gianfar \ -DMODULE \ -D"KBUILD_STR(s)=\#s" \ -D"KBUILD_BASENAME=KBUILD_STR(gianfar)" \ -D"KBUILD_MODNAME=KBUILD_STR(rt_gianfar)" SRC := gianfar.c \ gianfar_ethtool.c \ gianfar_mii.c \ gianfar_sysfs.c \ rt_gianfar.mod.c OBJ := gianfar.o \ gianfar_ethtool.o \ gianfar_mii.o \ gianfar_sysfs.o \ rt_gianfar.mod.o \ rt_gianfar.o includedir = -I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/arch/ppc/include \ -I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include \ -I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include/asm \ -I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include/asm-powerpc \ -I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/rtnet-0.9.8/stack/include \ -I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/arch/ppc/ \ -I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include/xenomai FLAGS = -MM $^ -Wall -Wstrict-prototypes gianfar_driver : $(OBJ) gianfar.o : gianfar.c gianfar.h $(deps_/home/to87771/gianfar/gianfar.o) $(CC) $(SYSTEM) $(FLAGS) $(CFLAGS) -o /home/to87771/gianfar/gianfar.o gianfar.c gianfar_ethtool.o : gianfar_ethtool.c $(deps_/home/to87771/gianfar/gianfar_ethtool.o) $(CC) $(SYSTEM) $(FLAGS) $(CFLAGS) -o /home/to87771/gianfar/gianfar_ethtool.o gianfar_ethtool.c gianfar_mii.o : gianfar_mii.c gianfar_mii.h $(deps_/home/to87771/gianfar/gianfar_mii.o) $(CC) $(SYSTEM) $(FLAGS) $(CFLAGS) -o /home/to87771/gianfar/gianfar_mii.o gianfar_mii.c gianfar_sysfs.o : gianfar_sysfs.c $(deps_/home/to87771/gianfar/gianfar_sysfs.o) $(CC) $(SYSTEM) $(FLAGS) $(CFLAGS) -o /home/to87771/gianfar/gianfar_sysfs.o gianfar_sysfs.c rt_gianfar.mod.o : rt_gianfar.mod.c $(deps_/home/to87771/gianfar/rt_gianfar.mod.o) $(CC) $(SYSTEM) $(FLAGS) $(CFLAGS) -o /home/to87771/gianfar/rt_gianfar.mod.o rt_gianfar.mod.c rt_gianfar.o : $(LD) -r -o /home/to87771/gianfar/rt_gianfar.o \ /home/to87771/gianfar/gianfar.o \ /home/to87771/gianfar/gianfar_ethtool.o \ /home/to87771/gianfar/gianfar_mii.o \ /home/to87771/gianfar/gianfar_sysfs.o \ /home/to87771/gianfar/rt_gianfar.mod.o
Le problème est le suivant : Je réalise une compilation gcc qui fonctionne et fournit les fichiers .o mais quand il s'agit de créer rt_gianfar.o j'ai l'erreur suivante :
Quelqu'un peut il m'aider??ppc_85xx-gcc : gianfar.o: file format not recognized; treating as linker script
ppc_85xx-ld : gianfar.o.1: parse error
Partager