原创 uCos-II V2.52的学习调试

2009-7-7 20:13 4439 7 8 分类: MCU/ 嵌入式

学习一种的新的东西,观看书或看论坛可不行。最主要的还是要亲自去动手体会。学习编程就是要不断的从修修改改中领会程序的奥妙。学习uCos-ii也不例外,
Jean J.Labrosse在其《嵌入式实时操作系统uC/OS-II》一书中提到用Borland C/C++ 4.5x编译器对源代码中提供的例程进行调试。通过网上相关知识的搜索学习,了解到
对uCos-ii的程序调试方法还是挺多的,下面是我总结的几种调试方法:


 方法一:
 其实调试uCos-II V2.52源程序包中的例程不一定非要Borland C/C++ 4.5版本的,如果你能从网上找到Borland C/C++ 3.1版本也是可以的,注意网上现在
Borland C/C++ 3.1有多种版本,有for DOS版本的,也有for windows版本,我们先用for DOS版本的看看吧(我这里有一个从网上论坛朋友那里得来的裁剪版BC3.1,
如果你觉得从网上搜索麻烦,可以Email给我,laizibin315@163.com)。下面是具体操作步骤:
 步骤一:将找到的BC31软件包解压,解压后有一个文件夹,文件夹名一般为BC31,也可能是BORLANDC;
 步骤二:将解压后的整个文件夹拷贝到C盘根目录下,这里假设你的源程序包SOFTWARE也在C盘根目录下;
 步骤三:修改拷贝到C盘的BC31软件包的文件夹名称为BC45,因为源程序包中默认的编译器路径是C:\BC45,在这里是为了偷一个懒不去修改
C:\SOFTWARE\uCOS-II\EX1_x86L\BC45\TEST\下的相关编译链接处理文件;
 步骤四:上面的工作准备好以后,我们就可以修改一下例程看看效果了,比如我们用记事本打开TEST.C文件,修改函数static  void  TaskStartDispInit (void)
中的第三个PC_DispStr()函数的形参:
 PC_DispStr( 0,  2, "                                                                                ", DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);
 改为
 PC_DispStr( 0,  2, "                                   (Zibin Lai)                                  ", DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);
注意修改完成代码之后别忘了保存,不然你是不会看到现象的变化的,这个“马虎”经常会在我们的工作或是学习中发生,特别是急躁的时候,常常还埋怨:“这太不可思议了”。
 步骤五:运行批处理MAKETEST.BAT.即双击C:\SOFTWARE\uCOS-II\EX1_x86L\BC45\TEST\下的MAKETEST.BAT即可将我们修改的程序编译成可执行的新的TEST.EXE文件;
 步骤六:在DOS环境下运行TEST.EXE,你会看到在显示窗口的第三行比原来多了一串(Zibin Lai)字符。


 方法二:
 不修改软件包的文件夹名BC31,通过修改配置文件实现。
 步骤一:同方法一;
 步骤二:同方法一;
 步骤三:首先找到批处理文件MAKETEST.BAT(在\SOFTWARE\uCOS-II\EX1_x86L\BC45\TEST\中),用记事本打开,将其中的指令行C:\BC45\BIN\MAKE -f TEST.MAK(如果是
原版的话在倒数第二行)修改为C:\BC31\BIN\MAKE -f TEST.MAK;然后找到TEST.MAK文件(在\SOFTWARE\uCOS-II\EX1_x86L\BC45\TEST\),用记事本打开,将第一行指令
BORLAND=C:\BC45修改为BORLAND=C:\BC31。如果你的uCos-ii的软件包解压的路径是默认的C盘,那么修改这两个地方就OK了。
 步骤四、五、六同方法一。


 方法三:
 下载一个Borland C/C++ 4.5编译器。这个对我们来说操作起来就没有疑问了吧。


 方法四:
 用Borland C/C++ 4.5 for windows 或Borland C/C++ 3.1 for windows,自己建立一个工程来调试uCos-ii,这样你会感觉更加的直观明了。这个方法我会在我后面
的笔记中总结。


 方法五:
 用ARM编译器ADS1.2结合protues 7.1模拟仿真,这个方法也会在后面的笔记中总结。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1513083 2009-7-7 21:02

你好,我最近也在移植ucos,我是从网站上下载的最新版ucos2.86,我的微处理器是44b0.我在用信号量实现任务之间的通信(一任务点亮,另一任务熄灭,使用了自定义的Delay函数)。但是我在使用系统的OSTimeDly函数时,程序中编写的任务都执行了一次后,就停了,一直没搞明白OSTimeDly这个函数到底怎么用? 还有个问题,现在一说ucos,大家都说过时了,不知道工作时会用到这个操作系统吗?
相关推荐阅读
用户152055 2012-03-21 14:07
aapt命令的使用
aapt命令的使用        aapt即 Android Asset Packaging Tool。该工具在SDK/tools目录下,如果你没有设置环境变量,那需要进入该目录下才能运行aa...
用户152055 2010-11-26 10:54
快速切换Android工程版本的方法
android的应用程序安装包APK如果是在高版本的android jar上开发的是无法在低版本的android SDK上跑的,所以我们需要将我们已经开发好的应用程序换上低版本的android jar...
用户152055 2010-11-03 12:15
Android Permission大全
Android Permission大全 android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问在checkin数据库中的"properties"表,改值...
用户152055 2010-10-28 18:46
Android背光常亮控制
                         Android背光常亮控制背光常亮的控制有两种办法:1、getWindow().setFlags(WindowManager.LayoutParams...
用户152055 2010-10-28 15:12
Android.mk规范详解
                                            Android.mk规范详解       Android.mk文件是在使用NDK编译C代码时必须的文件,Andr...
用户152055 2010-10-27 11:57
NDK底层开发环境的搭建
                                                        NDK底层开发        NDK全称为Native Development Kit,...
EE直播间
更多
我要评论
1
7
关闭 站长推荐上一条 /3 下一条