

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、ARM 內(nèi)核目標(biāo)系統(tǒng)中的代碼運(yùn)行時間測試摘要很多測量時間的 C 函數(shù)在 ARM 中都不能使用。某些能使用的,也是基于系 統(tǒng)實時時鐘(RTC),故最短時間單位只能達(dá)到 10-2S。作為一種通用的精密計時 方法,為了取得更精細(xì)的時間度量,可以考慮啟用ARMS片內(nèi)置的 WatchDog 實現(xiàn)擴(kuò)展了的實時時鐘功能,并推廣到程序精確延時的用途,彌補(bǔ)現(xiàn)有C 函數(shù)的不足。本文對此作出分析,并給出了具體的實驗描述。關(guān)鍵詞精確時間測量精 密計時ARM 實時時鐘擴(kuò)展看門狗在 ARM 系統(tǒng)中有時需要精確的時間測量。 摘要 很多測量時間的 C 函數(shù)在 ARM 中都不能使用。某些能使用的,也是基于系 統(tǒng)實時時鐘(RTC
2、,故最短時間單位只能達(dá)到 10-2S。作為一種通用的精密計時 方法,為了取得更精細(xì)的時間度量,可以考慮啟用ARM 芯片內(nèi)置的 WatchDog 實現(xiàn)擴(kuò)展了的實時時鐘功能,并推廣到程序精確延時的用途,彌補(bǔ)現(xiàn)有C 函數(shù)的不足。本文對此作出分析,并給出了具體的實驗描述。關(guān)鍵詞 精確時間測量精密計時 ARM 實時時鐘擴(kuò)展 看門狗在 ARM 系統(tǒng)中有時需要精確的時間測量。通常,取時間的C 函數(shù)(如gettime()等)不僅通用性差(必須包含頭文件 DOS H,且不支持 Unix、Linux 和標(biāo)準(zhǔn) C),明顯不適用于 ARM 系統(tǒng);更成問題的是,其最短時間只能到10-2秒級, 不能提供更短的時間分度。
3、根本原因在于: 這類函數(shù)是基于系統(tǒng)實時時 鐘 (RTC)的,而 RTC 通常采用標(biāo)準(zhǔn)化鐘表晶振,頻率只有 32. 768 kHz 而已。然而很多應(yīng)用涉及 卩 s 級的時間計量,這是標(biāo)準(zhǔn)化了的 RTC 以及基于它 的時間函數(shù)所無能為力的。筆者在移植 DES 算法到 ARM 系統(tǒng)的實驗過程中,便 遇到過要定量評估加密算法耗時多少的問題,發(fā)現(xiàn)的確不能用上述常規(guī)的C 函數(shù)解決。經(jīng)對 ARM 芯片結(jié)構(gòu)的考察,發(fā)現(xiàn)其內(nèi)置的 WatchDog 系統(tǒng)是以系統(tǒng)時鐘 驅(qū)動的,定量性能應(yīng)該很好,區(qū)分時間間隔的精細(xì)程度也應(yīng)該足夠。于是根據(jù) 所用 ARM芯片的原廠家數(shù)據(jù)手冊中的說明,借用 WatchDog 編寫了自己的
4、計時函 數(shù),使用起來也比較方便??紤]到 ARM 芯片都帶有內(nèi)置看門狗,筆者覺得這種 方法可算是一個不錯的“過渡性”解決方案,故在此加以介紹,供同行們參考 并指正。1 測量原理ARM 芯片中的看門狗,其原始功能是監(jiān)視 CPU 核心運(yùn)行的某些超時。這 些超時的發(fā)生,通常是因為干擾和系統(tǒng)錯誤等造成的程序運(yùn)行混亂。一旦發(fā)生 這類情形,看門狗便請求中斷服務(wù)或發(fā)出復(fù)位脈沖重啟系統(tǒng)。為了達(dá)到這樣的 目的,其計時原理必須獨(dú)立于系統(tǒng)中的任何進(jìn)程。實際上,WatchDog 是獨(dú)立的硬件邏輯,其計時脈沖直接取自系統(tǒng)主時鐘,因此它與RTC 樣具備實時性和獨(dú)立性,借用看門狗的計時體系來實現(xiàn)高精度時間測量是合理的。先以實
5、驗中用到的 S3C4480X 為例(該實驗所用的 ARh 開發(fā)板型號為NETARM3O0)具體談?wù)効撮T狗的工作原理。其原理框圖如圖 1 所示,圖中 MCLK即系統(tǒng)主時鐘。從圖中可以看出,系統(tǒng)主時鐘 MCLK 經(jīng)過可編程預(yù)分頻、可選固定分頻 后,進(jìn)入 WTCNT 硬件系統(tǒng)的計時計數(shù)器,16 位)計數(shù)。根據(jù)器件手冊,計數(shù)時 間間隔t_watchdog=l (M C L K(Prescaler value+1) Division_factor)。式中,參數(shù) Prescakr value 的取值為 O 28-1 ; Division_factor 有 16、32、 64、128四種取值。如果復(fù)位信號輸
6、出允許(即 WTCO的位 0 置 1),那么一旦計 數(shù)器 WTCN的計數(shù)超過 WTDA 允許的范圍,看門狗就會將 CPU 復(fù)位。本實驗過 程中屏蔽掉了這種復(fù)位和中斷請求功能,僅讓它對脈沖計數(shù)??刂萍拇嫫?WTCO 的有關(guān)各位定義圖中已給出(如需詳細(xì)解釋可查閱器 件手冊,如參考文獻(xiàn) 3) ,其他全為保留位,可全置為 O。至于 MCLI 具體值的計算,可以查驗系統(tǒng)中的晶振參數(shù)(頻率),讀取系 統(tǒng)時鐘的 PLL 寄存器(如 S3C44BOX 勺 PLLCON 后算得。 計算的方法都已在具體 ARMS片手冊中給出。2 測量算法實現(xiàn)和實驗結(jié)果按照所需參數(shù)設(shè)置的看門狗 定時器控制寄存器 WT-CO 的值(
7、如前所 述),在待測代碼段執(zhí)行之前開啟看門狗定時器;等其執(zhí)行完畢則關(guān)閉看門狗定 時器,讀取WTCN 的值即可算得運(yùn)行時間。作為一個具體示例,筆者實驗中所 實現(xiàn)的算法如下:(1) 計時算法(2) 應(yīng)用需要指出:在改變 WTCO 的值之前應(yīng)將原有值保存,待測量完成后再復(fù) 原WTCON 之所以強(qiáng)調(diào)這一點,是因為系統(tǒng)別處很可能在使用看門狗功能。實驗當(dāng)中,對長度為 189 字節(jié)的字符串采用 3 次 DES 加密。密鑰長度為 15位,測得的加密時間為 28832 卩 s,解密時間為 28 896 卩 s??s短字符串長 度,測得的加密時間基本呈線性變化:字符串長度為 1 07 字節(jié)而其他地方不變 時,加密耗
8、時16 928 卩 s,解密耗時 16 948 卩 s;字符串長度為 41 字節(jié)而其他 地方不變時,加密耗時 7 424 卩 s,解密耗時 7 424 卩 s。對于相同長度的字符 串,密鑰長度的改變對加密解密時間的影響不是很大。值得一提的是,剛開始實驗時,被加密字符串分別取為 190 字節(jié)和 75 字節(jié),測得耗時分別是 34 032 卩 s 和 16 928 卩 s,顯然與倍增的關(guān)系相差很 遠(yuǎn)。分析程序后發(fā)現(xiàn),原來問題出在加密算法中間的打印語句“ Uan_Pri ntf( “ncou nting begi n.!”)”上。原來以為它耗時很少,故沒有將它從加密算法中移走;移走后再試,耗時大減,分
9、別為 29 600 卩 s 和 12 496卩 s,與字符數(shù)倍增、時間倍增的預(yù)期基本相符。上面的實驗,還使筆者 得知該打印語句占用了 4432 卩 s。稍微修改條件,繼續(xù)實驗:當(dāng)上述打印語句 的字節(jié)數(shù)擴(kuò)充為原來的 4 倍時,測得該語句耗時 17728 卩 s。可見,耗時與打印 內(nèi)容的字節(jié)數(shù)基本上成正比;另外,這種打印語句與加密解密算法本身相 比,并不是想當(dāng)然地只占用一點點時間。(上述數(shù)據(jù)與 PC 機(jī)串口通信波特率的 設(shè)置無明顯關(guān)系。實際測試結(jié)果為:波特率由 115200bps 下降到 57 600 bps, 沒有可以察覺到的差別。 )3 測量方法討論ARM 內(nèi)置看門狗用作時間度量的適用范圍,大體以卩 s 數(shù)量級為界。比如,從 S3C44BO 的器件特性說明中可知,MCL 在看門狗計時器里的分頻比至 少是1/16。典型情況下,MCLK=60MHZ 則看門狗能夠分辨的最短時間單元 t=l/(60 MHz/16)=0 . 27 卩 s。統(tǒng)計誤差約為 t /2,即 O. 1 卩 s 數(shù)量級。就卩 s 級的時間測量精度而言,相對誤差有可能達(dá)到1%10% ;不過,這對很多速度估算的場合來說還是可以接受的。如果被測時間在10 卩 s 以上,那就沒有任何問題,可以認(rèn)為是相當(dāng)精確的了。這種思路還可用來實
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中建自動施工方案
- 《物理競賽題解析與物理競賽輔導(dǎo)教學(xué)方案》
- 汽車車門施工方案
- 內(nèi)墻保溫板施工方案
- 農(nóng)村拆除施工方案范本
- 揚(yáng)州脫硫煙囪施工方案
- 古詩二首(東溪和蠶麥)閱讀練習(xí)
- 建筑工程臨時用工合同
- 包頭中招試題數(shù)學(xué)試卷
- 污泥干化機(jī)更換施工方案
- 嬰幼兒發(fā)展引導(dǎo)員(育嬰員)職業(yè)技能競賽理論考試題庫(含答案)
- 全國國家版圖知識競賽題庫及答案(中小學(xué)組)
- 顧客滿意度調(diào)查分析報告表
- 《托育服務(wù)政策法規(guī)與職業(yè)倫理》全套教學(xué)課件
- 湖北省武漢市實驗外國語學(xué)校小學(xué)部小學(xué)六年級小升初期末語文試題(含答案)
- 山東省專升本綜合一(機(jī)械設(shè)計制造及其自動化)模擬試卷1(共264題)
- 高職生職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo) 課件全套 崔麗娜 第1-8章 揭開生涯規(guī)劃面紗 走進(jìn)生涯規(guī)劃- 助力職業(yè)發(fā)展 職場適應(yīng)
- 2024營運(yùn)純電動汽車換電服務(wù)技術(shù)要求
- (完整文本版)日文履歷書(文本テンプレート)
- T-CPQS C010-2024 鑒賞收藏用潮流玩偶及類似用途產(chǎn)品
- 三年級科學(xué)《月相的變化規(guī)律》說課課件
評論
0/150
提交評論