亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

控制嵌入式系統(tǒng)開發(fā)期間的實(shí)時(shí)性的制作方法

文檔序號(hào):6594501閱讀:273來(lái)源:國(guó)知局
專利名稱:控制嵌入式系統(tǒng)開發(fā)期間的實(shí)時(shí)性的制作方法
技術(shù)領(lǐng)域
本申請(qǐng)總體上涉及設(shè)計(jì)、仿真和驗(yàn)證分布式嵌入式系統(tǒng)的領(lǐng)域。
背景技術(shù)
嵌入式系統(tǒng)在現(xiàn)代電子設(shè)備中無(wú)處不在。嵌入式系統(tǒng)可以存在于例如各式各樣的 消費(fèi)品中一包括電視、移動(dòng)電話、媒體播放器,以及汽車。事實(shí)上,據(jù)估計(jì)一年中生產(chǎn)的微處 理器中超過(guò)98%的部分都被使用在嵌入式系統(tǒng)中。在很多應(yīng)用中,嵌入式系統(tǒng)被用來(lái)控制、監(jiān)測(cè)或以其他方式管理大型系統(tǒng)的一個(gè) 或多個(gè)子系統(tǒng)。此外,嵌入式系統(tǒng)經(jīng)常被要求提供可靠的并且及時(shí)的行為。為了確保嵌入 式系統(tǒng)可靠地滿足大型系統(tǒng)的定時(shí)約束,嵌入式系統(tǒng)經(jīng)常使用實(shí)時(shí)操作系統(tǒng)(RTOS),它控 制任務(wù)如何由處理器執(zhí)行并且提供精確的定時(shí)行為。由于嵌入式系統(tǒng)經(jīng)常與大量的其他組件交互并且期望執(zhí)行實(shí)時(shí)軟件應(yīng)用,因而設(shè) 計(jì)嵌入式系統(tǒng)是一種挑戰(zhàn)。例如,嵌入式軟件應(yīng)用不能只提供適當(dāng)?shù)墓δ埽沁€必須以所 要求的速率運(yùn)行,從而滿足系統(tǒng)期限并適應(yīng)所分配的內(nèi)存量。此外,嵌入式系統(tǒng)設(shè)計(jì)過(guò)程通 常包含多個(gè)開發(fā)階段,每個(gè)階段具有不同的抽象級(jí)別。例如,嵌入式系統(tǒng)或嵌入式軟件應(yīng)用 最初可以全部在計(jì)算機(jī)環(huán)境中被建模和仿真。所有的周邊系統(tǒng)同樣可以在這樣的環(huán)境中被 建模和仿真。最終,隨著設(shè)計(jì)過(guò)程的進(jìn)行,可能會(huì)期望通過(guò)在嵌入式系統(tǒng)的物理原型上運(yùn)行 軟件,或者通過(guò)運(yùn)行軟件應(yīng)用的仿真并同時(shí)生成去往和來(lái)自總體系統(tǒng)中真實(shí)硬件組件的信 號(hào),來(lái)對(duì)嵌入式軟件應(yīng)用進(jìn)行調(diào)試。在這樣的仿真和驗(yàn)證期間,可能會(huì)期望在不妨礙總體系 統(tǒng)的其他操作的情況下,啟動(dòng)、停止、暫停和繼續(xù)軟件應(yīng)用的“實(shí)時(shí)性”。這樣的控制和靈活 性靠傳統(tǒng)的開發(fā)工具不可能實(shí)現(xiàn)。因此,需要有改進(jìn)的方法、系統(tǒng)和裝置來(lái)為嵌入式系統(tǒng)的 設(shè)計(jì)者在對(duì)實(shí)時(shí)嵌入式軟件應(yīng)用的開發(fā)和調(diào)試期間提供更好的控制、靈活性以及可見性。

發(fā)明內(nèi)容
在這里公開了可以用來(lái)在嵌入式系統(tǒng)的設(shè)計(jì)、仿真或驗(yàn)證期間控制實(shí)時(shí)事件(例 如,實(shí)時(shí)時(shí)鐘)的方法、系統(tǒng)和裝置的代表性實(shí)施方式。所公開的方法、系統(tǒng)和裝置不應(yīng)當(dāng) 被解釋為任何形式的限制。反之,本公開涉及各個(gè)所公開實(shí)施方式的全部新穎的和非顯而 易見的特征和方面,不論是單獨(dú)的或是與其他特征和方面的各種組合和子組合。所公開的 方法、系統(tǒng)和裝置不限于任何特定的方面、特征或它們的結(jié)合,而且所公開的方法、系統(tǒng)和 裝置也不要求存在一個(gè)或多個(gè)特定的優(yōu)點(diǎn)或解決特定的問(wèn)題。在這里公開的一個(gè)示例性實(shí)施方式中,生成實(shí)時(shí)時(shí)鐘信號(hào),并且利用該實(shí)時(shí)時(shí)鐘 信號(hào)觸發(fā)由嵌入式軟件應(yīng)用定義的任務(wù)。在這個(gè)實(shí)施方式中,嵌入式軟件應(yīng)用由嵌入式處理器利用實(shí)時(shí)操作系統(tǒng)(RTOS)執(zhí)行,并且實(shí)時(shí)時(shí)鐘信號(hào)具有與驅(qū)動(dòng)嵌入式處理器的處理 器時(shí)鐘信號(hào)不同的時(shí)基,并且被獨(dú)立控制(例如,針對(duì)處理器的“時(shí)間”獨(dú)立于針對(duì)嵌入式 軟件應(yīng)用和周邊環(huán)境的“時(shí)間”而前進(jìn))。實(shí)時(shí)時(shí)鐘信號(hào)例如可以由以下生成在計(jì)算機(jī)工 作站上運(yùn)行的軟件(例如,在調(diào)試器或仿真器中運(yùn)行的軟件應(yīng)用),在另一外部嵌入式系統(tǒng) 上運(yùn)行的軟件,和/或在嵌入式系統(tǒng)中作為任務(wù)運(yùn)行的軟件。實(shí)時(shí)時(shí)鐘信號(hào)的生成可以在 不中斷處理器時(shí)鐘信號(hào)的情況下被掛起一段時(shí)間。此外,掛起實(shí)時(shí)時(shí)鐘信號(hào)生成的動(dòng)作可 以響應(yīng)于由嵌入式處理器執(zhí)行嵌入式軟件應(yīng)用所控制的信號(hào)而被執(zhí)行。實(shí)時(shí)時(shí)鐘信號(hào)的生 成可以在不中斷處理器時(shí)鐘信號(hào)的情況下被重新啟動(dòng),并且重新啟動(dòng)被仿真的實(shí)時(shí)時(shí)鐘的 動(dòng)作還可以使得觸發(fā)得以繼續(xù)。重新啟動(dòng)實(shí)時(shí)時(shí)鐘信號(hào)生成的動(dòng)作也可以響應(yīng)于由嵌入式 處理器執(zhí)行嵌入式軟件應(yīng)用所控制的信號(hào)而被執(zhí)行。此外,在一些實(shí)現(xiàn)中,嵌入式處理器是 仿真的嵌入式處理器,并且處理器時(shí)鐘信號(hào)是仿真的處理器時(shí)鐘信號(hào)。例如,可以使用指 令集仿真器或RTOS仿真器(例如,使用PC硬件和PC操作系統(tǒng)軟件的RTOS實(shí)現(xiàn),用以對(duì)在 RTOS上運(yùn)行的嵌入式應(yīng)用的執(zhí)行進(jìn)行仿真)中的一種對(duì)嵌入式處理器和處理器時(shí)鐘信號(hào) 進(jìn)行仿真。在一些實(shí)現(xiàn)中,使用系統(tǒng)簡(jiǎn)檔器(profiler)來(lái)測(cè)量在嵌入式處理器上執(zhí)行的軟 件的執(zhí)行時(shí)間。在特定的實(shí)現(xiàn)中,嵌入式軟件應(yīng)用是第一嵌入式軟件應(yīng)用,嵌入式處理器是 第一嵌入式處理器,RTOS是第一 RT0S,并且處理器時(shí)鐘信號(hào)是第一處理器時(shí)鐘信號(hào)。在這 些實(shí)現(xiàn)中,由第二嵌入式軟件應(yīng)用定義的任務(wù)可以由實(shí)時(shí)時(shí)鐘信號(hào)觸發(fā),第二嵌入式軟件 應(yīng)用由第二嵌入式處理器利用第二 RTOS執(zhí)行,其中實(shí)時(shí)時(shí)鐘信號(hào)是獨(dú)立于驅(qū)動(dòng)第二嵌入 式處理器的第二處理器時(shí)鐘信號(hào)而可控的,使得實(shí)時(shí)時(shí)鐘具有與第二處理器時(shí)鐘不同的時(shí) 基。在這里公開的另一實(shí)施方式中,用于嵌入式系統(tǒng)的處理器的RTOS被修改,使得 RTOS用來(lái)觸發(fā)任務(wù)執(zhí)行的實(shí)時(shí)時(shí)鐘信號(hào)的源與為處理器提供時(shí)鐘的處理器時(shí)鐘信號(hào)的源 解耦。該解耦創(chuàng)建了兩個(gè)獨(dú)立可控的時(shí)基。例如,在這個(gè)實(shí)施方式中,針對(duì)處理器的“時(shí)間” 獨(dú)立于針對(duì)嵌入式軟件應(yīng)用和周邊環(huán)境的“時(shí)間”而前進(jìn)。經(jīng)修改的RTOS繼而可以被存儲(chǔ) 在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上(例如,在嵌入式系統(tǒng)的存儲(chǔ)器中和/或在主機(jī)計(jì)算機(jī)的 存儲(chǔ)器中)。在特定的實(shí)現(xiàn)中,修改RTOS的動(dòng)作包括針對(duì)RTOS的源代碼改變或添加一行 或多行源代碼。此外,修改的動(dòng)作可以包括修改RT0S,使得傳送實(shí)時(shí)時(shí)鐘信號(hào)的路徑是以 下一個(gè)或多個(gè)局域網(wǎng)(LAN)信道、通用串行總線(USB)信道、串行外圍接口(SPI)信道、聯(lián) 合測(cè)試推動(dòng)團(tuán)體(JTAG)信道、拐射線(FlexRay)信道、局域互連網(wǎng)絡(luò)(LIN)信道、控制器區(qū) 域網(wǎng)絡(luò)(CAN)信道,或嵌入式系統(tǒng)的進(jìn)程間通信(IPC)信道。在特定的實(shí)現(xiàn)中,RTOS被修 改,使得實(shí)時(shí)時(shí)鐘信號(hào)的源例如是在計(jì)算機(jī)工作站上運(yùn)行的軟件(例如,在調(diào)試器或仿真 器中運(yùn)行的軟件應(yīng)用),在另一外部嵌入式系統(tǒng)上運(yùn)行的軟件,和/或在嵌入式系統(tǒng)中作為 任務(wù)運(yùn)行的軟件。在這里公開的另一實(shí)施方式中,生成一系列實(shí)時(shí)事件信號(hào),并且利用實(shí)時(shí)事件信 號(hào)來(lái)觸發(fā)由嵌入式軟件應(yīng)用定義的任務(wù)。在這個(gè)實(shí)施方式中,嵌入式軟件應(yīng)用由嵌入式處 理器利用RTOS執(zhí)行,并且實(shí)時(shí)事件信號(hào)具有與驅(qū)動(dòng)嵌入式處理器的處理器時(shí)鐘信號(hào)不同 的時(shí)基,而且是獨(dú)立可控的。例如,在這個(gè)實(shí)施方式中,針對(duì)處理器的“時(shí)間”獨(dú)立于針對(duì)嵌 入式軟件應(yīng)用和周邊環(huán)境的“時(shí)間”而前進(jìn)。實(shí)時(shí)事件可以例如由以下生成在計(jì)算機(jī)工 作站上運(yùn)行的軟件(例如,在調(diào)試器或仿真器中運(yùn)行的軟件應(yīng)用),在另一外部嵌入式系統(tǒng)上運(yùn)行的軟件,在運(yùn)行RTOS以接收實(shí)時(shí)事件信號(hào)的嵌入式系統(tǒng)中作為任務(wù)運(yùn)行的軟件,或 位于嵌入式系統(tǒng)上的時(shí)鐘發(fā)生器電路。實(shí)時(shí)事件信號(hào)可以指示例如數(shù)據(jù)已經(jīng)準(zhǔn)備好從與嵌 入式處理器耦合的外圍設(shè)備(例如,連接到與設(shè)備耦合的傳感器或致動(dòng)器的外圍設(shè)備)中 加載或發(fā)送到該外圍設(shè)備。一系列實(shí)時(shí)事件信號(hào)的生成可以在不中斷處理器時(shí)鐘信號(hào)的情 況下被掛起一段時(shí)間。此外,掛起實(shí)時(shí)事件信號(hào)生成的動(dòng)作可以響應(yīng)于由嵌入式處理器執(zhí) 行嵌入式軟件應(yīng)用所控制的信號(hào)而被執(zhí)行。一系列實(shí)時(shí)事件信號(hào)的生成可以在不中斷處理 器時(shí)鐘信號(hào)的情況下被重新啟動(dòng),并且重新啟動(dòng)的動(dòng)作可以使得觸發(fā)得以繼續(xù)。重新啟動(dòng) 實(shí)時(shí)事件信號(hào)的動(dòng)作可以響應(yīng)于由嵌入式處理器執(zhí)行嵌入式軟件應(yīng)用所控制的信號(hào)而被 執(zhí)行。在特定的實(shí)現(xiàn)中,還生成實(shí)時(shí)時(shí)鐘信號(hào),并且利用該實(shí)時(shí)時(shí)鐘信號(hào)來(lái)觸發(fā)由嵌入式軟 件應(yīng)用定義的至少一個(gè)其他任務(wù)。在這些實(shí)現(xiàn)中,實(shí)時(shí)時(shí)鐘信號(hào)是獨(dú)立于處理器時(shí)鐘信號(hào) 和實(shí)時(shí)事件信號(hào)二者可控的,使得實(shí)時(shí)時(shí)鐘具有與處理器時(shí)鐘信號(hào)和實(shí)時(shí)事件信號(hào)不同的 時(shí)基。在其他實(shí)現(xiàn)中,生成實(shí)時(shí)時(shí)鐘信號(hào),并且利用該實(shí)時(shí)時(shí)鐘信號(hào)來(lái)觸發(fā)由嵌入式軟件應(yīng) 用定義的至少一個(gè)其他任務(wù)。在這些實(shí)現(xiàn)中,實(shí)時(shí)時(shí)鐘信號(hào)是獨(dú)立于處理器時(shí)鐘信號(hào)可控 的,并且實(shí)時(shí)事件信號(hào)取決于實(shí)時(shí)時(shí)鐘。在一些實(shí)現(xiàn)中,嵌入式處理器是仿真的嵌入式處理 器并且實(shí)時(shí)事件信號(hào)是仿真的實(shí)時(shí)事件信號(hào)。例如,可以使用指令集仿真器或RTOS仿真器 中的一種對(duì)嵌入式處理器和處理器時(shí)鐘信號(hào)進(jìn)行仿真。嵌入式處理器可以是嵌入式系統(tǒng)的 一部分,并且實(shí)時(shí)事件信號(hào)可以由位于嵌入式系統(tǒng)上的電路生成。在一些實(shí)現(xiàn)中,使用系統(tǒng) 簡(jiǎn)檔器來(lái)測(cè)量在嵌入式處理器上執(zhí)行的中斷服務(wù)例程的執(zhí)行時(shí)間。此外,在一些實(shí)現(xiàn)中, 嵌入式軟件應(yīng)用是第一嵌入式軟件應(yīng)用,嵌入式處理器是第一嵌入式處理器,RTOS是第一 RT0S,并且處理器時(shí)鐘信號(hào)時(shí)第一處理器時(shí)鐘信號(hào)。在這些實(shí)現(xiàn)中,由第二嵌入式軟件應(yīng)用 定義的任務(wù)可以由實(shí)時(shí)事件信號(hào)觸發(fā),其中第二嵌入式軟件應(yīng)用由第二嵌入式處理器利用 第二 RTOS執(zhí)行,并且其中實(shí)時(shí)事件信號(hào)是獨(dú)立于驅(qū)動(dòng)第二嵌入式處理器的第二處理器時(shí) 鐘信號(hào)可控的,使得實(shí)時(shí)事件信號(hào)具有與第二處理器時(shí)鐘信號(hào)不同的時(shí)基。在這里公開的另一實(shí)施方式中,嵌入式系統(tǒng)中的處理器的實(shí)時(shí)操作系統(tǒng)(RTOS) 被修改,使得用來(lái)觸發(fā)任務(wù)執(zhí)行的實(shí)時(shí)事件信號(hào)的源與為處理器提供時(shí)鐘的處理器時(shí)鐘信 號(hào)的源解耦。該解耦創(chuàng)建了獨(dú)立可控的兩個(gè)獨(dú)立時(shí)基。例如,在這個(gè)實(shí)施方式中,針對(duì)處理 器的“時(shí)間”獨(dú)立于針對(duì)嵌入式軟件應(yīng)用和周邊環(huán)境的“時(shí)間”而前進(jìn)。經(jīng)修改的RTOS繼而 可以被存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上(例如,在嵌入式系統(tǒng)的存儲(chǔ)器中或在主機(jī)計(jì) 算機(jī)的存儲(chǔ)器中)。修改的動(dòng)作可以包括針對(duì)RTOS的源代碼而改變或添加一行或多行源代 碼中。此外,修改的動(dòng)作可以包括修改RT0S,使得傳送實(shí)時(shí)事件信號(hào)的路徑是以下一個(gè)或多 個(gè)局域網(wǎng)(LAN)信道、通用串行總線(USB)信道、串行外圍接口(SPI)信道、聯(lián)合測(cè)試推動(dòng) 團(tuán)體(JTAG)信道、拐射線信道、局域互連網(wǎng)絡(luò)(LIN)信道、控制器區(qū)域網(wǎng)絡(luò)(CAN)信道,或 者嵌入式系統(tǒng)的進(jìn)程間通信(IPC)信道。在特定的實(shí)現(xiàn)中,該方法還包括修改RT0S,使得由 RTOS所使用的實(shí)時(shí)時(shí)鐘信號(hào)也與為處理器提供時(shí)鐘的處理器時(shí)鐘信號(hào)的源解耦。在特定 的實(shí)現(xiàn)中,RTOS被修改,使得實(shí)時(shí)事件信號(hào)的源例如是在計(jì)算機(jī)工作站上運(yùn)行的軟件(例 如,在調(diào)試器或仿真器中運(yùn)行的軟件應(yīng)用),在另一外部嵌入式系統(tǒng)上運(yùn)行的軟件,在嵌入 式系統(tǒng)中作為任務(wù)運(yùn)行的軟件,或位于嵌入式系統(tǒng)上的時(shí)鐘發(fā)生器電路。另一個(gè)公開的實(shí)施方式是一種系統(tǒng),該系統(tǒng)包括主機(jī)計(jì)算機(jī),其配置用于執(zhí)行生 成第一信號(hào)的軟件;以及嵌入式系統(tǒng),其耦合到主機(jī)計(jì)算機(jī)并且具有嵌入式處理器。在這個(gè)實(shí)施方式中,嵌入式處理器被配置用于基于從在主機(jī)計(jì)算機(jī)上運(yùn)行的軟件接收第一信號(hào)而 運(yùn)行執(zhí)行軟件應(yīng)用的任務(wù)的RT0S,并且該嵌入式處理器還被配置用于基于接收第二信號(hào)而 執(zhí)行任務(wù)的個(gè)體指令。在這個(gè)實(shí)施方式中,第一信號(hào)是獨(dú)立于第二信號(hào)可控的,使得第一信 號(hào)和第二信號(hào)具有不同的時(shí)基。第一信號(hào)可以是實(shí)時(shí)時(shí)鐘信號(hào)或者是并非實(shí)時(shí)時(shí)鐘信號(hào)的 實(shí)時(shí)事件信號(hào)。此外,第一信號(hào)可以通過(guò)以下之一來(lái)傳送局域網(wǎng)(LAN)信道、通用串行總 線(USB)信道、串行外圍接口(SPI)信道、聯(lián)合測(cè)試推動(dòng)團(tuán)體(JTAG)信道、拐射線信道、局 域互連網(wǎng)絡(luò)(LIN)信道、控制器區(qū)域網(wǎng)絡(luò)(CAN)信道,或者嵌入式系統(tǒng)的進(jìn)程間通信(IPC) 信道。在主機(jī)計(jì)算機(jī)上執(zhí)行的軟件可以在第二信號(hào)繼續(xù)不被中斷的情況下掛起第一信號(hào)。 系統(tǒng)還可以包括耦合到主機(jī)計(jì)算機(jī)的一個(gè)或多個(gè)附加嵌入式系統(tǒng),每個(gè)附加嵌入式系統(tǒng)具 有運(yùn)行相應(yīng)RTOS的相應(yīng)嵌入式處理器,配置用于基于從在主機(jī)計(jì)算機(jī)上所運(yùn)行的軟件接 收第一信號(hào)而執(zhí)行相應(yīng)軟件應(yīng)用的任務(wù),并且每個(gè)附加嵌入式系統(tǒng)配置用于基于接收獨(dú)立 于第一信號(hào)可控的其他相應(yīng)信號(hào)而執(zhí)行任務(wù)的個(gè)體指令。主機(jī)計(jì)算機(jī)還可以配置用于執(zhí)行 仿真器或調(diào)試器。生成第一信號(hào)的軟件可以在仿真器或調(diào)試器中運(yùn)行。任何公開的方法都可以至少部分地由計(jì)算機(jī)程序執(zhí)行,該程序例如電子設(shè)計(jì)自動(dòng) 化(EDA)軟件工具,包括存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可執(zhí)行的指令。此 外,任何可以根據(jù)所公開的方法的實(shí)施方式進(jìn)行修改的操作系統(tǒng)(例如,經(jīng)修改的RT0S)也 可以被存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上。所公開的技術(shù)的前述的以及其他的對(duì)象、特征和優(yōu)點(diǎn)通過(guò)參考附圖進(jìn)行的下述的 詳細(xì)描述將變得更加明顯。


圖1是示出了可以使用所公開技術(shù)的實(shí)施方式進(jìn)行設(shè)計(jì)、仿真或驗(yàn)證的示意性嵌 入式系統(tǒng)的示意性框圖。圖2是示出了涉及圖1中所示的嵌入式系統(tǒng)的不同的抽象層的示意性框圖。圖3是示出了圖1中所示的嵌入式系統(tǒng)可以操作的典型的控制系統(tǒng)的示意性框 圖。圖4是示出了針對(duì)使用所公開的技術(shù)的實(shí)施方式來(lái)設(shè)計(jì)、仿真或驗(yàn)證嵌入式系統(tǒng) 的軟件和/或硬件的第一布置的示意性框圖。圖5是示出了針對(duì)使用所公開的技術(shù)的實(shí)施方式來(lái)設(shè)計(jì)、仿真或驗(yàn)證嵌入式系統(tǒng) 的軟件和/或硬件的第二布置的示意性框圖。圖6是示出了供嵌入式系統(tǒng)的實(shí)時(shí)時(shí)鐘在其中由嵌入式系統(tǒng)上的時(shí)鐘源生成的 示例性設(shè)計(jì)、仿真或驗(yàn)證環(huán)境的示意性框圖。圖7是示出了當(dāng)處理器時(shí)鐘繼續(xù)由在嵌入式系統(tǒng)上的時(shí)鐘源生成時(shí),供由在主機(jī) 工作站上運(yùn)行的軟件在其中生成嵌入式系統(tǒng)的實(shí)時(shí)時(shí)鐘的示例性設(shè)計(jì)、仿真,或驗(yàn)證環(huán)境 示意性框圖。圖8是示出了用于修改嵌入式系統(tǒng)的實(shí)時(shí)操作系統(tǒng)(RTOS),使得實(shí)時(shí)時(shí)鐘的源是 在主機(jī)工作站上運(yùn)行的軟件的示例性方法的流程圖。圖9是示出了操作供嵌入式系統(tǒng)的實(shí)時(shí)時(shí)鐘在其中由在主機(jī)工作站上運(yùn)行的軟 件生成的設(shè)計(jì)、仿真,或驗(yàn)證環(huán)境的示例性方法的流程圖。
10
圖10是示出了供嵌入式系統(tǒng)中的實(shí)時(shí)事件控制操作在其中由嵌入式系統(tǒng)的外圍 設(shè)備生成的示例性設(shè)計(jì)、仿真,或驗(yàn)證環(huán)境的示意性框圖。圖11是示出了供嵌入式系統(tǒng)中的實(shí)時(shí)事件控制操作在其中由在主機(jī)工作站上運(yùn) 行的軟件生成的示例性設(shè)計(jì)、仿真,或驗(yàn)證環(huán)境的示意性框圖。圖12是示出了用于修改嵌入式系統(tǒng)的RT0S,使得實(shí)時(shí)事件的源是在主機(jī)工作站 上運(yùn)行的軟件的示意性方法的流程圖。圖13是示出了供用于控制嵌入式系統(tǒng)的操作的實(shí)時(shí)事件在其中由在主機(jī)工作站 上運(yùn)行的軟件生成的操作設(shè)計(jì)、仿真,或驗(yàn)證環(huán)境的示例性方法的流程圖。圖14是概念性地示出了與處理器時(shí)鐘相關(guān)聯(lián)的獨(dú)立的實(shí)時(shí)時(shí)鐘的時(shí)序圖,其中 兩個(gè)時(shí)鐘具有不同的時(shí)基。在圖14中,處理器時(shí)鐘被用作時(shí)間軸的基礎(chǔ)。圖15是概念性地示出了與處理器時(shí)鐘相關(guān)聯(lián)的獨(dú)立的實(shí)時(shí)時(shí)鐘的時(shí)序圖,其中 兩個(gè)時(shí)鐘具有不同的時(shí)基。在圖15中,實(shí)時(shí)時(shí)鐘被用作時(shí)間軸的基礎(chǔ)。圖16是示出了供所公開的技術(shù)的方面在其中可以被執(zhí)行的第一示例性計(jì)算機(jī)網(wǎng) 絡(luò)的示意性框圖。圖17是示出了供所公開的技術(shù)的方面在其中可以被執(zhí)行的第二示例性計(jì)算機(jī)網(wǎng) 絡(luò)的示意性框圖。圖18是示出了用于在例如圖16和圖17中的計(jì)算機(jī)網(wǎng)絡(luò)的分布式計(jì)算環(huán)境中使 用所公開的技術(shù)的實(shí)施方式的一個(gè)示例性方法的流程圖。圖19是示出了根據(jù)所公開的技術(shù)的實(shí)施方式修改RTOS源代碼的一個(gè)示例性方法 的流程圖。
具體實(shí)施例方式I.總體考慮下文公開了可以與設(shè)計(jì)、仿真或驗(yàn)證嵌入式系統(tǒng)結(jié)合使用的方法、系統(tǒng)和裝置的 代表性實(shí)施方式。所公開的方法、系統(tǒng)和裝置不應(yīng)當(dāng)被解釋為任何形式的限制。反之,本公 開涉及各個(gè)所公開實(shí)施方式的全部新穎的和非顯而易見的特征和方面,不論是單獨(dú)的或是 與其他特征和方面的各種組合和子組合。所公開的方法、系統(tǒng)和裝置不限于任何特定的方 面、特征或它們的結(jié)合,而且所公開的方法、系統(tǒng)和裝置也不要求存在一個(gè)或多個(gè)特定的優(yōu) 點(diǎn)或解決特定的問(wèn)題。盡管一些所公開的方法的操作為了方便的描述而采取特定的、連續(xù)的順序進(jìn)行描 述,應(yīng)當(dāng)理解的是除非在下述中通過(guò)特定的語(yǔ)言闡明了所需要的特定順序,這種描述的方 式中包括了重新排序的情形。例如,順序地進(jìn)行描述的操作在某些情況下可以被重新排序 或者被同時(shí)執(zhí)行。此外,為了簡(jiǎn)單起見,附圖可能并未示出可以供所公開的方法在其中與其 他方法共同使用的各種方式。此外,在描述中有時(shí)會(huì)使用例如“觸發(fā)”和“生成”的術(shù)語(yǔ)來(lái) 描述所公開的方法。這些術(shù)語(yǔ)是所執(zhí)行的實(shí)際操作的高級(jí)抽象。與這些術(shù)語(yǔ)相對(duì)應(yīng)的實(shí)際 操作可以取決于特定的實(shí)現(xiàn)而進(jìn)行變化并且可以被本領(lǐng)域技術(shù)人員容易地識(shí)別。所公開的技術(shù)可以在一個(gè)或多個(gè)嵌入式系統(tǒng)的設(shè)計(jì)、仿真和/或驗(yàn)證期間應(yīng)用。 嵌入式系統(tǒng)通常是包括互相通信的多個(gè)嵌入式系統(tǒng)的分布式系統(tǒng)的一部分。嵌入式系統(tǒng) 可以使用各種不同的硬件技術(shù)來(lái)實(shí)現(xiàn),該硬件技術(shù)包括集成電路(例如,專用集成電路(ASIC),可編程邏輯器件(PLD),芯片系統(tǒng)(S0C或微處理器)或印刷電路板(PCB),它們本 身可以包括一個(gè)或多個(gè)集成電路和/或模擬組件)。此外,嵌入式系統(tǒng)可以使用驅(qū)動(dòng)或控 制硬件的多種軟件技術(shù)來(lái)實(shí)現(xiàn)。一個(gè)或多個(gè)嵌入式系統(tǒng)可以被使用在種類繁多的電子設(shè)備 中,其范圍從便攜式電子設(shè)備(例如,移動(dòng)電話、媒體播放器等等)到規(guī)模更大的項(xiàng)目(例 如,計(jì)算機(jī)、控制系統(tǒng)、飛機(jī)、汽車、工廠等等)。所有這些包括至少部分使用公開的技術(shù)的實(shí) 施方式進(jìn)行設(shè)計(jì)、仿真和/或驗(yàn)證的一個(gè)或多個(gè)嵌入式系統(tǒng)的項(xiàng)目都被認(rèn)為是在本公開文 本的范圍中。任何所公開的方法都可以通過(guò)使用存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)(例如,有 形的計(jì)算機(jī)可讀介質(zhì),例如一個(gè)或多個(gè)光學(xué)介質(zhì)(例如,CD或者DVD),易失性存儲(chǔ)器組件 (例如DRAM或者SRAM),或者非易失性存儲(chǔ)器組件(例如硬盤驅(qū)動(dòng)器))上的軟件進(jìn)行執(zhí)行, 該介質(zhì)存儲(chǔ)計(jì)算機(jī)可執(zhí)行的指令,當(dāng)該指令由計(jì)算機(jī)(例如,任何市場(chǎng)上有售的計(jì)算機(jī))執(zhí) 行時(shí)使得該計(jì)算機(jī)執(zhí)行任何所公開的方法。這樣的軟件可以包括例如用于提供交互式設(shè)計(jì) 空間的電子設(shè)計(jì)自動(dòng)化(EDA)軟件工具,在該空間中,可以對(duì)嵌入式系統(tǒng)或者分布式嵌入 式系統(tǒng)(包括兩個(gè)或更多嵌入式系統(tǒng))的任何硬件或者軟件組件進(jìn)行設(shè)計(jì)、仿真和/或驗(yàn) ilE。 一禾中歹iJt生胃: ! /入 Mentor Graphics CorporationSystem Vision tool ο這樣的軟件可以在單個(gè)計(jì)算機(jī)或者網(wǎng)絡(luò)計(jì)算機(jī)(例如,通過(guò)因特網(wǎng)、廣域網(wǎng)、局域 網(wǎng)、客戶-服務(wù)器網(wǎng)絡(luò)或者其他這樣的網(wǎng)絡(luò))上執(zhí)行。為了清楚,僅僅描述了基于軟件的實(shí) 現(xiàn)的某些選定的方面。省略了在本領(lǐng)域所公知的其他細(xì)節(jié)。例如,應(yīng)當(dāng)理解的是,所公開的 技術(shù)并非被限制于任何特定的計(jì)算機(jī)語(yǔ)言、程序、計(jì)算機(jī),或者網(wǎng)絡(luò)架構(gòu)。出于同樣的原因, 可以用來(lái)執(zhí)行計(jì)算機(jī)可讀的指令的計(jì)算機(jī)硬件并未進(jìn)一步詳細(xì)地描述。此外,可以使用多種不同的數(shù)據(jù)結(jié)構(gòu)或者格式,在計(jì)算機(jī)可讀介質(zhì)(例如一種或 多種有形的計(jì)算機(jī)可讀介質(zhì),例如光學(xué)媒介(例如,CD或者DVD),易失性存儲(chǔ)器組件(例如 DRAM或者SRAM),或者非易失性存儲(chǔ)器組件(例如硬盤驅(qū)動(dòng)器))上,創(chuàng)建、更新,或者存儲(chǔ) 由任何所公開的方法產(chǎn)生的針對(duì)一個(gè)或多個(gè)嵌入式系統(tǒng)的設(shè)計(jì)信息、針對(duì)在一個(gè)或多個(gè)嵌 入式系統(tǒng)中的執(zhí)行而修改的軟件(例如,經(jīng)修改的實(shí)時(shí)操作系統(tǒng)或者嵌入式軟件應(yīng)用),或 者源自對(duì)一個(gè)或多個(gè)嵌入式系統(tǒng)的仿真的仿真結(jié)果(包括任何中間的或者部分的結(jié)果)。 這樣的設(shè)計(jì)信息、經(jīng)修改的軟件和/或仿真結(jié)果可以在本地計(jì)算機(jī)或者網(wǎng)絡(luò)上(例如,由服 務(wù)器計(jì)算機(jī))進(jìn)行創(chuàng)建或者更新??梢酝ㄟ^(guò)包括因特網(wǎng)、內(nèi)部網(wǎng)絡(luò)、萬(wàn)維網(wǎng)、軟件應(yīng)用、電話、電視、電纜、視頻、無(wú)線 電、磁通信、電子通信或者其他通信手段的多種有形通信介質(zhì)來(lái)傳遞或者訪問(wèn)用于實(shí)現(xiàn)任 何所公開的方法的計(jì)算機(jī)可執(zhí)行的指令、使用任何所公開的方法而產(chǎn)生的設(shè)計(jì)信息、由所 公開的方法所生成的經(jīng)修改的軟件,和/或使用任何所公開的方法而產(chǎn)生的仿真結(jié)果。例 如,用于導(dǎo)致計(jì)算機(jī)執(zhí)行任何所公開的方法的計(jì)算機(jī)可執(zhí)行的指令可以通過(guò)任何這樣的有 形通信介質(zhì)從服務(wù)器計(jì)算機(jī)傳遞到客戶端計(jì)算機(jī)并且存儲(chǔ)在位于客戶端計(jì)算機(jī)的有形的 計(jì)算機(jī)可讀介質(zhì)中。任何所公開的方法也可以在計(jì)算機(jī)仿真環(huán)境中使用,其中使用存儲(chǔ)在一個(gè)或多個(gè) 計(jì)算機(jī)可讀介質(zhì)上的嵌入式系統(tǒng)的表達(dá)(或者模型)對(duì)嵌入式系統(tǒng)進(jìn)行仿真或者分析。然 而,出于介紹的目的,本公開文本有時(shí)通過(guò)嵌入式系統(tǒng)或者其組件的物理對(duì)偶(例如,處理器,總線、接口,以及其他這樣的項(xiàng)目)來(lái)指代該嵌入式系統(tǒng)或者其組件。然而,應(yīng)當(dāng)理解的 是,在公開文本或者權(quán)利要求中的任何對(duì)物理組件的提及不僅包括物理組件,還包括在仿 真、設(shè)計(jì),或者其他這樣的EDA環(huán)境中所使用的這樣的組件的表達(dá)(或者模型)。II.嵌入式系統(tǒng)概沭圖1是典型的嵌入式系統(tǒng)100的示意性框圖。被示出的嵌入式系統(tǒng)100包括在印 刷電路板(PCB) 110上的多個(gè)硬件組件。應(yīng)當(dāng)注意的是,PCB 110僅僅是針對(duì)嵌入式系統(tǒng)硬 件的多種可行物理封裝中的一種。其他的封裝選擇包括集成電路(例如,ASIC、PLD,或者 SoC)。此外,多個(gè)嵌入式系統(tǒng)可以被包含在相同的物理封裝(例如,多核ASIC或者多處理 器PCB)中。所有這些封裝可能都被認(rèn)為在本公開文本的范圍中,并且可與所公開的技術(shù)結(jié) 合使用。然而,為了便于說(shuō)明,附圖以及隨后的論述以PCB作為參考。在圖1中,盡管這個(gè) 實(shí)現(xiàn)不應(yīng)當(dāng)被解釋為限制,獨(dú)立的嵌入式系統(tǒng)的范圍在概念上被示為PCB 110。此外,在嵌 入式系統(tǒng)100中示出的組件的數(shù)量和類型將隨著實(shí)現(xiàn)的不同而變化并且不應(yīng)當(dāng)被解釋為 限制。嵌入式系統(tǒng)100包括處理器120(例如,微處理器或者微控制器)。處理器120可以 是任何適合的處理器,但是通常使用軟件150進(jìn)行操作,軟件150包括實(shí)時(shí)操作系統(tǒng)(RTOS) 軟件組件以及一個(gè)或者多個(gè)應(yīng)用軟件組件。RTOS軟件組件通常對(duì)處理器如何執(zhí)行應(yīng)用軟件 組件(任務(wù))進(jìn)行控制和調(diào)度。一般來(lái)說(shuō),RTOS提供“確定的”定時(shí)行為。換句話說(shuō),由RTOS提供的操作系統(tǒng)服務(wù) 僅僅消耗已知的并且預(yù)期的時(shí)間量,由此允許操作系統(tǒng)運(yùn)行在實(shí)時(shí)環(huán)境中使用的應(yīng)用,在 該環(huán)境中,及時(shí)地完成特定的任務(wù)可能對(duì)整個(gè)系統(tǒng)的正確操作來(lái)說(shuō)非常重要。出于這個(gè)原 因,使用RTOS的處理器經(jīng)常被用于復(fù)雜電子設(shè)備中的嵌入式應(yīng)用。應(yīng)當(dāng)注意的是,所公開 的技術(shù)通??梢栽谔峁┐_定的定時(shí)行為的操作系統(tǒng)或者調(diào)度器中使用,它們都被認(rèn)為是包 含在如在這里所使用的術(shù)語(yǔ)RTOS之中。圖1中的處理器120耦合到一個(gè)或多個(gè)輸入/輸出(I/O)機(jī)制122,其支持嵌入式 系統(tǒng)100與附加系統(tǒng)或者組件進(jìn)行通信。I/O機(jī)制122可以包括一個(gè)或多個(gè)本領(lǐng)域中已知 的通信信道。例如,I/O機(jī)制122可以包括以下一個(gè)或多個(gè)局域網(wǎng)(LAN)信道,通用串行 總線(USB)信道,串行外圍接口(SPI)信道,聯(lián)合測(cè)試推動(dòng)團(tuán)體(JTAG)信道,拐射線信道, 局域互連網(wǎng)絡(luò)(LIN)信道,控制器區(qū)域網(wǎng)絡(luò)(CAN)信道,進(jìn)程間通信(IPC)信道,或者任何 它們的組合或子組合。此列表不應(yīng)當(dāng)被解釋為限制,因?yàn)镮/O機(jī)制可以包括其他模擬的或 數(shù)字的通信信道(包括例如,任何模數(shù)(A/D)或者數(shù)模(D/A)轉(zhuǎn)換器)。所示出的嵌入式系統(tǒng)100還包括存儲(chǔ)器124,其耦合到處理器120并且用于存儲(chǔ) 軟件150以及在嵌入式系統(tǒng)的操作期間所生成的信息,或者用于向處理器提供信息。例如, 存儲(chǔ)器IM可以存儲(chǔ)將由處理器在嵌入式系統(tǒng)100的操作期間執(zhí)行的用于RTOS軟件組件 以及一個(gè)或多個(gè)嵌入式應(yīng)用軟件組件(任務(wù))的機(jī)器代碼。存儲(chǔ)器1 可以包括任何一種 或多種不同的非易失性存儲(chǔ)器組件(例如,EEPR0M、硬盤驅(qū)動(dòng)器、微型磁盤、閃存、非易失性 RAM之類的)或者易失性存儲(chǔ)器組件(例如,DRAM、SRAM之類的)。所示出的嵌入式系統(tǒng)100還包括時(shí)鐘源130以及時(shí)鐘生成器電路132。時(shí)鐘源130 可以包括例如晶體振蕩器(例如,石英振蕩器)或者其他穩(wěn)定的、周期性的信號(hào)源。時(shí)鐘生 成器電路132通常包括組合邏輯和/或時(shí)序邏輯,配置用于從時(shí)鐘源130接收時(shí)鐘信號(hào)以 及提供從原始的時(shí)鐘信號(hào)所獲得的一個(gè)或多個(gè)其他的時(shí)鐘信號(hào)。例如,時(shí)鐘生成器電路132可以包括產(chǎn)生不同頻率的時(shí)鐘信號(hào)的時(shí)鐘分頻邏輯或者時(shí)鐘倍增邏輯。在所示出的實(shí)施方式中,例如,時(shí)鐘生成器電路132針對(duì)處理器120生成兩個(gè)時(shí)鐘 信號(hào)處理器時(shí)鐘140和實(shí)時(shí)時(shí)鐘142。處理器時(shí)鐘140和實(shí)時(shí)時(shí)鐘142 二者都根據(jù)來(lái)自時(shí) 鐘源130的原始時(shí)鐘信號(hào)而獲得。由于實(shí)時(shí)時(shí)鐘142來(lái)自與處理器時(shí)鐘140同樣的源,兩 個(gè)時(shí)鐘可以相互耦合,并且共享相同的時(shí)基。應(yīng)當(dāng)注意的是,時(shí)鐘電路130和132的布置僅 僅是生成共享相同的時(shí)基的兩個(gè)時(shí)鐘的多種方法中的一種,并且不應(yīng)當(dāng)被解釋為限制。例 如,時(shí)鐘140和142中的每一個(gè)可以根據(jù)不同的時(shí)鐘源或者時(shí)鐘生成器電路(例如,兩個(gè)獨(dú) 立的石英振蕩器)獲得。然而,由于兩個(gè)時(shí)鐘源最終依賴于現(xiàn)實(shí)世界的物理學(xué)進(jìn)行振蕩,因 此它們共享相同的時(shí)基并且因此被認(rèn)為是互相耦合的。處理器時(shí)鐘140控制處理器120執(zhí)行個(gè)體指令的基本速率。相反,實(shí)時(shí)時(shí)鐘142控 制由處理器120對(duì)任務(wù)(例如,指令集)進(jìn)行調(diào)用、執(zhí)行以及先占的速率。實(shí)時(shí)時(shí)鐘142通 常比處理器時(shí)鐘140慢,并且與在處理器120上運(yùn)行的操作系統(tǒng)(例如,RT0S)結(jié)合使用。圖2是示出了與嵌入式系統(tǒng)100有關(guān)的不同的抽象層的示意性框圖200。應(yīng)用層 210代表軟件150的應(yīng)用部分,其嵌入在系統(tǒng)100中,并且提供系統(tǒng)的所需要的行為。應(yīng)用 層210是對(duì)與嵌入式系統(tǒng)進(jìn)行交互的其他組件和系統(tǒng)“可見的”的分層,其響應(yīng)于實(shí)時(shí)時(shí)鐘 信號(hào)以及在某些情況下響應(yīng)于其他實(shí)時(shí)事件而輸入和輸出信息。RTOS層220代表在處理 器上運(yùn)行的軟件150的RTOS部分。RTOS層220提供系統(tǒng)的確定的行為,并且執(zhí)行應(yīng)用層 210。應(yīng)用層210和RTOS層220共同代表嵌入式系統(tǒng)的軟件250。嵌入式系統(tǒng)的軟件 250代表在處理器上運(yùn)行的軟件150。由于有軟件應(yīng)用執(zhí)行的操作本質(zhì)上是生成可預(yù)知的 輸出以及控制整個(gè)嵌入式系統(tǒng)的邏輯行為的邏輯操作,因此應(yīng)用層和RTOS層可以被視為 在“應(yīng)用時(shí)域”或者“邏輯平面”中進(jìn)行操作。應(yīng)用時(shí)域推進(jìn)的速率由實(shí)時(shí)時(shí)鐘和/或由一 個(gè)或多個(gè)實(shí)時(shí)事件(其可以與實(shí)時(shí)時(shí)鐘同步或者異步)來(lái)定義。圖2中的處理器層230代表供軟件250在其上操作的處理器。I/O子系統(tǒng)層240 代表嵌入式系統(tǒng)的各種其他硬件組件,其耦合到處理器及其執(zhí)行的軟件250或者以其他方 式支持其操作。此外,在I/O子系統(tǒng)層240中的某些組件支持處理器(例如,JTAG 242),其 他組件支持應(yīng)用(例如,模擬和數(shù)字I/O M4)。處理器層230和I/O子系統(tǒng)層240共同代表嵌入式系統(tǒng)的硬件沈0。由于由處理器 以及嵌入式系統(tǒng)的其他硬件所執(zhí)行的操作對(duì)于與嵌入式系統(tǒng)交互的組件來(lái)說(shuō)是不可見的, 并且該操作不是由應(yīng)用直接定義的,因此由處理器以及嵌入式系統(tǒng)的其他硬件所執(zhí)行的操 作可以被看作是在不同的時(shí)域或平面中進(jìn)行操作。特別地,由于處理器的操作由嵌入式系 統(tǒng)上的物理時(shí)鐘源來(lái)控制,因此處理器層230可以被視為在“物理時(shí)域”或者“物理平面”中 進(jìn)行操作。繼而在概念上,“邏輯平面”與嵌入式軟件應(yīng)用所執(zhí)行的邏輯操作相關(guān),而“物理 平面”與執(zhí)行嵌入式軟件的或者以其他方式物理上存在于嵌入式系統(tǒng)中的底層系統(tǒng)相關(guān), 并且并不控制嵌入式系統(tǒng)的邏輯行為。圖3是示出了圖1中所示的嵌入式系統(tǒng)100可以操作的典型的控制系統(tǒng)300的示 意性框圖。在相關(guān)部分中,圖3示出了嵌入式系統(tǒng)310、致動(dòng)器320、設(shè)備330以及傳感器 340。在所示出的實(shí)施方式中,致動(dòng)器320耦合到嵌入式系統(tǒng)310,并且從嵌入式系統(tǒng)310接 收影響致動(dòng)器狀態(tài)的控制信號(hào)。致動(dòng)器320轉(zhuǎn)而耦合到設(shè)備330,并且配置用于根據(jù)致動(dòng)器的狀態(tài)而改變?cè)O(shè)備的某些性能或者操作特性。傳感器340耦合到設(shè)備330,并且配置用于獲 得與致動(dòng)器320所改變的設(shè)備的性能或者操作特性有關(guān)的測(cè)量值。傳感器340還耦合到嵌 入式系統(tǒng)310,并且向嵌入式系統(tǒng)提供代表測(cè)量值的傳感器信號(hào)。以此方式,控制系統(tǒng)300 構(gòu)成了閉環(huán)控制系統(tǒng)。這樣的閉環(huán)控制系統(tǒng)被用于各種應(yīng)用中,它們?nèi)慷伎梢允褂盟_的技術(shù)的實(shí) 施方式進(jìn)行設(shè)計(jì)、仿真或者驗(yàn)證。例如,這樣的閉環(huán)控制系統(tǒng)描述了在現(xiàn)代汽車以及其他交 通工具中存在的機(jī)電系統(tǒng)。例如,控制系統(tǒng)300可以包括汽車的電子節(jié)流閥控制,在這種情 況下設(shè)備330將會(huì)是電子節(jié)流閥體,致動(dòng)器320將會(huì)是節(jié)流閥轉(zhuǎn)動(dòng)體(例如,電動(dòng)機(jī)),其響 應(yīng)于來(lái)自嵌入式系統(tǒng)310的控制信號(hào)而進(jìn)行操作從而移動(dòng)節(jié)流閥體的節(jié)流閥板,以及傳感 器340將會(huì)是節(jié)流閥板位置傳感器(例如,電位計(jì)),其進(jìn)行操作以檢測(cè)并且測(cè)量節(jié)流閥板 的位置。此外,雖然在圖3中示出的是單個(gè)閉環(huán)控制系統(tǒng),但是單個(gè)嵌入式系統(tǒng)可以與耦 合到相應(yīng)附加設(shè)備的一個(gè)或多個(gè)附加致動(dòng)器或者傳感器交互,從而形成多個(gè)附加閉環(huán)系 統(tǒng)。類似地,嵌入式系統(tǒng)可以是較大的分布式嵌入式系統(tǒng)(包括由通信網(wǎng)絡(luò)或者信道連接 的兩個(gè)或更多嵌入式系統(tǒng))的一部分,每個(gè)控制任意數(shù)目的致動(dòng)器并且從任意數(shù)量的傳感 器接收信號(hào)。III.示例件設(shè)計(jì)、仿真和驗(yàn)證環(huán)境在對(duì)嵌入式系統(tǒng)(例如,在分布式嵌入式系統(tǒng)中使用的嵌入式系統(tǒng))進(jìn)行設(shè)計(jì)、仿 真或者驗(yàn)證的過(guò)程期間,經(jīng)常會(huì)需要對(duì)嵌入式系統(tǒng)的一個(gè)、某些或全部組件(包括將要在 嵌入式系統(tǒng)上執(zhí)行的軟件)或者嵌入式系統(tǒng)試圖與之耦合的一個(gè)、某些或全部組件(例如, 致動(dòng)器、設(shè)備、傳感器,以及其他這樣的組件)進(jìn)行仿真。在圖4和圖5中示出了可以用來(lái)使用所公開的技術(shù)的實(shí)施方式來(lái)對(duì)嵌入式系統(tǒng)或 者分布式嵌入式系統(tǒng)中的任何組件進(jìn)行設(shè)計(jì)、仿真或者驗(yàn)證的示例性環(huán)境。特別地,圖4是 示出了耦合到工作站420的嵌入式系統(tǒng)410的示意性框圖400。圖5是示出了嵌入式系統(tǒng) 510、512、514的示意性框圖500,其中嵌入式系統(tǒng)510、512、514共同形成耦合到工作站520、 530的示例性分布式嵌入式系統(tǒng)516。雖然在圖5中示出的是3個(gè)嵌入式系統(tǒng)以及2個(gè)工 作站,但是任意數(shù)目的嵌入式系統(tǒng)都可以被包括在分布式嵌入式系統(tǒng)516中,并且任意數(shù) 量的工作站都可以被包括在該環(huán)境中。工作站420、520、530通常通過(guò)適合的通信總線或者 其他向嵌入式系統(tǒng)提供通信的接口耦合到嵌入式系統(tǒng)。工作站可以用于例如設(shè)計(jì)、仿真或者驗(yàn)證任何傳感器、致動(dòng)器、設(shè)備或者嵌入式系 統(tǒng)410、510、512、514試圖與之通信的其他嵌入式系統(tǒng)。設(shè)計(jì)者還可以使用工作站420、520、 530上的軟件工具對(duì)將在嵌入式系統(tǒng)上執(zhí)行的嵌入式軟件應(yīng)用進(jìn)行設(shè)計(jì)或者仿真。換句話 說(shuō),圖4和圖5中所示的示例性仿真環(huán)境可以被用作針對(duì)硬件和軟件二者的設(shè)計(jì)、仿真或者 驗(yàn)證過(guò)程的一部分。例如,工作站420、520、530可以提供調(diào)試環(huán)境,其允許用戶對(duì)軟件就像 該軟件正在由處理器執(zhí)行一樣進(jìn)行調(diào)試。工作站420、520、530還可以提供仿真環(huán)境,其允 許用戶在嵌入式系統(tǒng)中對(duì)應(yīng)用的執(zhí)行進(jìn)行仿真(例如,使用指令集仿真器、RTOS仿真器,或 者其他適合的仿真器),從而向可以有助于對(duì)軟件所試圖進(jìn)行的操作進(jìn)行驗(yàn)證的嵌入式系 統(tǒng)產(chǎn)生適當(dāng)?shù)男盘?hào)。此外,工作站420、520、530可以提供仿真環(huán)境,在其中對(duì)與嵌入式系統(tǒng) 進(jìn)行交互的硬件組件(例如,致動(dòng)器、設(shè)備,以及傳感器)進(jìn)行仿真??梢蕴峁┤缟纤龅姆抡姝h(huán)境的軟件工具的一個(gè)示例是來(lái)自Mentor Graphics Corporation的市場(chǎng)上有售的 System Vision系統(tǒng)建模軟件工具。此外,雖然在圖4中僅僅示出了單個(gè)工作站,但應(yīng)當(dāng)理解的是,嵌入式系統(tǒng)所耦合 到的仿真環(huán)境可以由兩個(gè)或更多工作站來(lái)實(shí)現(xiàn),其中每個(gè)都運(yùn)行兩個(gè)或者更多軟件工具, 或者該仿真環(huán)境可以包含通過(guò)附加I/O機(jī)制耦合到嵌入式系統(tǒng)的多個(gè)仿真環(huán)境(通過(guò)一 個(gè)、兩個(gè),或者更多的工作站實(shí)現(xiàn))。此外,應(yīng)當(dāng)理解的是,整體的系統(tǒng)(包括一個(gè)或者更多 的嵌入式系統(tǒng))可以被仿真,使得在設(shè)計(jì)、仿真或者驗(yàn)證過(guò)程中不使用物理嵌入式系統(tǒng)。任何上述的環(huán)境都可以在對(duì)所公開的技術(shù)的具體實(shí)施方式
的執(zhí)行中使用。IV.控制實(shí)時(shí)事件在開發(fā)分布式嵌入式系統(tǒng)的設(shè)計(jì)、仿真和/或驗(yàn)證階段期間,經(jīng)常需要在所控制 的環(huán)境中對(duì)分布式嵌入式系統(tǒng)的一個(gè)或多個(gè)組件(硬件或軟件)進(jìn)行建模,以及對(duì)該組件 的操作進(jìn)行仿真。例如,常常期望在嵌入式軟件正由嵌入式系統(tǒng)的處理器執(zhí)行并且正與其 他系統(tǒng)和/或分布式系統(tǒng)的組件交互時(shí),分析或調(diào)試用于嵌入式系統(tǒng)的嵌入式軟件。然而, 由于嵌入式系統(tǒng)的實(shí)時(shí)時(shí)鐘和處理器時(shí)鐘通常相互耦合并且共享相同的時(shí)基,嵌入式軟件 的軟件調(diào)試或者仿真可能會(huì)存在問(wèn)題。例如,在工作站上運(yùn)行的軟件調(diào)試器或者仿真器可 能無(wú)法與根據(jù)嵌入式系統(tǒng)上的源時(shí)鐘導(dǎo)出的實(shí)時(shí)時(shí)鐘保持同步?;蛘撸谀承┣闆r下,可 能期望以遠(yuǎn)快于源時(shí)鐘所提供速率的速率,對(duì)在工作站上運(yùn)行的軟件中的實(shí)時(shí)事件進(jìn)行仿 真。然而,由于實(shí)時(shí)時(shí)鐘和處理器時(shí)鐘之間的相互耦合以及所共享的時(shí)基,通常都不可能實(shí) 現(xiàn)這樣的被控制的仿真。此外,當(dāng)正在設(shè)計(jì)或者驗(yàn)證的系統(tǒng)耦合到其他嵌入式系統(tǒng)、致動(dòng)器、設(shè)備和/或傳 感器時(shí),通常不可能在其他組件的物理時(shí)域中啟動(dòng)、停止或以其他方式控制時(shí)鐘或者定時(shí) 事件。例如,如果設(shè)計(jì)者正在使用耦合到工作站以及物理發(fā)動(dòng)機(jī)的嵌入式系統(tǒng)的原型對(duì)用 于控制發(fā)動(dòng)機(jī)的嵌入式系統(tǒng)中的軟件進(jìn)行驗(yàn)證,在工作站上運(yùn)行的軟件不可能迅速地“停 止”發(fā)動(dòng)機(jī)運(yùn)行于其中的底層物理時(shí)域(例如,在工作站上運(yùn)行的軟件不可能立即停止以及 啟動(dòng)在磁場(chǎng)中旋轉(zhuǎn)的物理發(fā)動(dòng)機(jī)電樞,也不能夠立即停止以及啟動(dòng)與其軸連接的設(shè)備)。為了幫助解決這些問(wèn)題,所公開的技術(shù)的實(shí)施方式將實(shí)時(shí)時(shí)鐘與正在被設(shè)計(jì)、仿 真或者驗(yàn)證的嵌入式系統(tǒng)的處理器時(shí)鐘分離(或稱解耦)。所公開的技術(shù)的實(shí)施方式允許 獨(dú)立于正在被設(shè)計(jì)、仿真或者驗(yàn)證的嵌入式系統(tǒng)的物理時(shí)域來(lái)控制應(yīng)用時(shí)域(因此,兩個(gè) 時(shí)域可以具有不同的并且獨(dú)立的時(shí)域,其中每個(gè)都可以單獨(dú)控制)。例如,在某些實(shí)施方式 中,控制嵌入式應(yīng)用的實(shí)時(shí)時(shí)鐘由工作站上運(yùn)行的軟件生成,而不是由嵌入式系統(tǒng)上的時(shí) 鐘源生成。處理器時(shí)鐘因此可以保持不受干擾,并且繼續(xù)根據(jù)時(shí)鐘源導(dǎo)出。此分離使得可 以在不改變?cè)撓到y(tǒng)的底層執(zhí)行的情況下啟動(dòng)、停止、暫停和繼續(xù)嵌入式應(yīng)用的“實(shí)時(shí)性”。圖6是示出了示例性設(shè)計(jì)、仿真或驗(yàn)證環(huán)境的示意性框圖600,其中工作站660耦 合至嵌入式系統(tǒng)610,并且實(shí)時(shí)時(shí)鐘根據(jù)嵌入式系統(tǒng)的時(shí)鐘源導(dǎo)出。特別地,嵌入式系統(tǒng) 610包括時(shí)鐘源630,其生成由時(shí)鐘生成器電路632接收的原始時(shí)鐘信號(hào)。時(shí)鐘生成器電路 632根據(jù)原始時(shí)鐘信號(hào)生成兩個(gè)時(shí)鐘信號(hào)實(shí)時(shí)時(shí)鐘信號(hào)和處理器時(shí)鐘信號(hào)。實(shí)時(shí)時(shí)鐘信 號(hào)和處理器時(shí)鐘信號(hào)二者都耦合到嵌入式處理器620。出于說(shuō)明的目的,在圖6中用虛線 650示出了實(shí)時(shí)時(shí)鐘從其原始源的路徑。出于進(jìn)一步說(shuō)明的目的,沿著路徑650的信號(hào)被為 觸發(fā)(通常是通過(guò)處理器620的中斷子系統(tǒng))沿路徑670的另一信號(hào),該另一信號(hào)從硬件
16繼續(xù)并且進(jìn)入RTOS軟件680的中斷子系統(tǒng)。嵌入式處理器620的RTOS使用實(shí)時(shí)時(shí)鐘信號(hào) 來(lái)控制由嵌入式處理器正在執(zhí)行的嵌入式軟件應(yīng)用定義的任務(wù)的執(zhí)行。處理器620使用處 理器時(shí)鐘來(lái)控制執(zhí)行與每個(gè)實(shí)時(shí)事件相關(guān)聯(lián)的指令的速率。圖7是示出了圖6中的示例性設(shè)計(jì)、仿真或驗(yàn)證環(huán)境的示意性框圖700,其中實(shí)時(shí) 時(shí)鐘獨(dú)立于處理器時(shí)鐘(或稱與之解耦),并且因此可以具有不同的時(shí)基。在圖7中用虛 線652示出了實(shí)時(shí)時(shí)鐘信號(hào)路徑。在所示出的實(shí)施方式中,實(shí)時(shí)時(shí)鐘由工作站660上運(yùn)行 的軟件生成。特別地,圖7中的實(shí)時(shí)時(shí)鐘信號(hào)由工作站660上運(yùn)行的軟件調(diào)試器或者仿真 工具之類的軟件生成?!胺抡娴摹睂?shí)時(shí)時(shí)鐘信號(hào)通過(guò)在工作站660與處理器620之間提供 通信信道的I/O機(jī)制之一而耦合到嵌入式系統(tǒng)610。實(shí)時(shí)時(shí)鐘信號(hào)可以通過(guò)能夠?qū)⒐ぷ髡?660耦合到處理器620的中斷子系統(tǒng)的、嵌入式系統(tǒng)的任何適當(dāng)I/O機(jī)制622進(jìn)行傳播。例 如,實(shí)時(shí)時(shí)鐘信號(hào)可以通過(guò)以下來(lái)路由LAN信道,USB信道,SPI信道,JTAG信道,拐射線信 道,LIN信道,CAN信道,IPC信道,或者它們的任何組合或者子組合。與圖6中沿路徑650 的信號(hào)如何被示為觸發(fā)沿路徑670的另一信號(hào)相類似,圖7中沿路徑652的信號(hào)被示為觸 發(fā)(通常通過(guò)處理器620的中斷子系統(tǒng))沿路徑670的另一信號(hào),該另一信號(hào)從硬件繼續(xù), 并且進(jìn)入RTOS軟件680的中斷子系統(tǒng)。為了使RTOS可以沿著耦合到工作站的通信信道適當(dāng)?shù)亟邮諏?shí)時(shí)時(shí)鐘信號(hào),通常 會(huì)執(zhí)行對(duì)RTOS和/或其他嵌入式軟件的修改。例如,可以修改處理用于RTOS的基本定時(shí) 服務(wù)的RTOS組件,使得期望出現(xiàn)實(shí)時(shí)時(shí)鐘的信道被改變?yōu)樯鲜隹蛇x信道之一。對(duì)于某些 RT0S,此修改可以這樣來(lái)執(zhí)行修改配置文件、參數(shù)或者通過(guò)RTOS制造者提供的某些其他 配置過(guò)程(例如,作為RTOS的構(gòu)建/配置步驟中的一部分,或者在RTOS的運(yùn)行時(shí)配置步驟 期間)。然而,對(duì)于某些RT0S,可能需要修改RTOS本身的源代碼。在某些情況下,備選地或 者附加地,可能需要修改其他嵌入式組件,使得RTOS可以通過(guò)耦合到工作站660的期望I/ 0機(jī)制來(lái)預(yù)期實(shí)時(shí)時(shí)鐘。例如,在某些情況下,可能還要或者備選地修改外圍驅(qū)動(dòng)器軟件。圖8是示出了用于根據(jù)所公開的技術(shù)修改RTOS的一種示例性實(shí)施方式800的流 程圖。在810,接收用于嵌入式系統(tǒng)的處理器的RTOS的至少一部分(例如,用于處理定時(shí)服 務(wù)或者計(jì)時(shí)器分配的RTOS部分)。在812,修改RT0S,使得傳送實(shí)時(shí)時(shí)鐘的路徑是將要耦合 到主機(jī)計(jì)算機(jī)的嵌入式系統(tǒng)的通信信道(例如,LAN信道,USB信道,SPI信道,JTAG信道, 拐射線信道,LIN信道,CAN信道,IPC信道,或者它們的任何組合或者子組合)。因此,實(shí)時(shí) 時(shí)鐘信號(hào)的源與處理器時(shí)鐘信號(hào)的源解耦(信號(hào)的最終的“時(shí)基”或者“時(shí)間平面”因而被 解耦,并且因此可以獨(dú)立控制)。在814,存儲(chǔ)經(jīng)修改的RTOS (例如,在主機(jī)工作站的一個(gè)或 多個(gè)有形的計(jì)算機(jī)可讀介質(zhì)上,或者在用于執(zhí)行的嵌入式系統(tǒng)的存儲(chǔ)器中)。圖19是示出了用于修改RTOS以使用實(shí)時(shí)時(shí)鐘信號(hào)的備選源的另一示例性方法的 流程圖。雖然該圖示出了修改RTOS以使用實(shí)時(shí)時(shí)鐘信號(hào)的備選源的過(guò)程,但是相同的過(guò)程 也可以用來(lái)有效地修改RTOS以使用實(shí)時(shí)事件的備選源。在過(guò)程框1902,例如,動(dòng)作者A向 動(dòng)作者B提供RTOS參考設(shè)計(jì)以供修改。在過(guò)程框1904,動(dòng)作者B修改RTOS源以使用實(shí)時(shí) 時(shí)鐘信號(hào)的備選信道,如所公開的實(shí)施方式中所述。在過(guò)程框1906,動(dòng)作者A從動(dòng)作者B接 收經(jīng)修改的RT0S。依賴于RTOS的任何嵌入式軟件應(yīng)用繼而可以在經(jīng)修改的RTOS上執(zhí)行。 圖19中示出的方法僅僅是一個(gè)示例,并非是根據(jù)所公開的技術(shù)的實(shí)施方式來(lái)修改RTOS的 唯一方法。
17
圖9是示出了用于控制實(shí)時(shí)時(shí)鐘(例如,在上述任何設(shè)計(jì)、仿真或者驗(yàn)證環(huán)境中) 的示例性方法900的流程圖。在910,由主機(jī)計(jì)算機(jī)上運(yùn)行的軟件生成實(shí)時(shí)時(shí)鐘信號(hào)。在 912,實(shí)時(shí)時(shí)鐘信號(hào)觸發(fā)由嵌入式系統(tǒng)的嵌入式處理器上運(yùn)行的RTOS所執(zhí)行的軟件應(yīng)用定 義的一個(gè)或多個(gè)任務(wù)。RTOS可以是經(jīng)修改的RT0S,其配置用于通過(guò)耦合到主機(jī)計(jì)算機(jī)的通 信信道來(lái)接收實(shí)時(shí)時(shí)鐘信號(hào)。例如,可以通過(guò)圖8中的方法800來(lái)修改RT0S。由于實(shí)時(shí)時(shí) 鐘獨(dú)立于嵌入式系統(tǒng)的處理器時(shí)鐘和時(shí)鐘源,因此主機(jī)計(jì)算機(jī)上運(yùn)行的軟件可以按照時(shí)間 同步的方式、以相對(duì)于處理器時(shí)鐘的不同時(shí)基、在不中斷處理器時(shí)鐘的情況下控制嵌入式 系統(tǒng)的嵌入式軟件。例如,處理器時(shí)鐘可以在方法動(dòng)作910、912期間繼續(xù)以全速(有時(shí)稱 為“高速”)運(yùn)作。在方法900的某些實(shí)現(xiàn)中,在主機(jī)計(jì)算機(jī)上運(yùn)行的軟件以“非阻塞模式”生成實(shí)時(shí) 時(shí)鐘信號(hào)。例如,在主機(jī)計(jì)算機(jī)上運(yùn)行的軟件可以繼續(xù)以期望的速率生成時(shí)鐘信號(hào),而不需 要等待處理器或者接收系統(tǒng)的其他組件確認(rèn)實(shí)時(shí)時(shí)鐘信號(hào)的接收。當(dāng)實(shí)時(shí)時(shí)鐘信號(hào)的接收 者(例如,處理器和RT0S)處理實(shí)時(shí)事件的速度能夠與提供實(shí)時(shí)事件一樣快時(shí),期望使用非 阻塞模式。備選地,在主機(jī)計(jì)算機(jī)上運(yùn)行的軟件可以按照“阻塞模式”運(yùn)作,在該模式中,在 主機(jī)計(jì)算機(jī)上運(yùn)行的軟件在生成下一信號(hào)前等待系統(tǒng)的處理器、RTOS或者其他組件對(duì)實(shí)時(shí) 時(shí)鐘信號(hào)的接收進(jìn)行確認(rèn)。這為可能正在接收實(shí)時(shí)時(shí)鐘信號(hào)的任何系統(tǒng)提供機(jī)會(huì),以控制 實(shí)時(shí)時(shí)鐘域(“應(yīng)用時(shí)域”或者“邏輯平面”)中的時(shí)間前進(jìn)。例如,由嵌入式處理器執(zhí)行的 嵌入式軟件應(yīng)用可以這樣來(lái)控制實(shí)時(shí)性的前進(jìn)在嵌入式軟件應(yīng)用準(zhǔn)備好繼續(xù)之前,不提 供確認(rèn)信號(hào)。例如當(dāng)嵌入式系統(tǒng)上運(yùn)行的嵌入式軟件由調(diào)試器控制并且已經(jīng)掛起時(shí),此模 式可能是有用的。阻塞模式有用的另一種情況是接收系統(tǒng)處理事件的速度可能無(wú)法與主 機(jī)計(jì)算機(jī)上運(yùn)行的軟件發(fā)送事件一樣快。雖然上述實(shí)施方式涉及控制由主機(jī)工作站上運(yùn)行的軟件所設(shè)計(jì)、仿真或者驗(yàn)證的 嵌入式系統(tǒng)的實(shí)時(shí)時(shí)鐘信號(hào),但是其他實(shí)時(shí)事件(例如,異步的或者非周期性的事件)同樣 可以由主機(jī)計(jì)算機(jī)上運(yùn)行的軟件進(jìn)行控制。例如,控制嵌入式系統(tǒng)操作的實(shí)時(shí)事件可以具 有各種其他源。例如,耦合到嵌入式系統(tǒng)的致動(dòng)器、傳感器、其他嵌入式系統(tǒng)和/或其他外 圍設(shè)備可以生成影響嵌入式軟件如何根據(jù)RTOS被執(zhí)行的實(shí)時(shí)事件(例如,異步中斷或者異 步外部事件)。例如,響應(yīng)于從耦合到嵌入式處理器的外圍設(shè)備接收到中斷,RTOS可以執(zhí)行 高優(yōu)先級(jí)的任務(wù)。使用所公開的技術(shù)的實(shí)施方式,這些實(shí)時(shí)事件的源可以被修改,使得它們 作為替代源于在主機(jī)計(jì)算機(jī)上運(yùn)行的軟件。圖10是示出了示例性設(shè)計(jì)、仿真或者驗(yàn)證環(huán)境的示意性框圖1000,其中工作站 1060耦合到嵌入式系統(tǒng)1010,并且耦合到嵌入式系統(tǒng)的處理器1020的外圍設(shè)備通過(guò)I/O 機(jī)制1022提供實(shí)時(shí)事件信號(hào)。在這個(gè)示例中,實(shí)時(shí)事件由另一嵌入式系統(tǒng)1070生成。然 而,此特定布置不應(yīng)被作為限制,因?yàn)閷?shí)時(shí)事件可以由多種源生成。例如,在實(shí)時(shí)系統(tǒng)中,I/ 0外圍設(shè)備(例如,A/D轉(zhuǎn)換器,脈沖寬度調(diào)制器、數(shù)字I/O或者其他這樣的外圍設(shè)備)經(jīng)常 被用于采樣以及向處理器發(fā)送數(shù)字?jǐn)?shù)據(jù),其中嵌入式軟件應(yīng)用對(duì)數(shù)據(jù)進(jìn)行操作并且向其他 子系統(tǒng)發(fā)送輸出信號(hào)。出于說(shuō)明的目的,在圖10中以虛線1050的形式示出了實(shí)時(shí)事件的 路徑,該路徑從其在另一嵌入式系統(tǒng)1070上的原始源去往處理器1020。與圖6中沿路徑 650的信號(hào)如何被示為觸發(fā)沿路徑670的另一信號(hào)相類似,圖10中沿路徑1050的信號(hào)被示 為觸發(fā)(通常通過(guò)處理器1020的中斷子系統(tǒng))沿路徑1080的另一信號(hào),該另一信號(hào)從硬件繼續(xù)并且進(jìn)入RTOS軟件1090的中斷子系統(tǒng)。圖11是示出了圖10中的示例性設(shè)計(jì)、仿真或者驗(yàn)證環(huán)境被修改后的示意性框圖 1100,該修改使得實(shí)時(shí)事件由主機(jī)計(jì)算機(jī)1060上而非其他嵌入式系統(tǒng)1070上運(yùn)行的軟件 生成。圖11中的實(shí)時(shí)事件可以由工作站1060上運(yùn)行的軟件調(diào)試器或者仿真工具之類的軟 件生成?!胺抡娴摹睂?shí)時(shí)事件可以通過(guò)在工作站1060與處理器1020之間提供通信信道的I/ 0機(jī)制之一而耦合到嵌入式系統(tǒng)1010。在圖11中用虛線1052示出了實(shí)時(shí)事件路徑。實(shí)時(shí) 事件可以通過(guò)能夠?qū)⒐ぷ髡?060耦合到處理器1020的中斷子系統(tǒng)的、嵌入式系統(tǒng)的任何 適當(dāng)I/O機(jī)制1022進(jìn)行傳播。例如,實(shí)時(shí)事件可以通過(guò)以下進(jìn)行路由LAN信道,USB信道, SPI信道,JTAG信道,拐射線信道,LIN信道,CAN信道,IPC信道或者它們的任何組合或者 子組合。與圖10中沿路徑1050的信號(hào)如何被示為觸發(fā)沿路徑1080的另一信號(hào)相類似,圖 11中沿路徑1052的信號(hào)被示為觸發(fā)(通常通過(guò)處理器1020的中斷子系統(tǒng))沿路徑1080 的另一信號(hào),該另一信號(hào)從硬件繼續(xù),并且進(jìn)入RTOS軟件1090的中斷子系統(tǒng)。如上文關(guān)于圖6所討論的,為了使處理器1020沿著耦合到工作站的通信信道適當(dāng) 地接收實(shí)時(shí)時(shí)鐘信號(hào),通常執(zhí)行對(duì)RTOS和/或其他嵌入式軟件的修改。以上關(guān)于圖7所述 的多種技術(shù)也可以被用于修改RTOS和/或其他嵌入式軟件,使得處理器1020可以通過(guò)耦 合到工作站1060的所需要的I/O機(jī)制來(lái)等待實(shí)時(shí)事件。圖12是示出了用于修改RTOS以從主機(jī)計(jì)算機(jī)上運(yùn)行的軟件接收實(shí)時(shí)事件的一種 示例性實(shí)施方式1200的流程圖。在1210,接收用于嵌入式系統(tǒng)的處理器的RTOS的至少一 部分(例如,用于處理I/O服務(wù)或者外圍設(shè)備分配的RTOS部分)。在1212,修改RT0S,使 得接收實(shí)時(shí)事件的路徑是將要耦合到主機(jī)計(jì)算機(jī)的嵌入式系統(tǒng)的通信信道(例如,LAN信 道,USB信道,SPI信道,JTAG信道,拐射線信道,LIN信道,CAN信道,IPC信道或者它們的 任何組合或者子組合)。因此,實(shí)時(shí)事件信號(hào)的源與處理器時(shí)鐘信號(hào)的源解耦(信號(hào)的最 終“時(shí)基”或者“時(shí)間平面”因而被解稱,并且因此可以獨(dú)立控制)。在1214,存儲(chǔ)經(jīng)修改的 RTOS (例如,在主機(jī)工作站的一個(gè)或多個(gè)有形的計(jì)算機(jī)可讀介質(zhì)上,或者在用于執(zhí)行的嵌入 式系統(tǒng)的存儲(chǔ)器中)。圖13是示出了用于在設(shè)計(jì)、仿真或者驗(yàn)證環(huán)境中(例如,在任何以上關(guān)于圖4和 5所述的設(shè)計(jì)或者仿真環(huán)境中)控制實(shí)時(shí)事件的示例性方法1300的流程圖。在1310,在主 機(jī)計(jì)算機(jī)上運(yùn)行的軟件生成實(shí)時(shí)事件。在1312,實(shí)時(shí)事件信號(hào)觸發(fā)由嵌入式系統(tǒng)的嵌入式 處理器上運(yùn)行的RTOS所執(zhí)行的軟件應(yīng)用定義的一個(gè)或者多個(gè)任務(wù)。RTOS可以是經(jīng)修改的 RT0S,配置用于通過(guò)耦合到主機(jī)計(jì)算機(jī)的通信信道接收實(shí)時(shí)事件信號(hào)。例如,RTOS可以通過(guò) 圖12中的方法1200進(jìn)行修改。由于實(shí)時(shí)事件獨(dú)立于嵌入式系統(tǒng)的處理器時(shí)鐘和時(shí)鐘源, 因此在主機(jī)計(jì)算機(jī)上運(yùn)行的軟件可以按照時(shí)間同步的方式、以相對(duì)于處理器時(shí)鐘不同的時(shí) 基、在不中斷處理器時(shí)鐘的情況下控制嵌入式系統(tǒng)的嵌入式軟件。例如,處理器時(shí)鐘可以在 方法動(dòng)作1310、1312期間繼續(xù)以全速運(yùn)作。如上文關(guān)于圖9所述的實(shí)時(shí)時(shí)鐘信號(hào),在主機(jī)計(jì)算機(jī)上運(yùn)行的軟件可以按照阻塞 模式或者非阻塞模式生成實(shí)時(shí)事件。當(dāng)與傳感器、致動(dòng)器或者設(shè)備的仿真模型一起使用時(shí), 阻塞模式可以為主機(jī)計(jì)算機(jī)上運(yùn)行的嵌入式軟件調(diào)試器或者仿真器提供在運(yùn)行中的物理 系統(tǒng)上“停止時(shí)間”(例如,停止實(shí)時(shí)性)的能力。當(dāng)實(shí)時(shí)事件由傳感器或者設(shè)備連續(xù)地生 成時(shí),通常無(wú)法實(shí)現(xiàn)這種控制。例如,如果實(shí)時(shí)事件由耦合到旋轉(zhuǎn)電動(dòng)機(jī)的傳感器提供,則
19不可能停止旋轉(zhuǎn)電動(dòng)機(jī)的動(dòng)量以使得軟件調(diào)試器可以單步通過(guò)控制器代碼。然而,通過(guò)對(duì) 將要由主機(jī)計(jì)算機(jī)上運(yùn)行的軟件生成的實(shí)時(shí)事件進(jìn)行重新映射,可以在對(duì)嵌入式軟件進(jìn)行 調(diào)試中實(shí)現(xiàn)更大的靈活性以及可見性。圖11-圖13中的實(shí)施方式和隨附的論述包含依賴于RTOS實(shí)時(shí)時(shí)鐘的實(shí)時(shí)事件以 及獨(dú)立于RTOS實(shí)時(shí)時(shí)鐘的實(shí)時(shí)事件。例如,在實(shí)時(shí)系統(tǒng)中,可以通過(guò)實(shí)時(shí)時(shí)鐘或者根據(jù)實(shí) 時(shí)時(shí)鐘導(dǎo)出或與實(shí)時(shí)時(shí)鐘相關(guān)的另一時(shí)鐘信號(hào),周期性命令某些I/O外圍設(shè)備。這些I/O 外圍設(shè)備可以向軟件應(yīng)用提供數(shù)據(jù)和/或從軟件應(yīng)用接收數(shù)據(jù)以供處理。通過(guò)使用關(guān)于圖 7-圖9以及圖11-圖13描述的技術(shù)的組合,觸發(fā)對(duì)這些數(shù)據(jù)進(jìn)行讀或者寫的實(shí)時(shí)事件信號(hào) 可以轉(zhuǎn)而基于在主機(jī)計(jì)算機(jī)上運(yùn)行的軟件所生成的事件。例如,在主機(jī)計(jì)算機(jī)上運(yùn)行的軟 件可以控制與實(shí)時(shí)時(shí)鐘相關(guān)的所有事件,或者在某些實(shí)施方式中,控制整個(gè)實(shí)時(shí)域(或者 應(yīng)用時(shí)域)中的所有事件。在其他實(shí)施方式中,在主機(jī)計(jì)算機(jī)上運(yùn)行的軟件可以控制實(shí)時(shí) 事件的任何子集,無(wú)論它們與實(shí)時(shí)時(shí)鐘同步還是異步。通常來(lái)說(shuō),涉及控制實(shí)時(shí)時(shí)鐘相關(guān)的任何上述方法都可以與涉及控制實(shí)時(shí)事件的 方法結(jié)合使用。例如,所公開的技術(shù)的實(shí)施方式包括方法、系統(tǒng)和設(shè)備,它們修改一個(gè)或多 個(gè)嵌入式系統(tǒng)的RT0S,使得實(shí)時(shí)時(shí)鐘和實(shí)時(shí)事件二者都可以由主機(jī)工作站上運(yùn)行的軟件來(lái) 控制。任何上述方法都可以通過(guò)使用物理嵌入式系統(tǒng)或者仿真嵌入式系統(tǒng)或者其混合 體來(lái)執(zhí)行,在混合體中,部分系統(tǒng)是仿真的而其余部分是物理的。例如,圖7-圖9或者圖 11-圖13中的嵌入式系統(tǒng)或者嵌入式處理器可以是該系統(tǒng)或者處理器的物理實(shí)施方式(例 如,嵌入式系統(tǒng)或者嵌入式處理器的物理原型),仿真的嵌入式系統(tǒng)(例如,使用RTOS仿真 器),或者仿真的嵌入式處理器(例如,使用指令集仿真器)。在仿真的嵌入式系統(tǒng)環(huán)境中, 驅(qū)動(dòng)RTOS時(shí)基的實(shí)時(shí)時(shí)鐘源可以與主機(jī)工作站的定時(shí)器服務(wù)解耦,并且可以獨(dú)立控制(在 主機(jī)工作站中,定時(shí)器服務(wù)通常具有與處理器時(shí)鐘相同的時(shí)基,并且它們因而可以互相耦 合)。此外,在仿真的環(huán)境中,嵌入式處理器可以由例如指令集仿真器進(jìn)行仿真。系統(tǒng)的其 他硬件組件可以由任何適合的硬件仿真器進(jìn)行仿真,或者可以是實(shí)際的物理硬件組件。此外,雖然如圖6-圖13中所述的示例性實(shí)施方式是僅僅與單個(gè)被設(shè)計(jì)、仿真或者 驗(yàn)證的嵌入式系統(tǒng)結(jié)合示出,但所公開的實(shí)施方式也可以被使用在包含多個(gè)嵌入式系統(tǒng)的 任何上述的設(shè)計(jì)、仿真或驗(yàn)證環(huán)境中。例如,所公開的實(shí)施方式可被用于具有兩個(gè)或更多嵌 入式系統(tǒng)的設(shè)計(jì)、仿真或者驗(yàn)證環(huán)境中,該環(huán)境具有由在主機(jī)計(jì)算機(jī)上運(yùn)行的軟件按需求 控制的實(shí)時(shí)時(shí)鐘信號(hào)或者實(shí)時(shí)事件。例如,實(shí)際的或者模擬的嵌入式系統(tǒng)的任何聚集都可 以同時(shí)包括在根據(jù)所公開的技術(shù)的設(shè)計(jì)、仿真,或者驗(yàn)證環(huán)境中。此外,實(shí)時(shí)時(shí)鐘和/或外圍設(shè)備I/O實(shí)時(shí)事件可以來(lái)自主機(jī)計(jì)算機(jī)上運(yùn)行的單個(gè) 軟件過(guò)程,或者來(lái)自在一個(gè)或者多個(gè)主機(jī)計(jì)算機(jī)上運(yùn)行的兩個(gè)或者更多同步的軟件過(guò)程。 所公開的技術(shù)的實(shí)施方式例如允許一個(gè)嵌入式系統(tǒng)上的實(shí)時(shí)事件上具有斷點(diǎn),并且維持與 其他嵌入式系統(tǒng)的實(shí)時(shí)同步。這些實(shí)施方式的實(shí)時(shí)事件可以使用任何可用的通信信道(例 如,任何通常用于調(diào)試的可以獲得的信道,例如LAN、USB,或者JTAG信道,或者任何其他的 可以獲得的信道,例如CAN、LIN、IPC,或者其他這樣的信道)被傳送給目標(biāo)嵌入式系統(tǒng)。此外,雖然以上如圖7-圖9和圖11-圖13中所述的示例性實(shí)施方式描繪了源自 在主機(jī)計(jì)算機(jī)上運(yùn)行的軟件的實(shí)時(shí)時(shí)鐘和事件信號(hào),但是應(yīng)當(dāng)注意和理解的是,信號(hào)的源
20對(duì)某些實(shí)施方式來(lái)說(shuō)是任意的,只要它獨(dú)立于處理器時(shí)鐘源(解耦并且具有可能不同的時(shí) 基)。例如,提供時(shí)間解耦的實(shí)時(shí)時(shí)鐘和事件信號(hào)的軟件可以作為嵌入式處理器上執(zhí)行的單 獨(dú)任務(wù)來(lái)執(zhí)行,并且由RTOS控制(調(diào)度)。當(dāng)物理嵌入式系統(tǒng)不具有適合的I/O機(jī)制來(lái)與 主機(jī)計(jì)算機(jī)上運(yùn)行的軟件通信或者無(wú)法以及時(shí)的方式這樣做時(shí),這是有用的。圖14和圖15是概念性地示出了如在應(yīng)用時(shí)域中所感知到的時(shí)間怎樣可以與如從 使用所公開的技術(shù)的實(shí)施方式的物理域中所感知到的時(shí)間(這些例如以上如圖7-9和圖 11-13中所述)分離的時(shí)序圖1400和1500。這些圖說(shuō)明了當(dāng)實(shí)時(shí)時(shí)鐘和處理器時(shí)鐘具有 各自的時(shí)基時(shí)的情形。特別地,圖14示出了時(shí)序圖1400,其中處理器時(shí)鐘速率被用作時(shí)間 軸的基礎(chǔ)。在時(shí)序圖1400中,波形1412示出了處理器時(shí)鐘的周期性脈沖,并且波形1410 示出了實(shí)時(shí)時(shí)鐘。出于說(shuō)明的目的,波形1410和1412被示為當(dāng)一起操作時(shí)具有相同的頻 率以及彼此同步。然而,實(shí)際上,兩個(gè)波形之間的頻率差異可以是顯著的,并且兩個(gè)波形有 可以是異步的。圖14示出了在時(shí)間1420處,在邏輯域中的實(shí)時(shí)時(shí)鐘被掛起。其原因可能是例如 在工作站上運(yùn)行的軟件調(diào)試器掛起被測(cè)試的軟件的執(zhí)行以作為調(diào)試過(guò)程的一部分。由于在 所示出的實(shí)施方式中的實(shí)時(shí)時(shí)鐘獨(dú)立于處理器時(shí)鐘,因此圖14示出了處理器時(shí)鐘在沒有 中斷的情況下繼續(xù)進(jìn)行操作。在時(shí)間1422處,實(shí)時(shí)時(shí)鐘被重新激活,并且波形1410繼續(xù)。圖15與時(shí)序圖1400相似但是使用實(shí)時(shí)時(shí)鐘作為時(shí)間軸的基礎(chǔ)。時(shí)間1420和時(shí)間 1422也在圖15中示出,但卻是使用實(shí)時(shí)時(shí)鐘作為時(shí)間軸的基礎(chǔ)而被示出。因此,波形1412 在兩個(gè)時(shí)間1420和1422之間的那個(gè)部分被示為出現(xiàn)在單個(gè)實(shí)時(shí)時(shí)鐘周期內(nèi)。圖15從應(yīng) 用時(shí)域的角度示出當(dāng)實(shí)時(shí)時(shí)鐘信號(hào)被臨時(shí)掛起時(shí)沒有產(chǎn)生中斷。例如,在嵌入式系統(tǒng)的處 理器上執(zhí)行的軟件按照一系列邏輯步驟來(lái)定義,這些邏輯步驟通常不會(huì)取決于實(shí)時(shí)時(shí)鐘是 否被掛起(并且假設(shè)系統(tǒng)的其他邏輯組件由相同的實(shí)時(shí)時(shí)鐘控制)而發(fā)生變化。此外,雖然在上文結(jié)合圖14-圖15描述的示例性實(shí)施方式所示出的仿真環(huán)境中, 應(yīng)用時(shí)域慢于其普通物理時(shí)域的對(duì)應(yīng)物,但是應(yīng)當(dāng)理解的是,情況也可以相反,并且應(yīng)用時(shí) 域可以快于其普通物理時(shí)域的對(duì)應(yīng)物。當(dāng)期望加速實(shí)時(shí)性以便在相對(duì)短的時(shí)間內(nèi)仿真和驗(yàn) 證長(zhǎng)期操作時(shí),這一點(diǎn)非常有用。由于一些所公開的實(shí)施方式對(duì)提供給RTOS以及在嵌入式處理器上運(yùn)行的應(yīng)用軟 件的實(shí)時(shí)時(shí)鐘信號(hào)和/或?qū)崟r(shí)事件進(jìn)行控制,因此看似將存在某些風(fēng)險(xiǎn)實(shí)時(shí)時(shí)鐘或者其 他實(shí)時(shí)事件的源與處理器時(shí)鐘源的分離可能導(dǎo)致難以獲知嵌入式處理器上運(yùn)行的RTOS是 否以確定性方式進(jìn)行操作。然而,由于實(shí)時(shí)時(shí)鐘和/或?qū)崟r(shí)事件的源受到控制,因此可以以 高精度來(lái)測(cè)量嵌入式系統(tǒng)的實(shí)際中斷服務(wù)程序aRs)執(zhí)行時(shí)間。例如,可以控制實(shí)時(shí)事件, 使得它們不中斷ISR,如同實(shí)時(shí)事件被與處理器時(shí)鐘相關(guān)聯(lián)時(shí)可能發(fā)生的一樣。在所公開的 技術(shù)的一個(gè)實(shí)施方式中,系統(tǒng)簡(jiǎn)檔器被用于精確地測(cè)量執(zhí)行時(shí)間(例如,即使執(zhí)行時(shí)間超 過(guò)了常規(guī)時(shí)間配額的限度)。V.用于應(yīng)用所公開的技術(shù)的示例性網(wǎng)絡(luò)環(huán)境上述技術(shù)的任何方面都可以使用分布式計(jì)算機(jī)網(wǎng)絡(luò)來(lái)執(zhí)行。圖16示出了一個(gè)這 樣的網(wǎng)絡(luò)。服務(wù)器計(jì)算機(jī)1600可以具有關(guān)聯(lián)的存儲(chǔ)設(shè)備1602(在服務(wù)器計(jì)算機(jī)的內(nèi)部或 者外部)。例如,服務(wù)器計(jì)算機(jī)1600可以配置用于執(zhí)行任何所公開的實(shí)施方式(例如,作為 EDA軟件工具的一部分,例如用于設(shè)計(jì)、仿真或者驗(yàn)證嵌入式系統(tǒng)的EDA工具)。服務(wù)器計(jì)算機(jī)1600可以耦合到通常如1604所示的網(wǎng)絡(luò),其可以包括廣域網(wǎng)、局域網(wǎng)、客戶-服務(wù)器 網(wǎng)絡(luò)、因特網(wǎng)或者其他這樣的網(wǎng)絡(luò)。一個(gè)或者多個(gè)客戶端計(jì)算機(jī)(例如在1606、1608中所 示)可以使用網(wǎng)絡(luò)協(xié)議耦合到網(wǎng)絡(luò)1604。該工作也可以在單個(gè)、專用的工作站上執(zhí)行,該工 作站具有它自己的存儲(chǔ)器以及一個(gè)或多個(gè)CPU。圖17示出了另一種示例性網(wǎng)絡(luò)。一個(gè)或多個(gè)計(jì)算機(jī)1702通過(guò)網(wǎng)絡(luò)1704進(jìn)行通信 并且形成了計(jì)算環(huán)境1700(例如,分布式計(jì)算環(huán)境)。計(jì)算環(huán)境1700中的每個(gè)計(jì)算機(jī)1702 都可以用于執(zhí)行任何所公開的實(shí)施方式中的至少一部分。在被示出的實(shí)施方式中的網(wǎng)絡(luò) 1704還耦合到一個(gè)或多個(gè)客戶端計(jì)算機(jī)1708。圖18示出了用于運(yùn)用遠(yuǎn)程服務(wù)器計(jì)算機(jī)(例如,圖16中所示的服務(wù)器計(jì)算機(jī) 1600)或者遠(yuǎn)程計(jì)算環(huán)境(例如,圖17中所示的計(jì)算環(huán)境1700)對(duì)所公開的技術(shù)的實(shí)施方 式進(jìn)行使用的方法。如果不可能使用所公開的技術(shù)的實(shí)施方式將實(shí)時(shí)時(shí)鐘從處理器時(shí)鐘解 耦,圖18中所示的示例性方法僅在以下情況下是可能的,即系統(tǒng)仿真中的模型信息交換的 時(shí)間延遲(用作交換信息的時(shí)間)少于交換之間的時(shí)間(通常不可能實(shí)現(xiàn))。然而,使用所 公開的技術(shù)的實(shí)施方式,模型信息交換的時(shí)間延遲是無(wú)關(guān)的,這是由于仿真可以等待(被 阻塞)交換之間所需要的任何時(shí)間量而不會(huì)有實(shí)時(shí)溢出的可能性。例如,圖18例如示出了 系統(tǒng)仿真,其中系統(tǒng)模型跨聯(lián)網(wǎng)的計(jì)算環(huán)境分布,并且在運(yùn)行時(shí)交換仿真速率信息以便獲 知何時(shí)進(jìn)行阻塞并且等待更多的數(shù)據(jù)。在過(guò)程框1802,在服務(wù)器上運(yùn)行的模型被阻塞,等待 來(lái)自客戶端的速率信息請(qǐng)求。在過(guò)程框1804,客戶端做出針對(duì)速率信息的請(qǐng)求。在過(guò)程框 1806,服務(wù)器接收該請(qǐng)求并且向客戶端發(fā)送速率數(shù)據(jù)。在過(guò)程框1808和1810,客戶端和服 務(wù)器以所傳送并且達(dá)成一致的速率交換仿真數(shù)據(jù)。經(jīng)過(guò)對(duì)所公開的技術(shù)的原理進(jìn)行說(shuō)明和描述,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō),很明顯地 可以對(duì)所公開的實(shí)施方式進(jìn)行排列和細(xì)節(jié)上的修改而不會(huì)背離這些原則。例如,雖然所公 開的實(shí)施方式是以應(yīng)用在嵌入式系統(tǒng)的開發(fā)過(guò)程中進(jìn)行描述,但是它們更為普遍地可以應(yīng) 用在任何硬件和/或軟件開發(fā)過(guò)程中,在該過(guò)程中需要對(duì)影響硬件和/或軟件組件的執(zhí)行 的時(shí)鐘或者事件進(jìn)行控制,并且該時(shí)鐘或者事件通常源于另一源和/或以其他方式共享相 同的時(shí)基(例如,來(lái)自PCB的板載時(shí)鐘)。考慮到可供所公開的技術(shù)的原理得到應(yīng)用的多種 可能的實(shí)施方式,應(yīng)當(dāng)承認(rèn)被用來(lái)說(shuō)明的實(shí)施方式僅僅是該技術(shù)的較佳的示例并且不應(yīng)當(dāng) 被作為對(duì)本發(fā)明的范圍的限制。相反地,本發(fā)明的范圍是由下述的權(quán)利要求以及它們的等 同物來(lái)定義。我們因而要求從這些權(quán)利要求的范圍和精神中所獲得的全部同樣作為本發(fā)明 的組成部分。
權(quán)利要求
1.一種方法,包括生成實(shí)時(shí)時(shí)鐘信號(hào);以及利用所述實(shí)時(shí)時(shí)鐘信號(hào)觸發(fā)由嵌入式軟件應(yīng)用定義的任務(wù),其中所述嵌入式軟件應(yīng)用由嵌入式處理器利用實(shí)時(shí)操作系統(tǒng)(RTOS)執(zhí)行,以及其中所述實(shí)時(shí)時(shí)鐘信號(hào)是獨(dú)立于驅(qū)動(dòng)所述嵌入式處理器的處理器時(shí)鐘信號(hào)可控的,使 得所述實(shí)時(shí)時(shí)鐘信號(hào)具有與所述處理器時(shí)鐘信號(hào)不同的時(shí)基。
2.根據(jù)權(quán)利要求1所述的方法,其中所述實(shí)時(shí)時(shí)鐘信號(hào)由計(jì)算機(jī)工作站上運(yùn)行的軟件 生成。
3.根據(jù)權(quán)利要求2所述的方法,其中所述計(jì)算機(jī)工作站上運(yùn)行的所述軟件是調(diào)試器或 者仿真器中運(yùn)行的應(yīng)用。
4.根據(jù)權(quán)利要求1所述的方法,其中所述實(shí)時(shí)時(shí)鐘信號(hào)由另一外部嵌入式系統(tǒng)上運(yùn)行 的軟件生成。
5.根據(jù)權(quán)利要求1所述的方法,其中所述實(shí)時(shí)時(shí)鐘信號(hào)由作為所述嵌入式處理器中的 任務(wù)而運(yùn)行的軟件生成。
6.根據(jù)權(quán)利要求1所述的方法,還包括在不中斷所述處理器時(shí)鐘信號(hào)的情況下,在一 段時(shí)間內(nèi)掛起所述實(shí)時(shí)時(shí)鐘信號(hào)的生成。
7.根據(jù)權(quán)利要求6所述的方法,其中掛起所述實(shí)時(shí)時(shí)鐘信號(hào)的生成的動(dòng)作響應(yīng)于由所 述嵌入式處理器執(zhí)行所述嵌入式軟件應(yīng)用所控制的信號(hào)而被執(zhí)行。
8.根據(jù)權(quán)利要求6所述的方法,還包括在不中斷所述處理器時(shí)鐘信號(hào)的情況下,重新 啟動(dòng)所述實(shí)時(shí)時(shí)鐘信號(hào)的生成,重新啟動(dòng)所述實(shí)時(shí)時(shí)鐘的動(dòng)作使所述觸發(fā)繼續(xù)。
9.根據(jù)權(quán)利要求8所述的方法,其中重新啟動(dòng)所述實(shí)時(shí)時(shí)鐘信號(hào)的生成的動(dòng)作響應(yīng)于 由所述嵌入式處理器執(zhí)行所述嵌入式軟件應(yīng)用所控制的信號(hào)而被執(zhí)行。
10.根據(jù)權(quán)利要求1所述的方法,其中所述嵌入式處理器是仿真的嵌入式處理器,并且 所述處理器時(shí)鐘信號(hào)是仿真的處理器時(shí)鐘信號(hào),所述仿真的嵌入式處理器以及所述仿真的 處理器時(shí)鐘由計(jì)算機(jī)工作站上運(yùn)行的軟件進(jìn)行仿真。
11.根據(jù)權(quán)利要求10所述的方法,其中所述仿真的嵌入式處理器以及所述仿真的處理 器時(shí)鐘信號(hào)使用指令集仿真器或者RTOS仿真器之一被仿真。
12.根據(jù)權(quán)利要求1所述的方法,其中所述嵌入式處理器是嵌入式系統(tǒng)的一部分,并且 其中所述實(shí)時(shí)時(shí)鐘信號(hào)部分地由位于所述嵌入式系統(tǒng)上的時(shí)鐘生成器電路生成。
13.根據(jù)權(quán)利要求1所述的方法,還包括使用系統(tǒng)簡(jiǎn)檔器來(lái)測(cè)量所述嵌入式處理器上 執(zhí)行的軟件的執(zhí)行時(shí)間。
14.根據(jù)權(quán)利要求1所述的方法,其中所述嵌入式軟件應(yīng)用是第一嵌入式軟件應(yīng)用,所 述嵌入式處理器是第一嵌入式處理器,所述RTOS是第一 RT0S,以及所述處理器時(shí)鐘信號(hào)是 第一處理器時(shí)鐘信號(hào),所述方法還包括利用所述實(shí)時(shí)時(shí)鐘信號(hào)觸發(fā)由第二嵌入式軟件應(yīng)用定義的任務(wù),所述第二嵌入式軟件 應(yīng)用由第二嵌入式處理器利用第二 RTOS執(zhí)行,其中所述實(shí)時(shí)時(shí)鐘信號(hào)是獨(dú)立于驅(qū)動(dòng)所述第二嵌入式處理器的第二處理器時(shí)鐘信號(hào) 可控的,使得所述實(shí)時(shí)時(shí)鐘具有與所述第二處理器時(shí)鐘信號(hào)不同的時(shí)基。
15.—個(gè)或多個(gè)有形的計(jì)算機(jī)可讀介質(zhì),存儲(chǔ)用于使計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求1所述的方法的計(jì)算機(jī)可執(zhí)行指令。
16.一種方法,包括修改用于嵌入式系統(tǒng)的處理器的實(shí)時(shí)操作系統(tǒng)(RTOS),使得所述RTOS用來(lái)觸發(fā)任務(wù) 執(zhí)行的實(shí)時(shí)時(shí)鐘信號(hào)的源與為所述處理器提供時(shí)鐘的處理器時(shí)鐘信號(hào)的源解耦;以及在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)經(jīng)修改的RT0S。
17.根據(jù)權(quán)利要求16所述的方法,其中修改的動(dòng)作包括針對(duì)所述RTOS的源代碼而改 變或添加一行或多行源代碼。
18.根據(jù)權(quán)利要求16所述的方法,其中修改的動(dòng)作包括修改所述RT0S,使得傳送所述 實(shí)時(shí)時(shí)鐘信號(hào)的路徑是以下一個(gè)或多個(gè)局域網(wǎng)(LAN)信道,通用串行總線(USB)信道,串 行外圍接口(SPI)信道,聯(lián)合測(cè)試推動(dòng)團(tuán)體(JTAG)信道,拐射線信道,局域互連網(wǎng)絡(luò)(LIN) 信道,控制器區(qū)域網(wǎng)絡(luò)(CAN)信道,或所述嵌入式系統(tǒng)的進(jìn)程間通信(IPC)信道。
19.根據(jù)權(quán)利要求16所述的方法,其中所述經(jīng)修改的RTOS存儲(chǔ)在所述嵌入式系統(tǒng)的存 儲(chǔ)器中或者存儲(chǔ)在主機(jī)計(jì)算機(jī)的存儲(chǔ)器中。
20.根據(jù)權(quán)利要求16所述的方法,其中所述RTOS被修改,使得所述實(shí)時(shí)時(shí)鐘信號(hào)的源 是在計(jì)算機(jī)工作站上運(yùn)行的軟件,在另一外部嵌入式系統(tǒng)上運(yùn)行的軟件,作為所述嵌入式 處理器中的任務(wù)而運(yùn)行的軟件,或者位于所述嵌入式系統(tǒng)上的時(shí)鐘生成器電路。
21.根據(jù)權(quán)利要求20所述的方法,其中所述實(shí)時(shí)時(shí)鐘信號(hào)的源是在計(jì)算機(jī)工作站上運(yùn) 行的軟件,并且其中在所述計(jì)算機(jī)工作站上運(yùn)行的所述軟件是在調(diào)試器或者仿真器中運(yùn)行 的應(yīng)用。
22.—個(gè)或多個(gè)有形的計(jì)算機(jī)可讀介質(zhì),存儲(chǔ)用于使計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求16所述 的方法的計(jì)算機(jī)可執(zhí)行指令。
23.一種方法,包括生成一系列實(shí)時(shí)事件信號(hào);以及利用所述實(shí)時(shí)事件信號(hào)觸發(fā)由嵌入式軟件應(yīng)用定義的任務(wù),其中所述嵌入式軟件應(yīng)用由嵌入式處理器利用實(shí)時(shí)操作系統(tǒng)(RTOS)執(zhí)行,以及其中所述實(shí)時(shí)事件信號(hào)是獨(dú)立于驅(qū)動(dòng)所述嵌入式處理器的處理器時(shí)鐘信號(hào)可控的,使 得所述實(shí)時(shí)事件信號(hào)具有與所述處理器時(shí)鐘信號(hào)不同的時(shí)基。
24.根據(jù)權(quán)利要求23所述的方法,其中所述實(shí)時(shí)事件信號(hào)由計(jì)算機(jī)工作站上運(yùn)行的軟 件生成。
25.根據(jù)權(quán)利要求M所述的方法,其中所述計(jì)算機(jī)工作站上運(yùn)行的所述軟件在調(diào)試器 或者仿真器中運(yùn)行。
26.根據(jù)權(quán)利要求23所述的方法,其中所述實(shí)時(shí)事件信號(hào)由另一外部嵌入式系統(tǒng)上運(yùn) 行的軟件生成。
27.根據(jù)權(quán)利要求23所述的方法,其中所述實(shí)時(shí)事件信號(hào)由作為所述嵌入式處理器中 的任務(wù)而運(yùn)行的軟件生成。
28.根據(jù)權(quán)利要求23所述的方法,其中所述實(shí)時(shí)事件信號(hào)指示數(shù)據(jù)已經(jīng)準(zhǔn)備好從與所 述嵌入式處理器耦合的外圍設(shè)備中加載或者向所述外圍設(shè)備發(fā)送。
29.根據(jù)權(quán)利要求觀所述的方法,其中所述外圍設(shè)備連接到與設(shè)備耦合的傳感器或者 致動(dòng)器。
30.根據(jù)權(quán)利要求23所述的方法,還包括生成實(shí)時(shí)時(shí)鐘信號(hào);以及利用所述實(shí)時(shí)時(shí)鐘信號(hào)觸發(fā)由所述嵌入式軟件應(yīng)用定義的至少一個(gè)其他任務(wù),其中所述實(shí)時(shí)時(shí)鐘信號(hào)是獨(dú)立于所述處理器時(shí)鐘信號(hào)和所述實(shí)時(shí)事件信號(hào)二者可控 的,使得所述實(shí)時(shí)時(shí)鐘信號(hào)具有與所述處理器時(shí)鐘信號(hào)和所述實(shí)時(shí)事件信號(hào)不同的時(shí)基。
31.根據(jù)權(quán)利要求23所述的方法,還包括生成實(shí)時(shí)時(shí)鐘信號(hào);以及利用所述實(shí)時(shí)時(shí)鐘信號(hào)觸發(fā)由所述嵌入式軟件應(yīng)用定義的至少一個(gè)其他任務(wù),其中所述實(shí)時(shí)時(shí)鐘信號(hào)是獨(dú)立于所述處理器時(shí)鐘信號(hào)可控的,使得所述實(shí)時(shí)時(shí)鐘信號(hào) 具有與所述處理器時(shí)鐘信號(hào)不同的時(shí)基,以及其中所述實(shí)時(shí)事件信號(hào)依賴于所述實(shí)時(shí)時(shí)鐘 并且具有相同的時(shí)基。
32.根據(jù)權(quán)利要求23所述的方法,還包括在不中斷所述處理器時(shí)鐘信號(hào)的情況下,在 一段時(shí)間內(nèi)掛起所述一系列實(shí)時(shí)事件信號(hào)的生成。
33.根據(jù)權(quán)利要求32所述的方法,其中掛起所述實(shí)時(shí)事件信號(hào)的生成的動(dòng)作響應(yīng)于由 所述嵌入式處理器執(zhí)行所述嵌入式軟件應(yīng)用所控制的信號(hào)而被執(zhí)行。
34.根據(jù)權(quán)利要求32所述的方法,還包括在不中斷所述處理器時(shí)鐘信號(hào)的情況下,重 新啟動(dòng)所述一系列實(shí)時(shí)事件信號(hào)的生成,重新啟動(dòng)的動(dòng)作使得所述觸發(fā)繼續(xù)。
35.根據(jù)權(quán)利要求34所述的方法,其中重新啟動(dòng)所述實(shí)時(shí)事件信號(hào)的動(dòng)作響應(yīng)于由所 述嵌入式處理器執(zhí)行所述嵌入式軟件應(yīng)用所控制的信號(hào)而被執(zhí)行。
36.根據(jù)權(quán)利要求23所述的方法,其中所述嵌入式處理器是仿真的嵌入式處理器,并 且所述處理器時(shí)鐘信號(hào)是仿真的處理器時(shí)鐘信號(hào),所述仿真的嵌入式處理器以及所述仿真 的處理器時(shí)鐘信號(hào)由計(jì)算機(jī)工作站上運(yùn)行的軟件進(jìn)行仿真。
37.根據(jù)權(quán)利要求36所述的方法,其中使用指令集仿真器或者RTOS仿真器中的一種對(duì) 所述仿真的嵌入式處理器以及所述仿真的處理器時(shí)鐘信號(hào)進(jìn)行仿真。
38.根據(jù)權(quán)利要求23所述的方法,其中所述嵌入式處理器是嵌入式系統(tǒng)的一部分,以 及其中所述實(shí)時(shí)事件信號(hào)由位于所述嵌入式系統(tǒng)上的電路生成。
39.根據(jù)權(quán)利要求23所述的方法,還包括使用系統(tǒng)簡(jiǎn)檔器來(lái)測(cè)量所述嵌入式處理器 上執(zhí)行的軟件的執(zhí)行時(shí)間。
40.根據(jù)權(quán)利要求23所述的方法,其中所述嵌入式軟件應(yīng)用是第一嵌入式軟件應(yīng)用, 所述嵌入式處理器是第一嵌入式處理器,所述RTOS是第一 RT0S,以及所述處理器時(shí)鐘信號(hào) 是第一處理器時(shí)鐘信號(hào),所述方法還包括利用所述實(shí)時(shí)事件信號(hào)觸發(fā)由第二嵌入式軟件應(yīng)用定義的任務(wù),所述第二嵌入式軟件 應(yīng)用由第二嵌入式處理器利用第二 RTOS執(zhí)行,其中所述實(shí)時(shí)事件信號(hào)是獨(dú)立于驅(qū)動(dòng)所述第二嵌入式處理器的第二處理器時(shí)鐘信號(hào) 可控的,使得所述實(shí)時(shí)事件信號(hào)具有與所述第二處理器時(shí)鐘信號(hào)不同的時(shí)基。
41.一個(gè)或多個(gè)有形的計(jì)算機(jī)可讀介質(zhì),存儲(chǔ)用于使計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求23所述 的方法的計(jì)算機(jī)可執(zhí)行指令。
42.一種方法,包括修改嵌入式系統(tǒng)中的處理器的實(shí)時(shí)操作系統(tǒng)(RTOS),使得用于觸發(fā)任務(wù)執(zhí)行的實(shí)時(shí)事件信號(hào)的源與為所述處理器提供時(shí)鐘的處理器時(shí)鐘信號(hào)的源解耦;以及在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)經(jīng)修改的RT0S。
43.根據(jù)權(quán)利要求42所述的方法,其中修改的動(dòng)作包括針對(duì)所述RTOS的源代碼而改 變或添加一行或多行源代碼。
44.根據(jù)權(quán)利要求42所述的方法,其中修改的動(dòng)作包括修改所述RT0S,使得傳送實(shí)時(shí) 事件信號(hào)的路徑是以下一個(gè)或多個(gè)局域網(wǎng)(LAN)信道,通用串行總線(USB)信道,串行外 圍接口(SPI)信道,或者聯(lián)合測(cè)試推動(dòng)團(tuán)體(JTAG)信道,拐射線信道,局域互連網(wǎng)絡(luò)(LIN) 信道,控制器區(qū)域網(wǎng)絡(luò)(CAN)信道,或者所述嵌入式系統(tǒng)的進(jìn)程間通信(IPC)信道。
45.根據(jù)權(quán)利要求42所述的方法,其中所述經(jīng)修改的RTOS存儲(chǔ)在所述嵌入式系統(tǒng)的存 儲(chǔ)器中或者主機(jī)計(jì)算機(jī)的存儲(chǔ)器中。
46.根據(jù)權(quán)利要求42所述的方法,還包括修改所述RT0S,使得所述RTOS使用的實(shí)時(shí)時(shí) 鐘信號(hào)也與為所述處理器提供時(shí)鐘的所述處理器時(shí)鐘信號(hào)的所述源解耦。
47.根據(jù)權(quán)利要求42所述的方法,其中所述RTOS被修改,使得所述實(shí)時(shí)事件信號(hào)的所 述源是在計(jì)算機(jī)工作站上運(yùn)行的軟件,在另一外部嵌入式系統(tǒng)上運(yùn)行的軟件,作為所述嵌 入式處理器中的任務(wù)而運(yùn)行的軟件,或者位于所述嵌入式系統(tǒng)上的時(shí)鐘生成器電路。
48.根據(jù)權(quán)利要求42所述的方法,其中所述實(shí)時(shí)事件信號(hào)的所述源是計(jì)算機(jī)工作站上 運(yùn)行的軟件,以及其中所述計(jì)算機(jī)工作站上運(yùn)行的所述軟件在調(diào)試器或者仿真器中運(yùn)行。
49.一個(gè)或多個(gè)有形的計(jì)算機(jī)可讀介質(zhì),其存儲(chǔ)用于使計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求42所 述的方法的計(jì)算機(jī)可執(zhí)行指令。
50.一種系統(tǒng),包括主機(jī)計(jì)算機(jī),配置用于執(zhí)行生成第一信號(hào)的軟件;以及嵌入式系統(tǒng),其耦合到所述主機(jī)計(jì)算機(jī),并且具有嵌入式處理器,所述嵌入式處理器配置用于運(yùn)行實(shí)時(shí)操作系統(tǒng)(RTOS),所述RTOS基于從所述主機(jī)計(jì) 算機(jī)上運(yùn)行的所述軟件接收所述第一信號(hào)而執(zhí)行軟件應(yīng)用任務(wù),所述嵌入式處理器配置用于基于接收第二信號(hào)而執(zhí)行所述任務(wù)的個(gè)體指令,所述第一 信號(hào)是獨(dú)立于所述第二信號(hào)可控的,使得所述第一信號(hào)和第二信號(hào)具有不同的時(shí)基。
51.根據(jù)權(quán)利要求50所述的系統(tǒng),其中所述第一信號(hào)是實(shí)時(shí)時(shí)鐘信號(hào)。
52.根據(jù)權(quán)利要求50所述的系統(tǒng),其中所述第一信號(hào)是除實(shí)時(shí)時(shí)鐘信號(hào)之外的實(shí)時(shí)事 件信號(hào)。
53.根據(jù)權(quán)利要求50所述的系統(tǒng),其中所述第一信號(hào)通過(guò)以下之一傳送局域網(wǎng)(LAN) 信道,通用串行總線(USB)信道,串行外圍接口(SPI)信道,聯(lián)合測(cè)試推動(dòng)團(tuán)體(JTAG)信 道,拐射線信道,局域互連網(wǎng)絡(luò)(LIN)信道,控制器區(qū)域網(wǎng)絡(luò)(CAN)信道,或者所述嵌入式系 統(tǒng)的進(jìn)程間通信(IPC)信道。
54.根據(jù)權(quán)利要求50所述的系統(tǒng),其中在所述主機(jī)計(jì)算機(jī)上執(zhí)行的所述軟件能夠在所 述第二信號(hào)無(wú)中斷繼續(xù)的同時(shí)掛起所述第一信號(hào)。
55.根據(jù)權(quán)利要求50所述的系統(tǒng),還包括耦合到所述主機(jī)計(jì)算機(jī)的一個(gè)或多個(gè)附加 嵌入式系統(tǒng),每個(gè)都具有運(yùn)行相應(yīng)RTOS的相應(yīng)嵌入式處理器,所述RTOS配置用于基于從所 述主機(jī)計(jì)算機(jī)上運(yùn)行的軟件接收所述第一信號(hào)而執(zhí)行相應(yīng)的軟件應(yīng)用任務(wù),并且每個(gè)RTOS 配置用于基于接收其他相應(yīng)信號(hào)而執(zhí)行所述任務(wù)的個(gè)體指令,所述其他相應(yīng)信號(hào)是獨(dú)立于所述第一信號(hào)可控的,以允許所述第一信號(hào)和所述其他相應(yīng)信號(hào)具有不同的時(shí)基。
56.根據(jù)權(quán)利要求50所述的系統(tǒng),其中所述主機(jī)計(jì)算機(jī)還配置用于執(zhí)行仿真器或者調(diào) 試器,以及其中生成所述第一信號(hào)的所述軟件在所述仿真器或者所述調(diào)試器中運(yùn)行。
全文摘要
這里公開了可以用來(lái)在嵌入式系統(tǒng)的設(shè)計(jì)、仿真或者驗(yàn)證期間控制實(shí)時(shí)事件(例如,實(shí)時(shí)時(shí)鐘)的方法、系統(tǒng)和裝置的代表性實(shí)施方式。例如,在這里所公開的一個(gè)示例性實(shí)施方式中,生成實(shí)時(shí)時(shí)鐘信號(hào),并且利用該實(shí)時(shí)時(shí)鐘信號(hào)觸發(fā)由嵌入式軟件應(yīng)用定義的任務(wù)。在這個(gè)實(shí)施方式中,嵌入式軟件應(yīng)用由嵌入式處理器利用實(shí)時(shí)操作系統(tǒng)(RTOS)執(zhí)行,并且實(shí)時(shí)時(shí)鐘信號(hào)是獨(dú)立于驅(qū)動(dòng)嵌入式處理器的處理器時(shí)鐘信號(hào)可控的,以允許實(shí)時(shí)時(shí)鐘具有與處理器時(shí)鐘不同的時(shí)基。
文檔編號(hào)G06F9/455GK102124448SQ200980132284
公開日2011年7月13日 申請(qǐng)日期2009年7月10日 優(yōu)先權(quán)日2008年7月10日
發(fā)明者D·A·蒂加登, L·S·P·布魯克斯 申請(qǐng)人:明導(dǎo)公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1