




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、需求規(guī)格說明Version: 1.0項目承擔隊伍:煙臺大學計算機學院E-fanciers 組撰寫人(簽名):許超于歌完 成 日 期:2009-7-16本文檔使用小組: E-fanciers 小組評審負責人(簽名):孝瑞評 審 日期:2009-7-19分類:軟件項目計劃使用者:E-fanciers目錄一、弓I言 41.1編寫目的 41.2項目背景 41.3定義 41.4參考資料: 5二、任務概述 52.1 目標 52.2運行環(huán)境 62.3條件與限制 6三、數(shù)據(jù)描述 73.1靜態(tài)數(shù)據(jù) 73.2動態(tài)數(shù)據(jù) 7四、功能需求 74.1功能劃分 74.2功能描述 7五、性能要求 85.1時間特性85.2適應
2、性8六、 運行需求 86.1用戶界面86.2硬件接口 96.3軟件接口 96.4故障處理10七、其他需求 109需求規(guī)格說明(Requirements Specification)引言1. 編寫目的(闡明編寫需求說明書的目的,指明讀者對象。)1. 作為嵌入式實時操作系統(tǒng)軟件系統(tǒng)開發(fā)技術(shù)協(xié)議的參考依據(jù),為開發(fā)提供參考。2. 根據(jù)齊魯軟件設(shè)計大賽2009賽題嵌入式實時操作系統(tǒng) (RTOS)設(shè)計的要求特點和當前背景下此類軟件需求方向的特點,對被開發(fā)軟件系統(tǒng)的主要功能、性能進行完整描述,為軟件開發(fā)者進行詳細設(shè)計和編程提供基礎(chǔ)。3. 為軟件提供測試和驗收的依據(jù),即為選取測試用例和進行驗收的依據(jù)。2. 項
3、目背景(可包括:(1)項目的委托單位,開發(fā)單位和主管部門;(2)該軟件系統(tǒng)與 其他系統(tǒng)的關(guān)系。)隨著微電子技術(shù)、計算機技術(shù)和網(wǎng)絡(luò)通信技術(shù)的發(fā)展,嵌入式系統(tǒng)已廣泛應用在各個 領(lǐng)域,包括消費電子、汽車電子、網(wǎng)絡(luò)通信、工業(yè)設(shè)備、航空航天和國防軍事等。隨著嵌入 式技術(shù)的發(fā)展,工業(yè)領(lǐng)域也一改過去傳統(tǒng)的單片機應用模式,逐漸將一些新嵌入式技術(shù)引入到系統(tǒng)中。特別是作為軟件基礎(chǔ)的嵌入式操作系統(tǒng)已廣泛為業(yè)界所接受,借以提高系統(tǒng)的開發(fā)效率和運行效率。是否采用嵌入式操作系統(tǒng),已成為工業(yè)設(shè)備品質(zhì)優(yōu)劣的標志之一。當今的嵌入式操作系統(tǒng)領(lǐng)域呈現(xiàn)百家爭鳴的狀態(tài)。據(jù)最近的調(diào)查數(shù)據(jù)顯示, 嵌入式操作系統(tǒng)有數(shù)十種之多的。 這種多樣性
4、存在是必然的,是由嵌入式系統(tǒng)的定制性所決定的,是針對各個領(lǐng)域和行業(yè)的不同需求的應對。也就是說,各個嵌入式操作系統(tǒng)都有自己的應用領(lǐng)域,針對不同的應用沒有絕對的優(yōu)劣之分,不會出現(xiàn)一種操作系統(tǒng)壟斷的局面。自主開發(fā)嵌入式操作系統(tǒng)絕對不是多余的,也是是對這種多樣性的自然順應,應該可擁有自己的用武之地。有些國內(nèi)嵌入式廠商將希望寄托在Linux之上,以為它可以幫助解決所面臨的版稅和安Linux還是泊來貨,國人Linux是為桌面系統(tǒng)而設(shè)Linux的一統(tǒng)也違背了全等問題。但事實并非完全如此,至少在嵌入式系統(tǒng)領(lǐng)域。首先, 并未掌握其核心技術(shù)和進程,也并未解決對外依賴的問題。其次, 計的,并不能很好地滿足嵌入式系統(tǒng)
5、高效性和靈活性的要求;再次, 嵌入式系統(tǒng)應用靈活定制的本質(zhì)特性。3. 定義(列出文檔中用到的專門術(shù)語定義和縮寫詞的原文。)int tasklnit(void) ;/*創(chuàng)建一個任務,返回:返回任務編號tid, >0: 成功,其他:失敗.*/*name:任務名稱,entryPtr :任務函數(shù)入口,stack_size:任務棧大小,priority:任務優(yōu)先級*/int taskCreate(char *name,void *entryPtr,int stack_size,int priority);/*啟動一個任務,讓taskCreat創(chuàng)建的任務參加調(diào)度 */int taskStart(un
6、signed char tid);/*tid:任務編號,由taskCreate 返回*/int taskPriorityGet(unsigned char tid);int taskPrioritySet(unsigned char tid, int newPriority);/*獲取和設(shè)置任務優(yōu)先級,用于動態(tài)調(diào)整*/int taskSuspend(unsigned char tid);/*將任務掛起,該任務退出調(diào)度*/int taskDelete(unsigned char tid);/*將任務刪除 該任務退出調(diào)度且回收任務分配的資源*/int semCreate(void);/*互斥信號量
7、創(chuàng)建,返回信號量標識 sid, <0: 失敗*/int semTake(int sid);int semGive(int sid);/*互斥信號量獲取和釋放 */int taskSleep(int ticks);/*任務睡眠(非忙等),由任務自己調(diào)用,主動阻塞一段時間.時間單位為tick, 即10ms*/4. 參考資料(可包括:(1)項目開發(fā)計劃;(2)文檔所引用的資料,標準和規(guī)范。列出 這些資料的作者、標題、編號、發(fā)表日期、出版單位或資料來源。 )1 召阪貝.C/OS-口一源碼公開的實時嵌入式操作系統(tǒng).北京:中國電力出版 20022 鄭宗漢.實時系統(tǒng)軟件基礎(chǔ).北京:清華大學出版社, 2
8、0033 陳智育,溫彥軍,陳琪編著.VxWorks程序開發(fā)實踐.北京:人民郵電出版社,20044 羅蕾.嵌入式實時操作系統(tǒng)及應用開發(fā).北京:北京航空航天出版社,20075 于淵.自己動手寫操作系統(tǒng).北京:電子工業(yè)出版社,20056 LPC2138芯片手冊.任務概述1 .目標本軟件作品作為嵌入式實時操作系統(tǒng)系統(tǒng),采用各種算法和策略, 始終保證系統(tǒng)行為的可預測性(Predictability)。可預測性是指在系統(tǒng)運行的任何時刻,在任何情況下,實時操作系統(tǒng)的資源調(diào)配策略都能為爭奪資源(包括CPU內(nèi)存等)的多個實時任務合理地分配資源,使每個實時任務的實時性要求都能得到滿足。與通用操作系統(tǒng)不同,實時操作
9、系統(tǒng)注重的不是系統(tǒng)的平均表現(xiàn),而是要求每個實時任務在最壞情況下都要滿足其實時性要求,也就是說,實時操作系統(tǒng)注重的是個體表現(xiàn),更準確地講是個體最壞情況的表現(xiàn)?;竟δ?. 基于參考硬件平臺,建立硬件抽象層,完成基本硬件初始化,建立時鐘中斷;2. 在硬件抽象層基礎(chǔ)上,建立多任務操作系統(tǒng)環(huán)境;3. 任務調(diào)度采用同級時間片輪詢機制;4. 實現(xiàn)任務間基本通訊機制:互斥信號量(共享內(nèi)存);5. 實現(xiàn)基本的時鐘管理機制:任務睡眠阻塞;6. 實現(xiàn)一個 RS232串口驅(qū)動?;诖隍?qū)動實現(xiàn)一個命令行Shell (用一個獨立的任務實現(xiàn)),可在超級終端顯示信息和執(zhí)行命令。擴展功能7. 任務區(qū)分優(yōu)先級,在同級輪詢調(diào)度
10、基礎(chǔ)上添加優(yōu)先級調(diào)度機制;8. 不同優(yōu)先級任務之間實現(xiàn)搶占調(diào)度;9. 在搶占調(diào)度的基礎(chǔ)上實現(xiàn)優(yōu)先級逆轉(zhuǎn)保護,避免邏輯死鎖問題;10. 將代碼移植到另一個硬件平臺上運行,驗證代碼移植性。設(shè)計要求1. 參考硬件平臺為:周立功 EasyArm2138。實際上,也可用其他LPC系列CP成日實驗板,只要CPW足夠的RAM Flash存儲器和一個串口擴展就可以了。但與LPC2138區(qū)別越小越好,最終的驗證都統(tǒng)一在LPC2138上進行。2. 硬件抽象層的接口遵循 uc/OS的接口規(guī)范。這樣現(xiàn)存的大量的 uC/OS硬件抽象層可為新操作系統(tǒng)提供服務, 減少移植工作量。硬件抽象層可以直接借用uC/OS的代碼,但最
11、好自己實現(xiàn),只是接口兼容。3. 操作系統(tǒng)的調(diào)用采用函數(shù)調(diào)用方式,不用中斷陷入方式;4. 將各任務棧獨立,作為任務的私有存儲區(qū);5. 同時支持任務數(shù)不小于255個??臻e任務占用編號 0。6. 同級任務的輪詢時間片大小可以調(diào)節(jié),單位為 10毫秒(稱為tick)。7. 串口接口參數(shù):波特率 9600, 8位數(shù)據(jù),1位停止,無硬件流控制。8. 任務優(yōu)先級不小于 255級,最高優(yōu)先級為 0,最低優(yōu)先級為 255。空閑任務優(yōu)先級為 255。9. 操作系統(tǒng)的應用接口的應遵循題目的規(guī)范,見后面的描述。10. 對于代碼移植性驗證,參賽者可自行選擇硬件平臺。該硬件平臺與LPC2138或ARM之間的區(qū)別越大越好。2
12、. 運行環(huán)境硬件平臺采用的是 EasyARM2138開發(fā)板,它是周立功公司設(shè)計的EasyARM系列開發(fā)套件之一。軟件平臺采用了 Keil開發(fā)環(huán)境和Jlink。開發(fā)語言 C 語言、匯編語言。3. 條件與限制硬件平臺采用的是 EasyARM213所發(fā)板,它是周立功公司設(shè)計的 EasyARM列開發(fā) 套件之一。LPC2138具有32kB的片內(nèi)靜態(tài) RAM和512kB的片內(nèi)Fash程序存儲器,支持JTAG 仿真調(diào)試、ISP編程等功能,EasyARM213駢發(fā)板上還提供了一些鍵盤、ED蜂鳴器等常用功能部件,還具有RS232接口電路、I2C存儲器電路。另外,靈活的跳線組合(開 發(fā)板內(nèi)使用的所有I/O均可斷開
13、連接),還有用戶I/O接口,極大地方便了用戶進行32位ARMEA式系統(tǒng)的開發(fā)實驗。開發(fā)的小型嵌入式操作系統(tǒng),代碼量不是很大,對于擁有32kB的片內(nèi)靜態(tài)RAM和512kB的片內(nèi)Flash程序存儲器的PC2138來說是應該足夠,再加上開發(fā)板還支持 JTAG 仿真測試,ISP編程,這樣使得開發(fā)效率大幅度提高。另外開發(fā)板上還提供了一些鍵 盤、LED蜂鳴器等常用功能部件,還具有 RS232接口電路、I2C存儲器電路。這樣更 有利于通過小的試驗才測試一下程序的正確性。軟件平臺采用了 Keil開發(fā)環(huán)境和Jlink。Keil 是美國Keil Software公司出品的 51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與
14、匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到 Keil生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開 發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。JLink支持所有 ARM7 ARM9內(nèi)核芯片的仿真,支持 ADS,KEIL, IAR EWARM,Relview 等集成開發(fā)環(huán)境.操作方便、連接方便,是開發(fā)ARM好最實用的開發(fā)工具。普通 ARM 仿真器限制2個FLA
15、SH斷點(包括Multi ice),此款FLASH®?點無限制。三. 數(shù)據(jù)描述1 .靜態(tài)數(shù)據(jù)任務管理、控制管理和信號量。2. 動態(tài)數(shù)據(jù)(包括輸入數(shù)據(jù)和輸出數(shù)據(jù)。)輸入:用戶相關(guān)操作輸出:根據(jù)操作產(chǎn)生不同的輸出四. 功能需求1. 功能劃分基于LPC2138硬件平臺,建立硬件抽象層, 在此基礎(chǔ)上建立時鐘中斷、實現(xiàn)多任務操作系統(tǒng)環(huán)境,實現(xiàn)一個串口驅(qū)動,基于串口實現(xiàn)命令行SHELL.2. 功能描述1. 基于LPC2138硬件平臺,建立硬件抽象層,完成基本硬件初始化,建立時鐘中斷;2. 在硬件抽象層基礎(chǔ)上,建立多任務操作系統(tǒng)環(huán)境;3. 任務調(diào)度采用同級時間片輪詢機制;4. 實現(xiàn)任務間基本通訊機
16、制:互斥信號量(共享內(nèi)存);5. 實現(xiàn)基本的時鐘管理機制:任務睡眠阻塞;6. 實現(xiàn)一個RS232串口驅(qū)動?;诖隍?qū)動實現(xiàn)一個命令行Shell (用一個獨立的任務實現(xiàn)), 可在超級終端顯示信息和執(zhí)行命令。7. 參考硬件平臺為:周立功 EasyArm2138。實際上,也可用其他 LPC系列CPU和實驗板,只 要CPUK足夠的RAM Flash存儲器和一個串口擴展就可以了。但與LPC2138區(qū)別越小越 好,最終的驗證都統(tǒng)一在 LPC2138上進行。8. 硬件抽象層的接口遵循 uc/OS的接口規(guī)范。這樣現(xiàn)存的大量的uC/OS硬件抽象層可為新操 作系統(tǒng)提供服務,減少移植工作量。硬件抽象層可以直接借用u
17、C/OS的代碼,但最好自己 實現(xiàn),只是接口兼容。9. 操作系統(tǒng)的調(diào)用采用函數(shù)調(diào)用方式,不用中斷陷入方式;10. 將各任務棧獨立,作為任務的私有存儲區(qū);11. 同時支持任務數(shù)不小于255個。空閑任務占用編號 0。12. 同級任務的輪詢時間片大小可以調(diào)節(jié),單位為 10毫秒(稱為tick)。13. 串口接口參數(shù):波特率9600, 8位數(shù)據(jù),1位停止,無硬件流控制。14. 任務優(yōu)先級不小于 255級,最高優(yōu)先級為0,最低優(yōu)先級為255??臻e任務優(yōu)先級為 255。15. 操作系統(tǒng)的應用接口的應遵循題目的規(guī)范,見后面的描述。16. 對于代碼移植性驗證,參賽者可自行選擇硬件平臺。該硬件平臺與 的區(qū)別越大越好
18、。五. 性能需求1 .時間特'性(如響應時間、更新處理時間、數(shù)據(jù)轉(zhuǎn)化與傳輸時間、運行時間等。)由于所開發(fā)軟件為嵌入式實時操作系統(tǒng),故要求本系統(tǒng)能及時對所請求的任務作出快 速、高效的處理,并實現(xiàn)多任務的實時調(diào)度。2 .適應,性(在操作方式運行環(huán)境與其他軟件的接口以及開發(fā)計劃等發(fā)生變化時,應具有 的適應能力。)軟件要求具有良好的適應能力,能在不同的PC機上運行,不會因為所搭建環(huán)境的改變而影響工作效率。六. 運行需求1 .用戶界面(如屏幕格式、報表格式、菜單格式、輸入輸出時間等。)務必做到簡潔易懂,適合不同層次人員的需求。敗迎 JA.H7RT0S S he 11 界面* 團 BA : E-f
19、 BHC1EE5 小組Shell by E-fanciers 20D3*使用-help"命令來提示你進釬盤作* S: E-iancieraeiescotti機顯示所有任務信尊:名稱,端號.td n顯示帽號11任務的樣細信菖1調(diào)度就容,晅眠時間優(yōu)先級分配棧太小已用攜大小,倜度折數(shù),CPU占用率翎.姑n掛起編號n任務,lB出調(diào)度."m恢要編號由任務的運行.Kill nJM除漏號口任務-si顯示所有信號顯的徉蛔信息:編號,伏態(tài),占用任務爆號.2. 硬件接口遵循uc/OS的底層接口規(guī)范,可參考代碼文件OS_CPU.H, OS_CPU_A.C, OS_CPU_A.S3. 軟件接口第一
20、部分:/*初始化操作系統(tǒng),建立多任務環(huán)境.該函數(shù)調(diào)用后,其他系統(tǒng)調(diào)用則可用*/*返回:0:成功,-1: 失敗.后面返回無說明則同*/int tasklnit(void);/*創(chuàng)建一個任務*/*返回:返回任務編號tid, >0: 成功,其他:失敗.*/*name:任務名稱,entryPtr :任務函數(shù)入口 , stack_size:任務棧大小,priority:任務優(yōu)先級*/int taskCreate(char *name, void *entryPtr, int stack_size, int priority);/*啟動一個任務,讓taskCreat創(chuàng)建的任務參加調(diào)度 */*tid:任務編號,由taskCreate 返回*/int taskStart(unsigned char tid);/*獲取和設(shè)置任務優(yōu)先級,用于動態(tài)調(diào)整*/int taskPr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電視節(jié)目的分類
- 2025年系列活性精脫硫劑合作協(xié)議書
- 2023四年級數(shù)學下冊 四 用計算器算第2課時 用計算器計算(二)教學實錄 蘇教版
- 如何評估工作計劃的成功與否
- 幼兒園信息技術(shù)的整合研究計劃
- 池河鎮(zhèn)七年級歷史下冊 第二單元 遼宋夏金元時期:民族關(guān)系發(fā)展和社會變化 第12課 宋元時期的都市和文化教學實錄1 新人教版
- 第七單元 百分數(shù)的應用(二)第2課時 教案2024-2025學年數(shù)學六年級上冊-北師大版
- 班級節(jié)約資源活動的倡導計劃
- 激發(fā)創(chuàng)意社團工作創(chuàng)新方案計劃
- 山東省濟寧市梁山一中高二信息技術(shù)《常用軟件常用欄目含義》教學實錄
- 2024年四川省成都市錦江區(qū)中考語文二模試卷
- 工程驗收及移交管理方案
- 電氣自動化試題及答案
- DB11T 696-2023 預拌砂漿應用技術(shù)規(guī)程
- 洗胃技術(shù)操作流程及評分標準
- 相互批評意見500條【5篇】
- 朝著目標奔跑教案
- 2023年四川綿陽中考滿分作文《被幸福照亮》
- 二年級數(shù)學100以內(nèi)加減法豎式計算題單元考核習題
- 紅星前進品牌手冊2024
- 2024-2030年中國粒子加速器行業(yè)發(fā)展現(xiàn)狀調(diào)研及市場趨勢洞察報告
評論
0/150
提交評論