分类: LINUX
2009-05-31 10:09:00
第四章 μC/OS-II和μClinux源码设计
SkyEye
把SkyEye的二进制文件从cygwin的根目录下解开既可使用。如选择把cygwin安装到的F盘下。则执行cygwin bash shell后的仿unix环境的根目录“/”实际上就是f:\cygwin目录。
具体做法如下:把二进制文件skyeye-0.1.bin.cygwin.1.3.17.t ar.bz2下载并拷贝到目录下后,在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”,如果出现了下图4.1所示界面,则表示安装成功。然后输入q退出skyeye。
图4.1 skyeye的二进制文件运行界面
假设要把μC/OS-II源码调试环境建立在“”目录下。把μC/OS-II for SkyEye VerA 源码 ucosii-verA-skyeye-1.0.tar.bz2或 μC/OS-II for SkyEye VerB源码 ucosii-verA-skyeye-1.0.tar.bz2解压到下:
如以μC/OS-II for SkyEye VerA为例:
把ucosii-verA-skyeye-1.0.tar.bz2下载并拷贝到目录下,则执行cygwin bash shell后的仿unix环境的根目录“/tmp”实际上就是目录。然后在cygwin bash shell环境下执行如下命令:
#mkdir /tmp/ucos ;在tmp下新建一个名为ucos的文件夹
#cd /tmp/ucos
#tar jxvf ../ucosii-verA-skyeye-1.0.tar.bz2
执行后出现下图所示得以完成。
图4.2 解压μC/OS-II for SkyEye VerA的源码文件
然后把执行文件 ucosii-verA.elf下载下来并拷贝到下。
假设要把μClinux源码调试环境建立在“/tmp/uclinux/uClinux-dist-20020816”目录下。
具体步骤如下:需把uclinux-2.4.x精简压缩包uclinux.lightsrc.tar.bz2下载并拷贝到目录,即cygwin环境的目录”/tmp”,解压uclinux-2.4.x精简压缩包,命令如下:
#cd /tmp
#tar jxvf uclinux.lightsrc.tar.bz2
出现如图所示,则μClinux相关文件就安装到“/tmp/uclinux/uClinux-dist-20020816”目录下了。因为内存布局配置文件memmap.conf所在目录应和当前执行skyeye以仿真μclinux嵌入式系统环境的目录要等同。所以还要下载 uclinuxmemmap.conf并将它拷贝到d:\cygwin\tmp\uclinux\uClinux-dist-20020816下,并在cgywin环境下执行改名命令:
#cd /tmp/uclinux/uClinux-dist-20020816/
#mv uclinuxmemmap.conf memmap.conf ;修改配置文件名为memmap.conf
图4.3 解压uclinux-2.4.x精简压缩包
也可将uclinux-2.4.x精简压缩包解压到其它文件下,例如,你想把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文件到/usr/local/uclinux下。
在cygwin bash shell 环境下执行如下操作:
#cd /tmp/ucos/sourcecode
#skyeye
在skyeye环境中执行:
#file ucosii-verA.elf(如果建立的是μcosii-verB环境,则执行file ucosii-verB.elf);指定要调试的可执行程序ucosii-verA.elf
#target sim ;对目标文件进行仿真
#load ;加载目标文件
#run ;执行当前的可执行程序
进入一下界面中,如图4.3所示。
图4.4 调试μC/OS-II运行界面
然后你可以用”Ctrl-C”中断μC/OS-II的执行,通过命令
#p x ;打印x的值到标准输出
#p y ;打印y的值到标准输出
可以查看task1对x的修改情况,和task2对y的修改情况,通过命令
#p OSCtxSwCtr
可以查看μC/OS-II执行上下文切换的次数。然后输入q退出μC/OS-II环境,如下图4.4所示。
图4.5 μC/OS-II调试界面
在cygwin bash shell环境下执行如下操作:
#cd /tmp/uclinux/uClinux-dist-20020816
#skyeye
在skyeye环境中执行:
#file linux-2.4.x/linux ;指定要调试的可执行程序
#target sim ;对目标文件进行仿真
#load ;加载目标文件
图4.6加载linux-2.4.x/linux的目标文件
#run ;执行当前的可执行程序
图4.7μClinux的启动画面
这时可以看到μClinux的启动画面,如图4.3所示。
按Ctrl+C键可以退出μClinux的运行环境进入skyeye的环境中,输入q退出skyeye的调试环境。如图4.4所示。
图4.8 μClinux的退出界面
也可在μClinux的运行环境中进行相应的操作,如ls可查看当前目录信息,cd可切换目录,cat可显示文件内容,vi可进入编译器等等。