今天,老板给了个2410的试验箱,让我搞一下。实验指导书上用的是red hat linux 9。我本不想用这个linux,年代太久了,而且也很丑,个人观点。打算用red hat enterprise 5.可是NFS挂载总是出问题。挂上后,运行主机上的程序或拷贝东西时,就卡住了!很郁闷,最后也没有解决。可能是实验箱上用的也是Linux2.4的内核的原因吧。于是我也换成了red hat linux 9(2.4内核),然后测试NFS完全OK!
在上面装了个arm-linux-gcc4.3.2,编译个hello,world,实验箱NFS挂到主机上,运行时段错误!我怀疑是编译器版本过高所致,换成2.95.3.编译时,出现找不到cpp0,这个莫名其妙的错误。google下,把安装路径换成/usr/local/arm/2.95.3/。然后修改/etc/profile文件,在最后加上
export PATH=$PATH:/usr/local/arm/2.95.3/bin
然后source /etc/profile。测试arm-linux-gcc -v OK。测试程序,运行出现hello,world!
Makefile的写法:
# gedit Makefile &
CC = arm-linux-gcc
OBJS = hello.o
EXEC = hello
CFLAGS +=
LDFLAGS += -static
EXTRA_LIBS +=
all:$(EXEC)
$(EXEC):$(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(EXTRA_LIBS)
clean:
rm -f *.o $(EXEC)
说明 :
CC用来指定编译器
OBJS 目标文件列表
EXEC 编译后生成的可执行文件名
CFLAGS 编译参数
LDFLAGS链接参数
EXTRA_LIBS 当需要链接外部库函数如math pthread等
all 编译主入口
clean 清除编译结果
$@表示目标文件 $^ 表示所有的依赖文件 $<表示第一个依赖文件