网上下载的郝贝贝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.M
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.M

本文介绍了在PC环境中编译uC/OS II时遇到的tlink错误及其解决方法。错误源于1992年的TLINK.EXE,通过替换为1996年的版本并可能添加RTM.EXE,配合修改配置文件和批处理脚本,可以成功编译和运行示例代码。详细步骤包括更换TLINK和RTM文件、修改编译路径、MAKETEST.BAT和TLINK.CFG等。

660

被折叠的 条评论
为什么被折叠?



