c++4.5调试uCos-II
一.下载Borland
C++
4.5或Borland
C++
5.0和Turbo
Assembler
5.0(TASM
5.0)
二.安装Borland
C++
4.5/5.0(我的安装在C:/BC45)
三.将TASM
5.0安装在Borland
C++
4.5/5.0相同的目录下(C:/BC45)
四.将C:/BC45/bin目录下的TDDEBUG.386和TDWINTH.DLL删除或改名(Borland
C++
5.0不需要此步骤)
五.测试环境
(1)在任何地方建立一个文件夹,并在文件夹内建立一个放置工程文件的文团野件夹,一个放置源文件的文件夹,一个放置目标文件的文件夹,和一个放置最后生成的可执行文件的文件夹(我的是D:/TEST,D:/TEST/PROJECT存放工程文件,D:/TEST/SOURCE存放源文件,D:/TEST/OBJ存放目标文件,D:/TEST/RELEASE存放可执行文件)
(2)将uc/osII源码中/SOFTWARE/uCOS-II/EX1_x86L/BC45/SOURCE中的塌举喊INCLUDES.H,OS_CFG.H和TEST.C三个文件拷答棚贝到你第一步创建的放置源文件的文件夹内(我的放在D:/TEST/SOURCE)
(3)新建工程
(4)添加
/SOFTWARE/uCOS-II/Ix86L/BC45/OS_CPU_A.ASM
/SOFTWARE/uCOS-II/Ix86L/BC45/OS_CPU_C.C
/SOFTWARE/uCOS-II/SOURCE/uCOS_II.C
/SOFTWARE/BLOCKS/PC/BC45/PC.C
D:/TEST/SOURCE/TEST.C
到工程
(5)设置工程参数
(6)编译Project->Build
all(有警告,不要理它,没事
)
以上方法适用于邵贝贝教授所编写的ucos-ii嵌入式 *** 作系统。
第一步是对uCOSII有个简单的初步的了解,在这方面的在网上下载到邵贝贝的讲解翻译的uCOSII的资料。大致浏览了一下,对uCOSII有了一个初步的了解,之后在网上购买了一块CycloneIII的核心开发板,然后开始进行直接的设计。第二步 在网上查找了大范围后在Altera公司的网站上下载到了Ucosii_Tutorial的一个uCOSII的实例,然后有下载到了使用说明书,这些都是很重宽袭要的资料,然后在使用说明的慎辩兄指导下成功的完成了Ucosii_Tutorial的实例。
第三步 随后开始在自己构建的sopc上创建自己的uCOSII应用。开始时设计不成功,提示的错误是“#error encountered with text: "OS_CFG.H, Missing OS_TICKS_PER_SEC: Sets the number of ticks in one second",在网上查找相关的信息没有任何有用的,后来把我自己设计的sopc和下载的Ucosii_Tutorial的sopc都打开后查找不同的地方,经过比对后发现在我构建的sopc中没有Timer,加上Timer后,提示错误没有出现。这部分信息后来在Altera官网上查到了,uCOSII运行中一定要有定时单元。但出现警告,但在板上运行现象没有,又灶基到处查询后依然没有结果,这次又进行重新一一比对后发现Ucosii_Tutorial实例中有两个Timer,而且定时周期一个是10us,一个是10ms,又打开了os_CFG.h文件看到里面的系统时钟指向的是10ms定时,而我构建的指向10us定时,更改了一下后,编译通过,无警告,下载到板上运行,效果成功!
第一种1、将ucos_ii的源代码解压到c盘根目录下形成SOFTWARE文件夹(邵贝贝书内的光盘获取SOFTWARE)
2、安装bc45(borland C++4.5)和tasm;将bc45和tasm加到用户环境变量中,还要将tasm.exe加入到bc45的bin内;
3、建立一个工作文件夹比如叫c:\oswork\ucos,然后将解压目录C:\SOFTWARE\uCOS-II\SOURCE下的所有文件复制至该文件夹,有文件如下(不同版本文件可能不一样):
OS_CORE.C, OS_FLAG.C, OS_MBOX.C, OS_MEM.C, OS_MUTEX.C
OS_Q.C, OS_SEM.C, OS_TASK.C, OS_TIME.C, uCOS_II.C, uCOS_II.H(11个)
解压目录下的C:\SOFTWARE\uCOS-II\EX1_x86L\BC45\source 内的 INCLUDES.H,OS_CFG.H,TEST.C(3个)
位于bc45文件下的pc文件夹里面的PC.H PC.C;(2个)
C:\SOFTWARE\uCOS-II\x86L OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM(3个)共19个;
4.修改c:\work\ucos下includes.h:
//#include"\SOFTWARE\ucos-ii\ix86l\os_cpu.h"
//#include"os_cfg.h"
//#include"\SOFTWARE\blocks\pc\source\pc.h"
//#include"\SOFTWARE\ucos-ii\source\ucos_ii.h"
去掉前面的路径:
#include"os_cpu.h"
#include"os_cfg.h"
#include"pc.h"
#include"ucos_ii.h"
修改c:\work\ucos下UCOS_II.C:
#include "\software\ucos-ii\source\os_core.c"
#include "\software\ucos-ii\source\os_flag.c"
#include "\software\ucos-ii\source\os_mbox.c"
#include "\software\ucos-ii\source\os_mem.c"
#include "\software\ucos-ii\source\os_mutex.c"
#include "\s·oftware\ucos-ii\source\os_q.c"
#include "\software\ucos-ii\source\os_sem.c"
#include "激培\software\ucos-ii\source\os_task.c"
#include "\software\ucos-ii\source\os_time.c"
将\software\ucos-ii\source\统统去掉
5.启动BORLAND C++4.5,创建工程扒铅携。
菜单Project --->New project...,d出“New Target”对话框。
(1)在“Project path and name”中指定工程路径:c:\work\ucos
(2)在“Target Type”下选择“Application[.exe]”
(3)在“PlatForm”下选择“DOS[Standard]”
(4)在“Target Modet”下选择“Large”
(5)单击“OK”按钮
(6)因为.h文件都在c:\work\ucos文件夹下,需要设置一下include的路径(在bc45中选择菜单,options\project\Directories\,在窗口右边找到Include,c:\bc45\includec:\work\ucos ) 红色是需要增加的路径,前面的分号注意
6.在工程文件中添加c:\work\ucos下的几个文件:
os_cpu_a.asm
os_cpu_c.c
pc.c
ucos_ii.c
test.c
7 编译和运行
菜单Project--->Compile/Make all/Build all,或者点工具栏上的按钮
编译结果出现很多警告,但是没有错误,因此就可以正常运行实验程序拉~
第二种
另外一种方式是把uCOS-II的春伏所有代码打包成一个静态库,方法同上,只是有两点不同:
1、在第2步中不需要拷贝TEST.C文件
2、第5步建立工程时选择“Static Library(for exe)[.lib]”,其他选项不变
编译后将生成一个.lib文件,假设文件名为mylib.lib
这样在每次使用uCOS-II时就不需要把所有源文件都拷贝到工程目录下了,只需要拷贝下面几种文件:
mylib.lib
OS_CPU_A.ASM
所有.h文件
然后把mylib.lib、TEST.C和OS_CPU_A.ASM加到工程中就可以成功编译了~ .
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)