« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 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 | | | | | |
| 公告 |
戒除浮躁,读好书,交益友 |
Blog信息 |
blog名称:邢红瑞的blog 日志总数:523 评论数量:1142 留言数量:0 访问次数:9709823 建立时间:2004年12月20日 |

| |
[linux kernel]安装并测试arm开发环境 原创空间, 软件技术, 电脑与网络
邢红瑞 发表于 2005/5/25 17:13:29 |
cd ~ 回到自己profile目录 cd - 回到刚才的目录从uclinux下载arm-elf-tools-20030314.sh运行sudo ./arm-elf-tools-20030314.sh在redhat平台下出现tail: cannot open `+43' for reading: No such file or directory提示信息时修改39行tail +${SKIP} ${SCRIPT} | gunzip | tar xvf -为tail -n+${SKIP} ${SCRIPT} | gunzip | tar xvf -建议使用较新的开发工具arm-uclinux-elf-tools-base-gcc3.4.3-20050722.sharm-uclinux-elf-tools-c++-gcc3.4.3-20050722.sharm-uclinux-elf-tools-gdb-20050722.sh运行sudo sh ./arm-uclinux-elf-tools-base-gcc3.4.3-20050722.shsudo sh ./arm-uclinux-elf-tools-c++-gcc3.4.3-20050722.shsudo sh ./arm-uclinux-elf-tools-gdb-20050722.sh连接(因为debian一直是sudo 运行)sudo ln -s /usr/local/arm-uclinux-tools2/bin/arm-uclinux-elf-* /usr/local/bin/加入path到profile文件 (ubutu可以不用)export PATH=/usr/local/arm-uclinux-tools2/bin:$PATH
测试arm-elf-gcc编译器建立hello.c文件sudo nano hello.c输入以下内容#include <stdio.h>int main(void) { int i;
for(i = 0; i < 6; i++){
printf("i = %d ",i);
printf("Hello, embedded linux!\n"); }
return 0;}编译sudo arm-elf-gcc -Wl,-elf2flt -o hello hello.c如果编译通过,就会产生hello可执行文件file hello出现hello: BFLT executable - version 4 ram信息是BFLT(binary FLAT),你目标平台所支持的文件格式或者写Makefile文件sudo nano Makefile输入以下内容# begin
CC = arm-elf-gcc
CFLAGS = -D__PIC__ -fpic -msingle-pic-base -O2 -pipe -Wall -gLDFLAGS = -Wl,-elf2flt
LIBS =OBJS = hello.o
all: hello
hello: $(OBJS) $(CC) $(CFLAGS) $(LDFLAGS) -o hello $(OBJS) $(LIBS)
clean: rm -rf *.o *.elf *.gdb hello
# end然后make运行 在debian下安装SkyEye是件痛苦事情下载skyeye-1.2-RC8.tar.bz2
sudo mv /home/hongrui/skyeye-1.2-RC8.tar.bz2 .解压缩sudo tar -jxvf skyeye-1.2-RC8.tar.bz2安装sudo apt-get install configure如果没有安装其他的开发文件,请安装sudo apt-get install binutils-devsudo apt-get install libgtk2.0-devLinux (Debian)下运行make NO_DBCT=1cd binary/skyeye -h表示skyeye安装成功
编译uclinux下载uClinux-dist-20040408.tar.gz但是不要从uclinux下载,会很慢的.sudo tar -zxf uClinux-dist-20040408.tar.gz进入生成的uClinux-dist目录cd uClinux-dist/安装ncurses库sudo apt-get install libncurses-dev可以使用make xconfig - 图形配置模式,make menuconfig - 菜单模式配置,方式来配置uClinux. 在uClinux-dist目录下执行: sudo make menuconfig建议在linux中运行,使用secrt无法看清楚选中的颜色在Target Platform Selection选项卡中选择: Vendor/Product: GDB/ARMulator Kernel Version: linux-2.4.x Libc Version: uC-libc 随便写个名字,然后选择save and exit成配置后,可以使用make dep建立内核依赖关系,然后使用make编译内核和文件系统sudo make dep然后编译sudo make在uClinux-dist目录下的images目录里会建立如下几个文件: image.bin linux.data linux.text. romfs.img 该romfs.img就是我们需要的文件系统映象了 同时,在uClinux-dist/linux-2.4.x/目录下会生成linux,该文件是一个我们需要模拟的内核文件skyeye软件来模拟uClinux系统,在uClinux-dist目录下建立一个名为skyeye.conf的配置文件。sudo nano skyeye.conf加入一下内容mach: at91 mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000 mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000 mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=images/romfs.img mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000 mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000 mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000 mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000 lcd: state=on保存退出建立启动文件sudo nano start.sh/arm/test/skyeye-v1/binary/skyeye -e linux-2.4.x/linuxsudo sh ./start.sh注意加./,linux中没有本级目录对于skyeye.conf文件的一点说明 对于skyeye-v0.2.5版本之前的skyeye使用的是memmap.conf文件,而之后的是使用skyeye.conf文件 cpu: 指定CPU类型,如arm7tdmi,arm720t等 mach: 开发板类型,如at91, ep7312 mem_bank: 内存块 map=M 指定为rom/ram, map=I 指定为IO空间 type=RW 可读写,type=R 只读 addr=0x00000000 内存块开始地址 size=0x10000000 内存块大小 files=romfs.img 文件系统映象文件 net: 网络配置 state=on 模拟NIC,等于off则不模拟 mac=0:4:3:2:1:f 指定MAC地址 ethmod=tuntap/vnet 使用虚拟驱动 hostip= 指定ip地址 例如:net: state = on, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1
uart: 串口支持 fd_in= 指定输入文件 fd_out= 指定输出文件 例如:uart: fd_in=/dev/ttyS0, fd_out=/dev/ttyS1 则你可以使用minicon来监听COM1口来进行数据交换
LCD:LCD模拟 state = on/off 打开或者关闭LCD模拟
4.SkyEye调试功能 要使用SkeyEye调试功能,可以在执行的时候加入-d参数,例如: $skyeye -e linux -d 这时就在本机的12345端口开启了gdb服务
这时重新开一个终端程序 $arm-elf-gdb linux (gdb)target remote 127.0.0.1:12345 此时就可以象使用本地gdb一样来调试服务端的uClinux了。 |
|
回复:安装并测试arm开发环境 原创空间, 软件技术, 电脑与网络
bolide(游客)发表评论于2007/2/7 23:01:40 |
|
» 1 »
|