uC/OS V2.51安裝調試指南

來源:互聯網
上載者:User

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

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

  • 開發包:uC/OS2.51 點擊此處下載
  • 文中開發工具:Borland C 3.1 點擊此處下載

其中開發工具是經過本人剪裁過的,只適用於此項目開發。

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檔案,檔案內容為:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <conio.h>
#include <dos.h>
#include <setjmp.h>

#include "/software/ucos-ii/ix86l/bc45/os_cpu.h"
#include "os_cfg.h"
#include "/software/ucos-ii/source/ucos_ii.h"
#include "/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=/SOFTWARE/uCOS-II/Ix86L/BC45:與處理器有關源檔案目錄,必須保證路徑的正確,如果你的開發包沒按推薦方式安裝,必須更改這個設定為實際安裝的目錄。開發包中還有一個浮點的處理器檔案目錄Ix86L-FP。這2個目錄是跟移植密切相關的,相當於BSP(板極開發包)。

  • 3.7 第六步,配置MAKETEST.BAT,開啟可以看見

    MD ../WORK
    MD ../OBJ
    MD ../LST
    CD ../WORK
    COPY ../TEST/TEST.MAK TEST.MAK
    C:/BC31/BIN/MAKE -f TEST.MAK
    CD ../TEST

    首先是建立 ../WORK ../OBJ ../LST 三個目錄,這個目錄的名稱和路徑必須同TEST.MAK 一致,然後進入../WORK目錄,並將../TEST目錄中的TEST.MAK複製到這裡,最後執行Borland C的Make程式,自動進行編譯和連結,這裡面還是要注意C:/BC31的路徑問題。

  • 3.9 第八步,進行相關應用程式的開發就可以了,具體的可以參見Test.c這個檔案,如果你的項目包括多個源檔案,最好是在Test.c中用#include語句把他們都包含進來,否則就要更改Make檔案TEST.MAK和其他幾個設定檔案,如果你確需如此,可以自己嘗試一下,這裡不再列出。
  • 3.10 最後,運行MAKETEST.BAT就可以在TEST目錄下產生TEST.EXE檔案。

4 其它

有幸還有許多網友都在PC下用Borland C實現了激動人心的調試開發,網友Hcompute把它的心得寫了出來,大家也可以參考一下這篇文章PC環境下用BC3.1編譯串連uC/OS-II源檔案。

還有更多關於作業系統本身的應用問題,大家盡可以參考它的電子書 中文版 英文版

另外這篇文章寫作很匆忙,基本是一氣呵成的,難免存在很多錯誤,其中的一些觀點由於本人水平有限,可能存在一些錯誤,在此,我歡迎看到這篇文章並發現問題或錯誤的朋友及時指正,以免誤導別人,同時也歡迎讀罷有所感悟的朋友積極來信,提出你的觀點和看法,讓我們共同努力,找到uC/OS開發的最好途徑。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.