2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  中文4460字</b></p><p>  畢業(yè)設(shè)計(jì)(論文)外文資料翻譯</p><p>  嵌入式實(shí)時(shí)操作系統(tǒng)RTX-51的研究</p><p> 學(xué) 生 姓 名:</p><p> 班 級(jí):電自047</p><p> 學(xué) 號(hào):</p>

2、<p> 指 導(dǎo) 教 師:</p><p> 所 在 單 位: </p><p> 答 辯 日 期: 2008年 6月 23日</p><p>  附件1:外文資料翻譯譯文</p><p>  RTX-51 實(shí)時(shí)操作系統(tǒng)</p><p>  RTX51是一個(gè)適用于8051 家族的實(shí)時(shí)多任務(wù)操作系統(tǒng)。RTX

3、51使復(fù)雜的系統(tǒng)和軟件設(shè)計(jì)以及有時(shí)間限制的工程開(kāi)發(fā)變得簡(jiǎn)單。RTX51是一個(gè)強(qiáng)大的工具,它可以在單個(gè)CPU上管理幾個(gè)作業(yè)(任務(wù))。</p><p>  RTX51有兩種不同的版本: </p><p>  RTX51 Full 允許4個(gè)優(yōu)先權(quán)任務(wù)的循環(huán)和切換,并且還能并行的利用中斷功能。RTX51支持信號(hào)傳遞,以及與系統(tǒng)郵箱和信號(hào)量進(jìn)行消息傳遞。RTX51的os_wait 函數(shù)可以等待以下事

4、件:中斷、時(shí)間到、來(lái)自任務(wù)或中斷的信號(hào)、來(lái)自任務(wù)或中斷的消息、信號(hào)量。 </p><p>  RTX51 Tiny 是RTX51 Full 的一個(gè)子集。RTX51 Tiny 可以很容易的運(yùn)行在沒(méi)有擴(kuò)展外部存儲(chǔ)器的單片機(jī)系統(tǒng)上。但是,使用RTX51 Tiny 的程序可以訪問(wèn)外部存儲(chǔ)器。RTX51 Tiny允許循環(huán)任務(wù)切換,并且支持信號(hào)傳遞,還能并行的利用中斷功能。RTX51 Tiny 的os_wait函數(shù)可以等待以

5、下事件:時(shí)間到、時(shí)間間隔、來(lái)自任務(wù)或者中斷的信號(hào)。 </p><p>  以后的部分用RTX-51 來(lái)指代RTX-51 Full 和RTX-51 Tiny。在兩者之間不同的地方會(huì)加以說(shuō)明。 </p><p><b>  導(dǎo) 言 </b></p><p>  許多微處理器應(yīng)用都需要同時(shí)執(zhí)行多個(gè)作業(yè)或者任務(wù)。對(duì)于這種應(yīng)用,一個(gè)實(shí)時(shí)的操作系統(tǒng)(RT

6、OS)允許系統(tǒng)資源(CPU、內(nèi)存等)被靈活的分配給幾個(gè)任務(wù)。RTX-51是一個(gè)強(qiáng)大的實(shí)時(shí)操作系統(tǒng),并且易于應(yīng)用。RTX-51 可以工作在8051系列的微處理器上。 你使用標(biāo)準(zhǔn)C語(yǔ)言編寫(xiě)RTX-51應(yīng)用程序,并且用C51來(lái)編譯它們。為了具體指明任務(wù)的標(biāo)志和優(yōu)先級(jí),會(huì)與標(biāo)準(zhǔn)C存在一點(diǎn)差別。RTX-51應(yīng)用程序要求你將RTX51.H或者RTX51TNY.H頭文件包含進(jìn)來(lái)。當(dāng)你在μVision2集成環(huán)境里打開(kāi)目標(biāo)選項(xiàng)對(duì)話框,選擇目標(biāo)操作系統(tǒng)以后

7、,鏈接器便會(huì)添加合適的RTX-51庫(kù)文件。 </p><p><b>  單任務(wù)程序 </b></p><p>  一個(gè)標(biāo)準(zhǔn)C程序從主函數(shù)開(kāi)始執(zhí)行。在嵌入式應(yīng)用里,主函數(shù)經(jīng)常被編寫(xiě)為一個(gè)無(wú)窮循環(huán),也可以被認(rèn)為是一個(gè)連續(xù)執(zhí)行的單個(gè)任務(wù)。例如: </p><p><b>  循環(huán)任務(wù)切換 </b></p><

8、;p>  RTX51 Tiny 允許“準(zhǔn)并行”的同時(shí)執(zhí)行幾個(gè)任務(wù)。每一個(gè)任務(wù)在預(yù)先定義好的時(shí)間片內(nèi)得以執(zhí)行。時(shí)間到使正在執(zhí)行的任務(wù)掛起,并使另一個(gè)任務(wù)開(kāi)始執(zhí)行。下面的例子使用了循環(huán)任務(wù)切換的技術(shù)。</p><p>  使用RTX51的C程序例子</p><p>  RTX51 從任務(wù)0(分配給作業(yè)0)開(kāi)始執(zhí)行程序。os_create_task 函數(shù)標(biāo)記任務(wù)1(分配給作業(yè)1)為準(zhǔn)備執(zhí)行

9、。這兩個(gè)任務(wù)是簡(jiǎn)單的計(jì)數(shù)循環(huán)。在一個(gè)時(shí)間片結(jié)束后,RTX51 中斷作業(yè)0,并且開(kāi)始執(zhí)行作業(yè)1。作業(yè)1 在一個(gè)時(shí)間片結(jié)束后,系統(tǒng)重新開(kāi)始執(zhí)行作業(yè)0。 </p><p>  os_wait 函數(shù) </p><p>  os_wait 函數(shù)提供了一種更為有效的方式來(lái)給幾個(gè)任務(wù)分配可使用的處理器時(shí)間。os_wait函數(shù)中斷當(dāng)前正在運(yùn)行的任務(wù),并且等待特定的事件。在一個(gè)任務(wù)等待事件的時(shí)間里,其他任務(wù)

10、可以被執(zhí)行。 </p><p><b>  等待時(shí)間到 </b></p><p>  RTX51使用8051 的一個(gè)定時(shí)器來(lái)產(chǎn)生一個(gè)循環(huán)的中斷(時(shí)鐘周期)。響應(yīng)os_wait 的最簡(jiǎn)單事件是時(shí)間到,當(dāng)前正在執(zhí)行的任務(wù)被指定的時(shí)鐘周期所中斷。下面的延時(shí)例子使用的是時(shí)間到。 </p><p>  使用os_wait 函數(shù)編程 </p>

11、<p>  這個(gè)程序與上一個(gè)程序相似,不同的是作業(yè)0 是在計(jì)數(shù)器0 完成計(jì)數(shù)后os_wait函數(shù)所中斷的。RTX51等待3 個(gè)時(shí)鐘周期直到作業(yè)0 準(zhǔn)備好再次運(yùn)行為止。在這期間,作業(yè)1得以執(zhí)行。作業(yè)1 也調(diào)用了os_wait 函數(shù),等待5 個(gè)時(shí)鐘周期。結(jié)果是:定時(shí)器0 每三個(gè)時(shí)鐘周期增加一次,計(jì)數(shù)器1則每5個(gè)時(shí)鐘周期增加一次。 </p><p><b>  等待信號(hào) </b><

12、;/p><p>  os_wait 函數(shù)的另一個(gè)事件是信號(hào)。信號(hào)被用來(lái)協(xié)調(diào)任務(wù)。直到另一個(gè)任務(wù)發(fā)出信號(hào),在os_wait 函數(shù)控制下的任務(wù)才結(jié)束等待狀態(tài)。如果信號(hào)預(yù)先就被發(fā)送出來(lái),那么任務(wù)將立即繼續(xù)執(zhí)行。 </p><p>  使用等待信號(hào)的程序 </p><p>  在這個(gè)例子當(dāng)中,任務(wù)1等待著由任務(wù)0發(fā)出的信號(hào),并且以此來(lái)處理計(jì)數(shù)器0產(chǎn)生的溢出。 </p>

13、;<p><b>  搶先任務(wù)切換 </b></p><p>  RTX51 Full 提供了搶先的任務(wù)切換,RTX51 Tiny 不具備這個(gè)功能。為了對(duì)多任務(wù)的概念有一個(gè)完整的了解,在這里對(duì)搶先任務(wù)切換加以解釋。 </p><p>  在上一個(gè)例子中,任務(wù)1收到一個(gè)信號(hào)后不會(huì)立即開(kāi)始,只有當(dāng)任務(wù)0 發(fā)生了時(shí)間到事件后,任務(wù)1才會(huì)啟動(dòng)。如果任務(wù)1被賦予了

14、比任務(wù)0 高的優(yōu)先級(jí),通過(guò)搶先任務(wù)切換,如果任務(wù)1收到了信號(hào),就會(huì)立即開(kāi)始。優(yōu)先級(jí)在任務(wù)定義中被指定(默認(rèn)的優(yōu)先級(jí)是0)。 </p><p>  RTX51 的技術(shù)參數(shù) </p><p>  RTX51 程序概覽 </p><p>  下列表格里列出了RTX51 的一些函數(shù),并帶有簡(jiǎn)要的說(shuō)明和執(zhí)行時(shí)間(針對(duì)RTX51 Full)。 </p><

15、p>  標(biāo)記的函數(shù)僅僅在RTX51 Full中具備</p><p>  RTX51 Full里附加的調(diào)試和支持函數(shù)見(jiàn)下表: </p><p><b>  CAN 函數(shù) </b></p><p>  CAN函數(shù)僅在RTX-51 Full中提供。CAN控制器支持非利浦82C200和80C592以及英特爾82526。更多的CAN控制器正在準(zhǔn)備中

16、。 </p><p>  TRAFFIC:使用RTX-51 Tiny 的例程 </p><p>  TRAFFIC例程是一個(gè)行人信號(hào)燈控制器,通過(guò)它來(lái)說(shuō)明多任務(wù)實(shí)時(shí)操作系統(tǒng)RTX-51 Tiny 的應(yīng)用。在一個(gè)用戶定義的時(shí)間段里,交通燈受到控制。在時(shí)間段以外,黃色燈閃爍。如果一個(gè)步行者按下了請(qǐng)求按鈕,交通燈立即進(jìn)入行走狀態(tài)。否則,交通燈持續(xù)不斷的工作。 </p><p

17、><b>  交通燈控制器命令 </b></p><p>  下表列出了TRAFFIC所支持的一系列命令。這些命令由ASCII文本字符構(gòu)成。所有的命令必須以回車(chē)符來(lái)終止。 </p><p><b>  軟件 </b></p><p>  TRAFFIC 應(yīng)用程序由3個(gè)文件組成,這些文件可以\KEIL\C51\EXAM

18、PLES\TRAFFIC</p><p><b>  文件夾里找到。</b></p><p>  TRAFFIC.C 包含了交通燈控制程序,被分成了如下幾個(gè)任務(wù):</p><p>  ??任務(wù)0 初始化:初始化串口,并且啟動(dòng)所有其他的任務(wù)。由于初始化只需要進(jìn)行一次,任務(wù)0將自己刪除自己。</p><p>  ??任務(wù)1

19、 命令:任務(wù)1完成交通燈控制器的命令處理。這個(gè)任務(wù)負(fù)責(zé)控制和處理接收到的串行命令。 </p><p>  ??任務(wù)2 時(shí)鐘:控制時(shí)鐘。 </p><p>  ??任務(wù)3 閃爍:當(dāng)時(shí)間落在活躍的時(shí)間段以外后,黃色燈閃爍。 </p><p>  ??任務(wù)4 燈:當(dāng)時(shí)間落在活躍的時(shí)間段(在開(kāi)始和結(jié)束時(shí)間之間)里以后,控制交通燈的相位。 </p><

20、;p>  ??任務(wù)5 讀按鍵:讀取行人按下的按鈕,并且向任務(wù)4發(fā)送信號(hào)。 </p><p>  ??任務(wù)6 退出:如果在串行指令流里遇到了ESC字符,任務(wù)1獲得一個(gè)信號(hào),并且終止顯示命令。 </p><p>  SERIAL.C 執(zhí)行一個(gè)中斷來(lái)驅(qū)動(dòng)串行口。這個(gè)文件包含了函數(shù) putchar 和 getkey 。高級(jí)的輸入輸出函數(shù) printf 和 getline 調(diào)用這些基本的輸

21、入輸出子函數(shù)。沒(méi)有中斷驅(qū)動(dòng)串行輸入輸出,交通燈應(yīng)用程序也會(huì)啟動(dòng),但不會(huì)完成任務(wù)。</p><p>  GETLINE.C 是一個(gè)命令行編輯器,用來(lái)編輯從串口接收到的字符。這個(gè)源文件也被測(cè)量應(yīng)用程序所使用。</p><p>  TRAFFIC 工程 </p><p>  在 μVision2 環(huán)境里,打開(kāi)位于\KEIL\C51\EXAMPLES\TRAFFIC 文件夾

22、里TRAFFIC.UV2文件。在工程窗口的文件頁(yè)里將會(huì)看到源文件。 </p><p>  在目標(biāo)選項(xiàng)里選擇 RTX-51 Tiny Real-Time OS。 </p><p>  選擇工程——編譯或者工具欄上的編譯按鈕,編譯TRAFFIC程序。 運(yùn)行TRAFFIC 程序 你可以使用μVision2 里的仿真來(lái)測(cè)試TRAFFIC應(yīng)用程序。 </p><p>  下

23、圖的變量觀察窗口允許你觀察驅(qū)動(dòng)交通燈的端口狀態(tài)。 </p><p>  push_key 信號(hào)函數(shù)模擬行人按下按鈕,切換交通燈進(jìn)入行走狀態(tài)。 </p><p>  這個(gè)函數(shù)被稱為按下以通過(guò)工具按鈕。 </p><p>  使用調(diào)試——函數(shù)編輯器,打開(kāi)TRAFFIC.INC 文件。在目標(biāo)選項(xiàng) ——調(diào)試——初始化文件里選擇這個(gè)文件,并且定義信號(hào)函數(shù) push_key,端

24、口初始化和按鈕工具欄。 </p><p>  注意:因?yàn)樵赥RAFFIC.C 模塊里有一個(gè)叫時(shí)鐘的函數(shù),所 以VTREG符號(hào) Clock 后面跟一個(gè)后引號(hào)(’)。 </p><p>  現(xiàn)在運(yùn)行TRAFFIC 應(yīng)用程序。允許查看—周期窗口更新,在程序執(zhí)行期間,通過(guò)觀察窗口查看交通燈。 </p><p>  1 號(hào)串口窗口顯示了 printf 的輸出,并且允許你輸入下

25、表里描述的交通燈控制器的命令。 </p><p>  設(shè)置時(shí)間在開(kāi)始/結(jié)束時(shí)間段以外,讓黃色燈閃爍。 </p><p><b>  RTX 內(nèi)核調(diào)試 </b></p><p>  一個(gè)RTX應(yīng)用程序能夠使用同標(biāo)準(zhǔn)8051 應(yīng)用程序相同的方法和命令進(jìn)行測(cè)試。當(dāng)你在目標(biāo)選項(xiàng)—目標(biāo)里選擇了一種操作系統(tǒng),μVision2 能夠允許附加的調(diào)試特性:一個(gè)對(duì)

26、話框列出了操作系統(tǒng)狀態(tài),并且當(dāng)一個(gè)任務(wù)是活躍的時(shí)候,你可以應(yīng)用_TaskRunning_調(diào)試函數(shù)來(lái)終止程序的運(yùn)行。 </p><p>  下面的部分通過(guò)TRAFFIC例程來(lái)解釋RTX的調(diào)試。 </p><p>  停止程序的運(yùn)行,復(fù)位CPU,取消所有斷點(diǎn)。 </p><p>  一個(gè)RTX-51應(yīng)用可以象標(biāo)準(zhǔn)應(yīng)用一樣使用相同的方式來(lái)測(cè)試。你可以打開(kāi)源文件,設(shè)置斷點(diǎn),

27、單步執(zhí)行。TRAFFIC應(yīng)用從任務(wù)0 初始化 開(kāi)始啟動(dòng)。 </p><p>  通過(guò)μVision2 可以完全清楚的了解內(nèi)核。你可以使用菜單命令外設(shè)—RTX Tiny任務(wù)列表來(lái)顯示任務(wù)狀態(tài)。 </p><p>  對(duì)話框RTX Tiny 任務(wù)列表向你顯示了如下信息: </p><p>  RTX-51 Tiny 包含了一個(gè)有效地堆棧管理器,該管理器在“RTX51 T

28、iny”用戶指南 第五章:RTX51 Tiny,堆棧管理器中被解釋。 </p><p>  該手冊(cè)提供了詳細(xì)的堆棧值的信息。</p><p>  只有當(dāng)在_TakRunning_調(diào)試函數(shù)聲明里指定的任務(wù)正在運(yùn)行時(shí),調(diào)試—斷點(diǎn)對(duì)話框允許你定義停止程序運(yùn)行的斷點(diǎn)。參考 “預(yù)定義函數(shù)”,可以找到關(guān)于_TakRunning_調(diào)試函數(shù)的詳細(xì)描述。 </p><p>  僅僅當(dāng)

29、此刻正在運(yùn)行的任務(wù)是燈的時(shí)候,在signalon函數(shù)里的斷點(diǎn)才會(huì)停止程序的執(zhí)行。</p><p>  附件2:外文原文(復(fù)印件)</p><p>  RTX-51 Real-Time</p><p>  Operating System</p><p>  RTX51 is a multitasking real-time operating

30、 system for the 8051 family. RTX51simplifies system and software design of complex and time-critical projects.RTX51 is a powerful tool to manage several jobs (tasks) on a single CPU. Thereare two distinct versions of RTX

31、51:</p><p>  RTX51 Full which performs both round-robin and preemptive task switchingwith 4 task priorities and can be operated with interrupt functions in parallel.RTX51 supports signal passing; message pas

32、sing with a mailbox system andsemaphores. The os_wait function of RTX51 can wait for the following events:interrupt; timeout; signal from task or interrupt; message from task or interrupt;semaphore.RTX51 Tiny which is a

33、subset of RTX51 Full. RTX51 Tiny easily runs onsingle-chip systems without off-chip me</p><p>  Introduction</p><p>  Many microcontroller applications require simultaneous execution of multiple

34、jobs or tasks. For such applications, a real-time operating system (RTOS) allowsflexible scheduling of system resources (CPU, memory, etc.) to several tasks.RTX-51 implements a powerful RTOS that is easy to use. RTX-51 w

35、orks withall 8051 derivatives.</p><p>  You write and compile RTX-51 programs using standard C constructs andcompiling them with C51. Only a few deviations from standard C are requiredin order to specify the

36、 task ID and priority. RTX-51 programs also require thatyou include the RTX51.H or RTX51TNY.H header file. When you select in theμVision2 dialog Options for Target - Target the operating system, the linker addsthe approp

37、riate RTX-51 library file.</p><p>  Single Task Program</p><p>  A standard C program starts execution with the main function. In an embeddedapplication, main is usually coded as an endless loop

38、 and can be thought of as asingle task that is executed continuously. For example:</p><p>  Round-Robin Task Switching</p><p>  RTX51 Tiny allows a quasi-parallel, simultaneous execution of seve

39、ral tasks.Each task is executed for a predefined timeout period. A timeout suspends theexecution of a task and causes another task to be started. The following exampleuses this round-robin task switching technique.</p

40、><p>  Simple C Program using RTX51</p><p>  RTX51 starts the program with task 0 (assigned to job0). The functionos_create_task marks task 1 (assigned to job1) as ready for execution. Thesetwo fun

41、ctions are simple count loops. After the timeout period has beencompleted, RTX51 interrupts job0 and begins execution of job1. This functioneven reaches the timeout and the system continues with job0.</p><p>

42、;  The os_wait Function</p><p>  The os_wait function provides a more efficient way to allocate the availableprocessor time to several tasks. os_wait interrupts the execution of the currenttask and waits for

43、 the specified event. During the time in which a task waits foran event, other tasks can be executed.</p><p>  Wait for Timeout</p><p>  RTX51 uses an 8051 timer in order to generate cyclic inte

44、rrupts (timer ticks).The simplest event argument for os_wait is a timeout, where the currentlyexecuting task is interrupted for the specified number of timer ticks. Thefollowing uses timeouts for the time delay.</p>

45、;<p>  Program with os_wait Function</p><p>  This program is similar to the previous example with the exception that job0 isinterrupted with os_wait after counter0 has been incremented. RTX51 waitsth

46、ree timer ticks until job0 is ready for execution again. During this time, job1 isexecuted. This function also calls os_wait with a timeout of 5 ticks. The result:counter0 is incremented every three ticks and counter1 is

47、 incremented every fivetimer ticks.</p><p>  Wait for Signal</p><p>  Another event for os_wait is a signal. Signals are used for task coordination: ifa task waits with os_wait until another tas

48、k issues a signal. If a signal waspreviously sent, the task is immediately continued.</p><p>  Program with Wait for Signal.</p><p>  In this example, task 1 waits for a signal from task 0 and t

49、herefore processes theoverflow from counter0.</p><p>  Preemptive Task Switching</p><p>  The full version of RTX51 provides preemptive task switching. This feature isnot included in RTX51 Tiny.

50、 It is explained here to provide a completeoverview of multitasking concepts.</p><p>  In the previous example, task 1 is not immediately started after a signal hasarrived, but only after a timeout occurs fo

51、r task 0. If task 1 is defined with ahigher priority than task 0, by means of preemptive task switching, task 1 isstarted immediately after the signal has arrived. The priority is specified in thetask definition (priorit

52、y 0 is the default value).</p><p>  RTX51 Technical Data</p><p>  Overview of RTX51 Routines</p><p>  The following table lists some of the RTX-51 functions along with a briefdescri

53、ption and execution timing (for RTX-51 Full).</p><p>  Function Description These functions are available only in RTX-51 Full.</p><p>  Additional debug and support functions in RTX-51 Full incl

54、ude the following:</p><p>  CAN Functions</p><p>  The CAN functions are available only with RTX-51 Full. CAN controllerssupported include the Philips 82C200 and 80C592 and the Intel 82526. More

55、CAN controllers are in preparation.on</p><p>  TRAFFIC: RTX-51 Tiny Example Program</p><p>  The TRAFFIC example is a pedestrian traffic light controller that shows theusage of multitasking RTX-

56、51 Tiny Real-time operating system. During a userdefinedtime interval, the traffic light is operating. Outside this time interval, theyellow light flashes. If a pedestrian pushes the request button, the traffic lightgoes

57、 immediately into walk state. Otherwise, the traffic light workscontinuously.</p><p>  Traffic Light Controller Commands</p><p>  The serial commands that TRAFFIC supports are listed in the foll

58、owing table.These commands are composed of ASCII text characters. All commands mustbe terminated with a carriage return.</p><p><b>  Software</b></p><p>  The TRAFFIC application is

59、composed of three files that can be found in the</p><p>  \KEIL\C51\EXAMPLES\TRAFFIC folder.</p><p>  TRAFFIC.C contains the traffic light controller program that is divided into the following t

60、asks:</p><p>  Task 0 init: initializes the serial interface and starts all other tasks. Task 0deletes itself since initialization is needed only once.</p><p>  Task 1 command: is the command pr

61、ocessor for the traffic light controller.This task controls and processes serial commands received.</p><p>  Task 2 clock: controls the time clock.</p><p>  Task 3 blinking: flashes the yellow l

62、ight when the clock time is outside theactive time range.</p><p>  Task 4 lights: controls the traffic light phases while the clock time is in theactive time range (between the start and end times).</p>

63、;<p>  Task 5 keyread: reads the pedestrian push button and sends a signal to thetask lights.</p><p>  Task 6 get_escape: If an ESC character is encountered in the serial streamthe command task gets a

64、 signal to terminate the display command.</p><p>  SERIAL.C implements an interrupt driven serial interface. This file contains thefunctions putchar and getkey. The high-level I/O functions printf and getlin

65、ecall these basic I/O routines. The traffic light application will also operatewithout using interrupt driven serial I/O. but will not perform as well.</p><p>  GETLINE.C is the command line editor for chara

66、cters received from the serial</p><p>  port. This source file is also used by the MEASURE application.</p><p>  TRAFFIC Project</p><p>  Open the TRAFFIC.UV2 project file that islo

67、cated in \KEIL\C51\EXAMPLES\TRAFFIC folderwith μVision2. The source files for theTRAFFIC project will be shown in theProject Window – Files page.</p><p>  The RTX-51 Tiny Real-Time OS is selected under Optio

68、ns for Target.</p><p>  Build the TRAFFIC program with Project - Build or the toolbar button.</p><p>  Run the TRAFFIC Program</p><p>  You can test TRAFFIC with theμVision2 simulat

69、or.</p><p>  The watch variables shown on the rightallow you to view port status that drivesthe lights.</p><p>  The push_keysignal functionsimulates thepedestrianpush key thatswitches thelight

70、system towalk state.This functionis called withthe Push forUse Debug – Function Editor to open TRAFFIC.INC. This file is specified</p><p>  the Push forWalk toolbarbutton.</p><p>  under Options

71、 for Target – Debug – Initialization File and defines thesignal function push_key, the port initialization and the toolbar button.</p><p>  Note: the VTREG symbol Clock is literalized with a back quote (`),s

72、ince there is a C function named clock in the TRAFFIC.C module.Refer to “Literal Symbols” on page 121 for more information.</p><p>  Now run the TRAFFIC application. Enable View – Periodic WindowUpdate to vi

73、ew the lights in the watch window during program execution.</p><p>  The Serial Window #1 displays the printf output and allows you to enterthe traffic light controller commands described in the table above.

74、</p><p>  Set the clocktime outside ofthe start/endtime intervalto flash theyellow light.</p><p>  RTX Kernel Aware Debugging</p><p>  A RTX application can be tested with the same

75、methods and commands asstandard 8051 applications. When you select an Operating System underOptions for Target – Target, μVision2 enables additional debugging features:a dialog lists the operating system status and with

76、the _TaskRunning_ debugfunction you may stop program execution when a specific task is active.</p><p>  The following section exemplifies RTX debugging with the TRAFFIC example.</p><p>  Stop pr

77、ogram execution, reset the CPU and kill all breakpoints.</p><p>  An RTX-51 application can be tested in the same way as standardapplications. You may open source files, set break points and single stepthrou

78、gh the code. The TRAFFIC application starts with task 0 init.</p><p>  μVision2 is completely kernel aware. You may display the task statuswith the menu command Peripherals – RTX Tiny Tasklist.</p>&l

79、t;p>  The dialog RTX51 Tiny Tasklist gives you the following information:</p><p>  RTX-51 Tiny contains an efficient stack management that is explained in the "RTX51 Tiny" User’sGuide, Chapter 5

80、: RTX51 Tiny, Stack Management.</p><p>  This manual provides detailed information about the Stack value.</p><p><b>  S</b></p><p>  The Debug – Breakpoints… dialog allo

81、ws you to define breakpoints that stopthe program execution only when the task specified in the _TaskRunning_debug function argument is Running. Refer to “Predefined Functions” on page134 for a detailed description of th

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論