Ubuntu 8.04 下uClinux的编译和skyeye仿真(转)

一、 uClinux 编译环境的配置和编译

1 、下载arm-elf-toolsuClinux

 

http://www.uclinux.org/pub/uClinux/arm-elf-tools/arm-elf-tools-20030314.sh

 

http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20030305.tar.gz

 

2 、安装

1 )先切换到 root

     sudo -s -H

 

2 )安装 arm-elf-tools

export _POSIX2_VERSION=199209

 

sh ./arm-elf-tools-20030314.sh

3 uClinux 配置并编译:

更新软件包信息:

 

apt-get update

 

安装一些必备软件包:

 

apt-get install ncurses-dev

 

apt-get install tcl

 

apt-get install tk

 

解压  uClinux

 

tar zxvf   uClinux-dist-20030305.tar .gz

 

切换到 uClinux 的解压目录 , 运行下以下命令之一进行配置:

 

make menuconfig make xconfig

 

编译:

make dep

make

make image

images 目录下生成 romfs.img,linux.data,

说明:

apt-get update 为可选命令,作用是更新软件包信息,如果执行 apt-get install 命令出错,那必须先执行这个命令。

ncurses make menuconfig 时所需的安装包

tcl tk make xconfig 所需的安装包

make menuconfig make xconfig 为用菜单方式或图形界面方式配置 uClinux, 如何配置可以参考网上的其它资料,因为是用 skyey 仿真,所以只要将 Vendor/Product 选为 GDB/ARMulator ,其它的可用默认选项 , 当然在实际的配置和裁减中还是有许多其它选项要改的。

 

二、 skyeye 的安装

ubuntu 下安装 skyeye 相当简单,只要执行以下命令:

 

apt-get install skyeye

 

如果出错先执行 apt-get update

 

三、用 skyeye 仿真 uClinux

1 、先写一个测试程序,保存为hello.c

//---------------------------------hello.c----------------------------------------------------

 

#include <stdio.h>

 

int main(void)

{

    printf("hello,world/n");

    return 0;

}

//-----------------------------------------------------------------------------------------------

 

 

编译生成 flat 文件格式 的可执行文件 hello

arm-elf-gcc -Wl,-elf2flt -o hello hello.c

 

 

2 、制作romfs.img

在编译 uClinux 时已经生成了 romfs.img, 但是我们要将我们的 hello 程序加入 romfs 中,可以按下面步骤来做 ( 以下假设当前目录为 uClinux 所在目录 )

1 )首先,挂载 romfs.img

切换到 uClinux 目录下的 images 目录并建一个 romfs 目录:

 

  cd images

 

  mkdir romfs

 

创建挂载点:

 

  mkdir /mnt/romfs

      

挂载:

 

mount -o loop romfs.img /mnt/romfs

 

2 )制作 romfs.img

 

/mnt/romfs 目录下的所有文件拷贝到 images/romfs 目录下:

 

cp -r /mnt/romfs/* romfs

 

制作新的 romfs.img

 

genromfs -f romfs.img -d romfs

 

3skyeye 仿真

1 )先写一个 config 文件 skyeye.conf, 保存到 images 目录下,以下为全部内容:

cpu: arm7tdmi

 

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=./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

 

2 )仿真

转到 images 目录,执行以下命令:

 

skyeye -e ../linux-2.4.x/linux

 

熟悉的界面出现了 ,cd bin 目录,执行以下命令

 

./hello

 

出现了经典的 hello,world

 

 

到此,基本的仿真工作已经做完了,有时间再写一下 minigui embeded Qt 的编译和仿真 ,

 

 

参考资料:

 

 

http://hi.baidu.com/zkheartboy/blog/item/a73927ad3629c9094a36d6f1.htm

 

 http://forum.ubuntu.org.cn/viewtopic.php?t=88369

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值