本站首页    管理页面    写新日志    退出


«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

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了。


阅读全文(6791) | 回复(1) | 编辑 | 精华
 


回复:安装并测试arm开发环境
原创空间,  软件技术,  电脑与网络

bolide(游客)发表评论于2007/2/7 23:01:40

不错!


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144778274 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号