SkyEye详细安装使用指南

注意 : 以下说明是针对 SkyEye 0.1.1 以前版本 , ucosii4skyeye1.4 以前版本,最新软件的安装使用说明可参考最新软件包中的相关文件( installguide.txt, readme, SkyEye.README

windows 环境下安装 SkyEye

<!-- [if !supportLists]-->1.      <!-- [endif]-->安装 cygwin

  Cygwin 是一个在 windows( 包括 windows98/windows2000/windowsXP) 下的 unix 工具集合,支持大多数 GNU 软件(如 gcc gdb xfree86,bash,tetex opengl perl,python 等)。许多以前在 unix 环境下的软件只需在 cygwin 环境下重新编译就可以运行了。 SkyEye 也是通过 cygwin 的支持实现了可同时在 windows linux 上运行。

  目前最新的 Cygwin 版本为 1.3.17(2002-11-28) ,整个环境(包括所有的工具和 xfree86 1.3GB )。大家可下载和安装最基本的环境,大约为 200~400MB 不等。目前国内提供下载的地址有:

ftp://202.38.97.230/netinst/Cygwin/

ftp://166.111.68.183/pub/Cygwin/

必须安装的子目录 sub category : (把子目录旁边的 ”default” 用鼠标点一下,直到变成 ”install”

Archive

Base

Devel :包括 gcc make 等编译工具

Libs

Net

Shells

Utils: 包括 bzip2 等实用工具

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

大家可选择较快的下载地址(希望更多的站点提供最新 cygwin ftp 访问)。

必须通过 cygwin 提供的 setup.exe 进行安装,可根据安装提示一步一步进行,提供通过 internet 安装方式或本地安装方式。建议把 cygwin 整个安装包下载到本地再进行本地安装比较方便。如果无特殊需求,可简单按它的缺省安装方式安装最少数量的软件包。建议不要安装到 c:\ 下。 cygwin 的问题和解答可参考 cygwin FAQ

<!-- [if !supportLists]-->2.      <!-- [endif]-->安装 skyeye

<!-- [if !supportLists]-->1.       <!-- [endif]--> cygwin 环境下安装二进制 skyeye

把二进制文件从 linux cygwin 的根目录下解开既可使用。如果你选择把 cygwin 安装到的 d:\cygwin 目录下。则执行 cygwin bash shell 后的仿 unix 环境的根目录“ / ”实际上就是 d:\cygwin 目录。

SkyEye-0.1 for cygwin 二进制文件 skyeye-0.1.bin.cygwin.1.3.17.tar.bz2 下载并拷贝到 d:\cygwin 目录下后,在 cygwin bash shell 环境中的根目录“ / ”下就存在了文件 skyeye-0.1.bin.cygwin.1.3.17.tar.bz2 。然后在 cygwin bash shell 环境中的的根目录“ / ”下执行:

tar jxvf skyeye-0.1.bin.cygwin.1.3.17.tar.bz2

就把 skyeye 的执行文件安装到 cygwin bash shell 环境中“ /usr/local/bin ”下。

用户可试着在根目录下执行命令“ skyeye ”,如果出现了如下显示则表示安装成功。

2. cygwin 环境下编译 skyeye

如果自己想在 cygwin 环境下编译 skyeye ,则比较麻烦,可参考 skyeye 源码包中的说明文档 buildskyeyeoncygwin.txt

<!-- [if !supportLists]-->3.      <!-- [endif]-->建立源码调试环境

A 建立 uC/OS-II 源码调试环境

注意:如果要重新编译,请选择 ucosii for skyeye 1.0.1 以上版本!

假设要把 uC/OS-II 源码调试环境建立在“ /tmp/ucos/sourcecode ”目录下。

uC/OS-II for SkyEye VerA 源码 ucosii-verA-skyeye-1.0.tar.bz2 uC/OS-II for SkyEye VerB 源码 ucosii-verA-skyeye-1.0.tar.bz2 解压到 /tmp/ucos 下:

uC/OS-II for SkyEye VerA 为例:

ucosii-verA-skyeye-1.0.tar.bz2 下载并拷贝到 d:\cygwin\tmp 目录下,则执行 cygwin bash shell 后的仿 unix 环境的根目录“ /tmp ”实际上就是 d:\cygwin\tmp 目录。

然后在 cygwin bash shell 环境下执行如下命令:

mkdir /tmp/ucos

cd /tmp/ucos

tar jxvf ../ucosii-verA-skyeye-1.0.tar.bz2

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

然后把 uC/OS-II for SkyEye VerA 执行文件 ucosii-verA.elf 拷贝到 d:\cygwin\tmp\ucos\sourcecode

最后把 uC/OS-II内存布局配置文件 拷贝到 d:\cygwin\tmp\ucos\sourcecode 下,并在 cgywin 环境下执行改名命令:

cd /tmp/ucos/sourcecode/

mv ucosmemmap.conf memmap.conf

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

B 建立 uclinux 源码调试环境

假设要把 uclinux 源码调试环境建立在“ /tmp/uclinux/uClinux-dist-20020816 ”目录下。

uclinux-2.4.x 精简压缩包 uclinux.lightsrc.tar.bz2 下载并拷贝到 d:\cygwin\tmp 目录,即 cygwin 环境的目录 ”/tmp”

  解压 uclinux-2.4.x 精简压缩包,命令如下:

cd /tmp

tar jxvf uclinux.lightsrc.tar.bz2

  uclinux 相关文件就安装到“ /tmp/uclinux/uClinux-dist-20020816 ”目录下了。

  最后把 uclinux内存布局配置文件 uclinuxmemmap.conf 拷贝到 d:\cygwin\tmp\uclinux\uClinux-dist-20020816 下,并在 cgywin 环境下执行改名命令:

  cd /tmp/uclinux/uClinux-dist-20020816/

  mv uclinuxmemmap.conf memmap.conf

 

  如果 你想把 uclinux-2.4.x 精简压缩包解压到 /usr/local/ 目录下,

则把 uclinux-2.4.x 精简压缩包 uclinux.lightsrc.tar.bz2 下载并拷贝到 d:\cygwin\usr\local 目录,即 cygwin 环境的目录 ”/usr/local”

解压 uclinux-2.4.x 精简压缩包,命令如下:

cd /usr/local

tar jxvf uclinux.lightsrc.tar.bz2

  ln –s /usr/local/uclinux /tmp/uclinux

  注意: /tmp/uclinux uclinux-2.4.x 精简压缩包的缺省安装目录。

  

<!-- [if !supportLists]-->4.      <!-- [endif]-->执行调试程序

  A  调试 ucos

  cygwin 环境下执行如下操作:

cd /tmp/ucos/sourcecode

skyeye

skyeye 环境中执行 :

file ucosii-verA.elf   (如果建立的是 ucosii-verB 环境,则执行 file ucosii-verB.elf

target sim

load

run

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

然后你可以用 ”Ctrl-C” 中断 ucos 的执行,通过命令

p x

p y

可以查看 task1 x 的修改情况,和 task2 y 的修改情况,

通过命令

p OSCtxSwCtr

可以查看 ucos 执行上下文切换的次数。

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

B 调试 uclinux

cygwin 环境下执行如下操作:

cd /tmp/uclinux/uClinux-dist-20020816

skyeye

skyeye 环境中执行 :

file linux-2.4.x/linux

target sim

load

run

这时应该可以看到 uclinux 的启动画面。

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

如果需要进一步调试,需要学习 gdb 的命令使用。

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

<!-- [if !supportLists]-->5.      <!-- [endif]-->从源码生成 ucosii 的执行码

注意:

<!-- [if !supportLists]-->l       <!-- [endif]-->如果要重新编译,请选择 ucosii for skyeye 1.0.1 以上版本的源代码。

<!-- [if !supportLists]-->l       <!-- [endif]-->ucosii for skyeye 1.1 以上版本支持 printf 功能,但目前不能在 cygwin 环境下编译通过,但可在 linux 环境下编译通过后,在 cygwin 环境下执行。

<!-- [if !supportLists]-->l       <!-- [endif]-->uC/OS-II 的执行文件和源码要放在一个目录下。

<!-- [if !supportLists]-->l       <!-- [endif]-->memmap.conf 所在目录和当前执行 skyeye 的目录要等同。

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

5.1 建立 arm-tools in cygwin 环境

下载 arm-tools in cygwin 的软件包

arm-linux-binutils-cygwin-2.9.5.0.37.tgz

      arm-linux-gcc-cygwin-2.95.3.tgz

libc6-arm-cross-2.1.3-19.tgz

      libc6-dev-arm-cross-2.1.3-19.tgz

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

如果你选择把 cygwin 安装到的 d:\cygwin 目录下。则执行 cygwin bash shell 后的仿 unix 环境的根目录“ / ”实际上就是 d:\cygwin 目录。把上软件包下载并拷贝到 d:\cygwin 目录下后,在 cygwin bash shell 环境中的根目录“ / ”下就存在上述文件。然后在 cygwin bash shell 环境中的的根目录“ / ”下执行:

tar zxvf arm-linux-binutils-cygwin-2.9.5.0.37.tgz

tar zxvf arm-linux-gcc-cygwin-2.95.3.tgz

tar zxvf libc6-arm-cross-2.1.3-19.tgz

tar zxvf libc6-dev-arm-cross-2.1.3-19.tgz

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

执行命令

tar jxvf ucos_verb_skyeye-1.x.x.src.bz2

解开源码软件包

然后,你可在 ucos 的安装目录 ( 设安装目录为 ”/tmp/ucos/sourcecode”) 下执行命令:

make

则可在 ucos 的安装目录下生成 ucos.elf       ucos.s       ucos.r      ucos.n

最后在 ucos 的安装目录下执行 skyeye ,就可以调试你编译的 ucos.elf 操作系统和应用程序了(与 4 中的描述相同)。

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

注意: ucosii for skyeye 1.1 以上版本支持 printf 功能,但目前不能在 cygwin 环境下编译通过,但可在 linux 环境下编译通过后,在 cygwin 环境下执行。

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

目前提供的在 cygwin 环境下的支持 arm 的交叉编译工具集有两个。

另一个由别人制作的在 cygwin 环境下的支持 arm 的交叉编译工具集可在

ftp://166.111.68.183/pub/embed/devtool/gcc-arm-cygwin/

处下载,如果大家想在 cygwin 环境下重新编译 uclinux ,大家可以试用一下。

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

  linux 环境下安装 SkyEye

linux 还不懂如何安装吗? J

注意:

/tmp/uclinux uclinux-2.4.x 精简压缩包的缺省安装目录

建议使用 redhat7.1 以上版本的系统。

建议使用 arm-elf-tools-20011219.tar.gz 为交叉编译工具编译 arm 程序

建议使用 gcc2.96  gcc3.2 编译 skyeye

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

1 linux 下安装 skyeye ,编译并运行 ucosii for skyeye

1 linux 下安装 skyeye

解开 skyeye-0.1.1.src.tar.bz2 ,按照 SkyEye.README 介绍的步骤做 configure,make,make install

需要指出的是,在 mandrake8.2 环境中 ,make 时会有 error ,不过不是什么大问题,

error:display.c->tcap.h->termcap.h:no such file or directory

在本机 /usr/include find 一下, termcap.h 头文件在 /usr/include/ncurses 目录下,

termcap.h 中的 <termcap.h> 改成 <ncurses/termcap.h>

重新执行 make ok 了。

执行 make install 命令后, skyeye 默认安装在 /usr/local/bin/ 目录下,你可以通过改 configure 命令参数 prefix 来改变安装路径。

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

2 安装 arm 交叉编译器

下载 arm-elf-tools-20011219.tar.gz

arm-elf-tools-20011219.tar.gz 在本机的根目录下用 tar 命令解开,

则相关软件安装在 /usr/local/bin /usr/local/arm-elf 目录下。

3 编译 ucosii for skyeye

  下载 ucosii for skyeye 源代码

注意: 1.1 以上版本支持 printf 功能

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

执行命令

tar jxvf ucos_verb_skyeye-1.x.x.src.bz2

解开源码软件包

然后,你可在 ucos 的安装目录 ( 设安装目录为 ”/tmp/ucos/sourcecode”) 下执行命令:

make

则可在 ucos 的安装目录下生成 ucos.elf       ucos.s      ucos.r      ucos.n

最后在 ucos 的安装目录下执行 skyeye ,就可以调试你编译的 ucos.elf 操作系统和应用程序了。

2 mandrake linux8.2 下安装 skyeye 并运行 uClinux-dist-20020927.tar.gz

感谢 star 提供的 SkyEye linux 上的安装使用过程描述

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

运行环境: mandrake linux8.2

源码包及其他所需文件: ftp://202.99.11.120/pub/mirrors/skyeye/ ftp://166.111.68.183/pub/embed /

skyeye-0.1.1.src.tar.bz2

arm-elf-tools-20011219.tar.gz

uClinux-dist-20020927.tar.gz

romfs.2.4.x.gz

uclinuxmemmap.conf

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

1 linux 下安装 skyeye

<!-- [if !supportEmptyParas]--> <!-- [endif]-->

2 编译 uclinux

先安装交叉编译器,将 arm-elf-tools-20011219.tar.gz 在本机的根目录下 tar 开,解到 /usr/local/arm-elf 目录下。

uClinux-dist-20020927.tar.gz 解开,比如解开在 /usr/src/uclinux-dist/ 下,然后在 /usr/src/uclinux-dist/ 目录下执行如下命令:

在图形方式下可用命令 make xconfig 在命令行方式下可用命令 make menuconfig

vendor/product 中选择 GDB/ARMulator kernel 版本选择 2.4,save and exit.

------------------------------------------------------------------------------------------------------------------------------------------------

方案 A

如果带调试信息的 linux kernel 执行文件

make dep;make linux

这时在 /usr/src/uclinux-dist/linux-2.4.x 目录下生成 linux 文件

方案 B

如果想一步生成带调试信息的 linux kernel 执行文件和 linux kenel 执行文件映像和磁盘映像文件 romfs.img

可简单是运行命令 make dep; make 就行了。可查看 /usr/src/uclinux-dist/images/ 下是否有文件 romfs.img

-------------------------------------------------------------------------------------------------------------------------------------------------

/usr/src/uclinux-dist 目录下,

cp ulinuxmemmap.conf memmap.conf

------------------------------------------------------------------------------------------------------------------------------------------------

方案 A

gunzip romfs.2.4.x.gz

cp romfs.2.4.x boot.rom

romfs.2.4.x 其实就是磁盘映像文件。

方案 B

也可以在 /usr/src/uclinux-dist make romfs ;make image 来生成 romfs.img

如果想使用自己编译的 romfs.img ,则在目录 /usr/src/uclinux-dist 下执行命令

ln –s images/romfs.img boot.rom

-------------------------------------------------------------------------------------------------------------------------------------------------

这个时候就可以用 skyeye 来调试运行 kernel 了,在 /usr/src/linux-dist

skyeye linux-2.4.x/linux

(gdb)target sim

(gdb)load

(gdb)run

kernel start.....

注意要在 memmap.conf boot.rom 所在目录下执行 skyeye

你可以在 run 之前给 kernel 设置断点来调试。目前 skyeye 支持的 <span styl

你可能感兴趣的:(linux,unix,gcc,OS,bash)