华人操作系统项目列表 使用SkyEye来模拟运行RT-Thread


使用SkyEye来模拟运行RT-Thread [win32]

本文将说明如何在Win32环境下搭建RT-Thread的开发环境及如何使用skyeye来模拟运行/调试RT-Thread。

Win32开发环境的搭建
当前RT-Thread只支持ARM7TDMI平台,所以也需要一个交叉编译平台,来在Windows系统上生成具备ARM指令的操作系统二进制文件。Windows平台上用得比较多的是ADS或RealView中的ARM编译器,由于这两套平台都是商业化的系统,所以RT-Thread并没有选择它们,而是采用了支持更多不同CPU的GNU gcc平台,也就是GNU系统了。

在Windows平台上为了获得GNU的环境,需要安装额外的软件,为了简化安装,这里选择了Windows平台下最小的GNU环境:MSys,先请安装Msys,下载地址:
http://heanet.dl.sourceforge.net/sourceforge/mingw/MSYS-1.0.10.exe

安装截图如下:


对于初次使用Msys,建议采用默认选择,安装在C盘。
安装过程中会跳出一个命令行窗口,如下:

请直接选择n

然后随意按一键继续。MSys就算安装完成了。

它会在开始菜单中生成一个菜单:

运行msys,会出现类似linux rxvt的终端窗口:


安装ARM交叉编译器
ARM交叉编译器是配合Msys一起使用的,请到如下网址下载:
http://gro.clinux.org/frs/download.php/1335/arm-elf-0.1.zip
这是一个zip压缩,请解压后放到Msys的安装目录(默认Msys安装目录是C:\msys\1.0)

Msys和ARM交叉编译器的目录结构最终应该是这样的。

在Msys的终端窗口中输入/arm-elf/bin/arm-elf-gcc –v 应该会有如下输出:


开始RT-Thread
请先下载RT-Thread v0.2.1源代码,下载地址:http://openlab.rt-thread.com/rtt-download/rtt-0.2.1.tar.bz2,并放置到D:盘根目录下

在Msys终端中请运行如下命令行来解压缩源代码:
[code:1]cd /d/
tar jxvf rtt-0.2.1.tar.bz2[/code:1]


编译RT-Thread
进入到rtt的目录,设置好ARM 交叉编译器的路径,运行make即可:
[code:1]cd /d/rtt-0.2.1
export PATH=/arm-elf/bin:$PATH
make[/code:1]

稍微等待几分钟,编译出来的RT-Thread操作系统映像文件将成功的产生。

使用Skyeye运行RT-Thread
请先安装下载skyeye的windows二进制文件:http://gro.clinux.org/frs/download.php/1135/skyeye0.9.5.win32.rar
解压后应有skyeye.bat,运行它

请打开RT-Thread的内核映像文件: D:/rtt-0.2.1/kernel/bsp/lumit4510/rtthread-lumit4510

点击 [Run]

到这里已经进入到skyeye中了,再继续输入run

现在RT-Thread就启动起来了。

在rtt-0.2.1\kernel\testsuite下还有更多的内核映像例子,也可以用同样的方法加载。

使用skyeye调试RT-Thread

请直接运行skyeye.win32\bin\skyinsight.exe (不经过skyeye.bat),如下图所示

用File->Open菜单打开D:/rtt-0.2.1/kernel/bsp/lumit4510/rtthread-lumit4510
用View->Console菜单打开调试控制台
并输入
[code:1]target sim
load
b rtthread_startup[/code:1]

如下图所示

然后输入run,开始运行,RT-Thread启动后会自动停留在rtthread_startup位置处:


到这一步就可以开始单步调试,运行RT-Thread了(提示一点,不要在skyeyeinsight中一直运行下去,因为它不能中途断下来,请在运行的路径中设置断点)。

在 Ubuntu 上的编译和模拟方法:

    安装软件
        下载并安装 Sourcery G++ Lite
        安装 SCons :

        代码: 全选
            # apt-get install scons

        安装客制化的 qemu-system-arm
            下载源码:

            代码: 全选
                $ git clone git://repo.or.cz/qemu/mini2440.git mini2440-qemu

            下载上面的补丁并打上:

            代码: 全选
                $ patch -d mini2440-qemu/ -p1 <mini2440.patch

            安装依赖库:

            代码: 全选
                # apt-get install zlib1g-dev
                # apt-get install libsdl-gfx1.2-dev libsdl1.2-dev

            编译

            代码: 全选
                $ cd mini2440-qemu
                $ ./configure --target-list=arm-softmmu
                $ make

    下载 RT-Thread 源码:

    代码: 全选
        $ svn checkout http://rt-thread.googlecode.com/svn/trunk/ rt-thread

    修改文件 rt-thread/bsp/mini2440/rtconfig.py :指定 CodeSourcery 编译器所在的正确位置

    代码: 全选
        if  CROSS_TOOL == 'gcc':
           PLATFORM    = 'gcc'
        #   EXEC_PATH    = 'E:/Program Files/CodeSourcery/Sourcery G++ Lite/bin'
           EXEC_PATH    = '/home/user/CodeSourcery/Sourcery_G++_Lite/bin'

    编译:

    代码: 全选
        $ cd rt-thread/bsp/mini2440/
        $ scons

    解压缩 rt-thread/tools/SDCARD.zip
    可将之前编译的 qemu-system-arm 从 mini2440-qemu/arm-softmmu 拷贝至 rt-thread/tools
    进行测试
        开个终端,输入

        代码: 全选
            $ cd rt-thread/tools/
            $ ./qemu-system-arm \
               -M mini2440 $* \
               -kernel ../bsp/mini2440/rtthread-mini2440.axf \
               -show-cursor \
               -sd SDCARD \
               -serial telnet:127.0.0.1:1200,server \
               -serial file:virtualkbd

        再开个终端,输入

        代码: 全选
            $ telnet 127.0.0.1 1200


就 O 了,回头我再试试 debug 。

附件是我编译的 qemu-system-arm (64位版)。由于附件名称的限制,下载后请先改名为 7z.001 和 7z.002 ,再解压缩。


你可能感兴趣的:(windows,gcc,Path,平台,终端,编译器)