第一種
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...,彈出“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\include;c:\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加到工程中就可以成功編譯了~ .
ps1:本文參考網上很多文章,不能一一列舉,特此感謝;