您的位置:首页 > 其它

uC/OS II在PC环境中的编译

2012-11-21 00:53 375 查看
网上下载的郝贝贝ucos II系列的文章和资料,如果需要PC上编译的话,需要做些改动。按照默认的方式,也会出现tlink错误,具体的信息为:

C:\BC31\BIN\TLINK @TEST.LNK

Turbo Link Version 5.1 Copyright (c) 1992 Borland International

Fatal: Bad object file record in ..\obj\os_cpu_a.obj near module file offset 0×00000000

** error 2 ** deleting ..\test\test.exe

出现这个错误,查了好多的文章都没有解决。也不是BC 5.02 IDE中的bug。后来想想,这个文件是asm汇编语言生成的,是不是编译器出了问题。于是使用新的TASM编译器进行编译,link的时候还是出现错误。最后才发现,是TLINK.EXE文件出了问题,BC31使用的是1992,V5.1,新的是7.1.30.1,1996年. 替换TLINK.exe,并且加上RTM.EXE后,示例代码也可以编译运行了。

具体的配置步骤如下:

1、把SOFTWARE放在任意位置,比如D:\study\ucosii;

2、BC31编译程序放到C盘根目录; 替换1992年的TLINK.EXE为1996年的,同时复制RTM.EXE到这个文件夹。如果不复制,需要执行3.1步骤。

3、修改示例代码。 先复制SOFTWARE\uCOS-II\EX1_x86L\BC45到同级目录,重新命名为BC31(或者自己认为好记的名字)。

3.1 (如果复制了RTM.EXE,则不需要执行这一步)修改MAKETEST.BAT,在 MD ..\WORK 上面添加:set PATH=%PATH%;C:\TASM\BIN。这一步是为了执行1996的TLINK.EXE自动调用RTM.EXE文件。

修改C:\BC45\BIN\MAKE -f TEST.MAK为C:\BC31\BIN\MAKE -f TEST.MAK

3.2 修改TEST.MAK。添加:

# use $(UCOSII) for default software path

UCOSII=D:\study\ucosii

BORLAND=C:\BC31

修改:

OS=$(UCOSII)\SOFTWARE\uCOS-II\SOURCE

PC=$(UCOSII)\SOFTWARE\BLOCKS\PC\BC45

PORT=$(UCOSII)\SOFTWARE\uCOS-II\Ix86L\BC45

3.3 修改C:\BC31\BIN\TLINK.CFG,添加头文件引用路径,这样源文件那些调用\software\的头文件和源文件就不用修改为具体的路径了:

-IC:\BC31\INCLUDE

-ID:\study\ucosii

-LC:\BC31\LIB

3.4 修改uCOS-II\EX1_x86L\BC31\SOURCE\TEST.LNK,可以先打开记事本,然后将TEST.LNK拖进去。将C:\BC45改为C:\BC31。

4、执行编译、连接

打开一个dos窗口, “运行->cmd”,输入start cd /d D:\study\ucosii\SOFTWARE\uCOS-II\EX1_x86L\BC31\TEST 回车后,在新的dos窗口中执行MAKETEST.BAT。可以执行TAB键来自动补齐路径。然后根据出现的结果来调试。

附件放上TLINK.EXE和RTM.EXE。TLINK-BC-1996

Posted by Ian at 16:24 Tagged with: 51 Compile
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: