uC/OS開發方法

 uC/OS開發方法

       uC/OS是一種體積小巧而實用的實時操作系統,由於其代碼的開放性,近年來普遍受到人們的關注,許多人開始從事這一操作系統的學習及應用工作,但由於其文檔較少,特別是關於安裝和使用方面的指導性文章不夠充足,使很多初學者,特別是剛剛接觸嵌入式操作系統的朋友們不知道如何進行系統的安裝及調試,爲此我結合自己使用的切身體會,談一談它的安裝及調試問題,希望對大家能起到一定的幫助作用。

文中的開發工具及開發包如下:

開發包:uC/OS2.51 點擊此處下載
 
http://www.freewind.com.cn/ucos/tools/ucoscode.htm
文中開發工具:Borland C 3.1 點擊此處下載
 
http://www.freewind.com.cn/ucos/tools/bc31.rar
其中開發工具是經過本人剪裁過的,只適用於此項目開發。

1 安裝

1.1 下載軟件包Software.rar(文件大小848KB)
1.2 解壓縮,建議解壓到C盤根目錄,這樣文件將安裝在C:/SOFTWARE,需要空間2.12mb
1.3 安裝完畢
1.4 以默認安裝路徑爲例,目錄結構爲:
C: /SOFTWARE
這是根目錄,是所有軟件相關的文件都放在這個目錄下。
C:/SOFTWARE/BLOCKS
子程序模塊目錄。筆者將例子中μC/OS-II用到的與PC相關的函數模塊編譯以後放在這個目錄下。
C:/SOFTWARE/HPLISTC
這個目錄中存放的是與範例HPLIST相關的文件(請看附錄D,HPLISTC和TO)。HPLIST.C存放在C:/SOFTWARE/HPLISTC/SOURCE目錄下。DOS下的可執行文件(HPLIST.EXE)存放在C:/SOFTWARE/TO/EXE中。
C:/SOFTWARE/TO
這個目錄中存放的是和範例TO相關的文件(請看附錄D,HPLISTC和TO)。源文件TO.C存放在C:/SOFTWARE/TO/SOURCE中,DOS下的可執行文件(TO.EXE)存放在C:/SOFTWARE/TO/EXE中。注意TO需要一個TO.TBL文件,它必須放在根目錄下。用戶可以在C:/SOFTWARE/TO/EXE目錄下找到TO.TBL文件。如果要運行TO.EXE,必須將TO.TBL複製到根目錄下。
C: /SOFTWARE/uCOS-II
與μC/OS-II 相關的文件都放在這個目錄下。
C:/SOFTWARE/uCOS-II/EX1_x86L
這個目錄裏包括例1的源代碼(參見 1.07, 例1),可以在DOS(或Windows 95下的DOS窗口)下運行。
C:/SOFTWARE/uCOS-II/EX2_x86L
這個目錄裏包括例2的源代碼(參見 1.08, 例2),可以在DOS(或Windows 95下的DOS窗口)下運行。
C: /SOFTWARE/uCOS-II/EX3_x86L
這個目錄裏包括例3的源代碼(參見 1.09, 例3),可以在DOS(或Windows 95下的DOS窗口)下運行。
C: /SOFTWARE/uCOS-II/Ix86L
這個目錄下包括依賴於處理器類型的代碼。此時是爲在80x86處理器上運行uC/OS-II而必須的一些代碼,實模式,在大模式下編譯。
C: /SOFTWARE/uCOS-II/SOURCE
這個目錄裏包括與處理器類型無關的源代碼。這些代碼完全可移植到其它架構的處理器上。
2 開發工具Borland C 3.1的安裝

2.1 先下載Borland C 3.1 (文件大小1.65MB)
2.2 解壓縮,建議解壓到C盤根目錄,這樣全部的文件將安裝在C:/BC31,我們強烈建議採用這個路徑安裝,這樣您將可以直接進行項目的編譯及調試,而不需要更改他們的配置,需要空間5.10MB
2.3 如果您一定要將它安裝到其他目錄,請修改相應的配置文件,注意藍色部分:
2.3.1 打開<安裝路徑>/BIN/TURBOC.CFG,顯示如下:
-IC:/BC31/INCLUDE
-LC:/BC31/LIB
將C:/BC31該爲安裝的目錄,例如安裝目錄爲E:/BorlandC31,則改後應爲
-IE:/BorlandC31/INCLUDE
-LE:/BorlandC31/LIB
2.3.2 打開<安裝路徑>/BIN/TLINK.CFG,顯示如下:
-LC:/BC31/LIB
將C:/BC31該爲安裝的目錄,例如安裝目錄爲E:/BorlandC31,則改後應爲
-LE:/BorlandC31/LIB
2.4 至此安裝完成
2.5 以默認安裝路徑爲例,目錄結構爲:
C:/BC31
這是根目錄,是所有工具相關的文件都放在這個目錄下。
C:/BC31/BIN
全部編譯鏈接的開發工具都放在這個目錄下
C:/BC31/LIB
全部鏈接庫文件存放在這個目錄下
C:/BC31/INCLUDE
全部頭文件都存放在這個目錄
還有需要說明的是這個Borland C是經過本人裁減的,目的是減少需要的空間(原版需要19.6MB),如果您使用的是原版的軟件,可以進行安裝,則不需要進行2.3這一步驟的配置工作,如果您卻是需要這個原版的軟件,請與我聯繫 留言 寫信

3 項目開發

隨開發包附帶了4個例子,都具有一定的代表性,下面我們結合例1介紹項目開發的全過程,需要說明的是:安裝路徑均爲默認值。

3.1 進入C:/SOFTWARE/uCOS-II/EX1_x86L/BC45目錄,會看到兩個目錄,他們功能如下:
C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/SOURCE
源文件目錄
C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/SOURCE/INCLUDES.H
總的項目頭文件,每個源文件都應包含
C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/SOURCE/OS_CFG.H
配置文件,用於操作系統配置和剪裁
C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/SOURCE/TEST.C
應用程序文件,在開發新項目時可以參考這個文件的格式
C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/SOURCE/TEST.LNK
鏈接文件,包含了鏈接的庫和鏈接參數
C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/TEST
項目文件目錄
C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/TEST/TEST.MAK
項目的MAKE文件,熟悉C編譯器的人一定知道,通過Make文件可以智能的對整個項目進行自動的編譯鏈接,非常方便,我們在後面會詳細介紹這個文件。
C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/TEST/TEST.MAP
項目映像文件主要完成庫文件地址的映射,是項目的產物
C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/TEST/MAKETEST.BAT
項目Make操作的批處理文件,它將自動完成整個編譯鏈接的全過程
C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/TEST/TEST.EXE
項目生成的可執行文件,使項目的產物
下面正式開始項目的開發

3.2 第一步,按上面的目錄結構,建立項目目錄,在例中建立了一個目錄C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/,並在下面新建了兩個子目錄TEST和SOURCE,並將相關文件複製到這兩個目錄中,注意應該儘量按這種路徑和目錄結構建立項目,否則可能需要更改文件中的路徑信息,這是很麻煩的事情。
值得推薦的最快捷的方法就是複製一個例子的目錄,如果你的新項目名稱爲NewProject,可以在C:/SOFTWARE/uCOS-II下新建一個目錄C:/SOFTWARE/uCOS-II/NewProject,再將C:/SOFTWARE/uCOS-II/EX1_x86L中的兩個子目錄直接複製到新建的目錄下,最後只需更改內部的文件的一些配置,在TEST.C中重新寫入新項目的代碼即可。

3.3 第二步,更改INCLUDES.H文件,文件內容爲:
#i nclude <stdio.h>
#i nclude <string.h>
#i nclude <ctype.h>
#i nclude <stdlib.h>
#i nclude <conio.h>
#i nclude <dos.h>
#i nclude <setjmp.h>

#i nclude "/software/ucos-ii/ix86l/bc45/os_cpu.h"
#i nclude "os_cfg.h"
#i nclude "/software/ucos-ii/source/ucos_ii.h"
#i nclude "/software/blocks/pc/bc45/pc.h"

如果你的軟件包的安裝路徑和項目建立路徑是按推薦方式設定的,則不需要更改此文件,但你可以增加一些你想在項目中追加的頭文件,如一些驅動程序或應用模塊的頭文件,但一定要注意路徑是否正確。如果你爲按標準路徑建立項目,必須逐行更改蘭顏色部分的代碼,使路徑正確。

3.4 第三步,配置OS_CFG.H文件,因這與軟件包和開發工具的安裝無關,只用於項目中操作系統的配置,具體的請根據你的項目來自主決定,相關的介紹很多,可以參考uC/OS-II的電子書。

3.5 第四步,修改TEST.LNK配置,這裏進行開發工具鏈接時一些參數和鏈接模塊的設置,可以用編輯器打開:
/v /s /c /P- +
C:/BC31/LIB/C0L.OBJ +
../OBJ/TEST.OBJ +
../OBJ/OS_CPU_A.OBJ +
../OBJ/OS_CPU_C.OBJ +
../OBJ/PC.OBJ +
../OBJ/uCOS_II.OBJ
../OBJ/TEST,../OBJ/TEST
C:/BC31/LIB/EMU.LIB +
C:/BC31/LIB/MATHL.LIB +
C:/BC31/LIB/CL.LIB

3.5.1 /v /s /c /P- 是鏈接的參數,建議不要更改;

3.5.2 C:/BC31/LIB/C0L.OBJ 是 Turbo C 的Large模式編譯庫模塊,如果開發工具路徑不是默認設置,請改爲實際的安裝路徑,例如將C:/BC31改爲E:/BorlandC31

3.5.3 ../OBJ/TEST.OBJ 是應用程序的目標文件,它是由TEST.C編譯後生成的,並保存在臨時生成的C:/SOFTWARE/uCOS-II/EX1_x86L/BC45/OBJ目錄中,這個目錄使用與保存編譯時產生的目標文件的。

3.5.4 ../OBJ/OS_CPU_A.OBJ ../OBJ/OS_CPU_C.OBJ ../OBJ/PC.OBJ ../OBJ/uCOS_II.OBJ 同上,都是編譯時產生的目標文件,並保存在OBJ目錄下,作爲項目鏈接的組成模塊,如果在OBJ目錄中缺少上述文件,鏈接將不會成功。

3.5.5 ../OBJ/TEST,../OBJ/TEST是指定的項目產生的EXE文件和MAP文件的路徑和名稱,它們分別是TEST.EXE和TEST.MAP,並保存在OBJ目錄下。

3.5.6 C:/BC31/LIB/EMU.LIB C:/BC31/LIB/MATHL.LIB C:/BC31/LIB/CL.LIB是鏈接時需要的庫文件,必須令路徑符合Borland C的安裝路徑,如果安裝在非推薦目錄,必須更改藍色的路徑部分。其中EMU爲8087仿真庫,MATHL爲數學函數庫,CL爲TurboC在Large模式下的運行庫。

3.6 第五步,修改TEST.MAK文件,這是Borland C的Make文件,關於Make文件的格式及編寫方法請參考相關書籍,這裏僅介紹一些配置有關的內容,打開文件可以看到:
#############################################################################
# TOOLS
#############################################################################

BORLAND=C:/BC31

CC=$(BORLAND)/BIN/BCC
ASM=$(BORLAND)/BIN/TASM
LINK=$(BORLAND)/BIN/TLINK
TOUCH=$(BORLAND)/BIN/TOUCH

#############################################################################
# DIRECTORIES
#############################################################################

TARGET=../TEST
SOURCE=../SOURCE
WORK=../WORK
OBJ=../OBJ
LST=../LST

OS=/SOFTWARE/uCOS-II/SOURCE
PC=/SOFTWARE/BLOCKS/PC/BC45
PORT=/SOFTWARE/uCOS-II/Ix86L/BC45

如果你得Borland C沒有安裝在推薦安裝的目錄,需要更改BORLAND=C:/BC31這一句,例如如果安裝在E:/BorlandC31 ,則將BORLAND=C:/BC31改爲BORLAND=E:/BorlandC31。

CC=$(BORLAND)/BIN/BCC:這是編譯器的名稱及路徑,一般不更改
ASM=$(BORLAND)/BIN/TASM:這是彙編器的名稱及路徑,一般不更改
LINK=$(BORLAND)/BIN/TLINK:這是鏈接器的名稱及路徑,一般不更改

TARGET=../TEST:項目文件目錄,如果路徑不是按推薦方式,必需要更改路徑
SOURCE=../SOURCE:源文件目錄,如果路徑不是按推薦方式,必需要更改路徑
WORK=../WORK:項目工作目錄,MAKETEST.BAT自動編譯時全部源文件都複製到這個目錄,這個設定必須必須和MAKETEST.BAT中設定相一致
OBJ=../OBJ:目標代碼目錄,這個設定必須和MAKETEST.BAT中設定相一致
LST=../LST:列表文件目錄,這個設定必須和MAKETEST.BAT中設定相一致

OS=/SOFTWARE/uCOS-II/SOURCE:操作系統源文件目錄,必須保證路徑的正確,如果你的開發包沒按推薦方式安裝,必須更改這個設定爲實際安裝的目錄。
PC=/SOFTWARE/BLOCKS/PC/BC45:與PC有關的源文件目錄,必須保證路徑的正確,如果你的開發包沒按推薦方式安裝,必須更改這個設定爲實際安裝的目錄。
PORT=/SO

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章