www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]ARM內(nèi)核目標(biāo)系統(tǒng)中的代碼運(yùn)行時(shí)間測(cè)試

摘要 很多測(cè)量時(shí)間的C函數(shù)在ARM中都不能使用。某些能使用的,也是基于系統(tǒng)實(shí)時(shí)時(shí)鐘(RTC),故最短時(shí)間單位只能達(dá)到10-2s。作為一種通用的精密計(jì)時(shí)方法,為了取得更精細(xì)的時(shí)間度量,可以考慮啟用ARM芯片內(nèi)置的WatchDog實(shí)現(xiàn)擴(kuò)展了的實(shí)時(shí)時(shí)鐘功能,并推廣到程序精確延時(shí)的用途,彌補(bǔ)現(xiàn)有C函數(shù)的不足。本文對(duì)此作出分析,并給出了具體的實(shí)驗(yàn)描述。
關(guān)鍵詞 精確時(shí)間測(cè)量精密計(jì)時(shí) ARM實(shí)時(shí)時(shí)鐘擴(kuò)展 看門狗


    在ARM系統(tǒng)中.有時(shí)需要精確的時(shí)間測(cè)量。通常,取時(shí)間的C函數(shù)(如gettime()等)不僅通用性差(必須包含頭文件DOS.H,且不支持Unix、Linux和標(biāo)準(zhǔn)C),明顯不適用于ARM系統(tǒng);更成問題的是,其最短時(shí)間只能到10-2秒級(jí),不能提供更短的時(shí)間分度。根本原因在于:這類函數(shù)是基于系統(tǒng)實(shí)時(shí)時(shí)鐘(RTC)的,而RTC通常采用標(biāo)準(zhǔn)化鐘表晶振,頻率只有32.768 kHz而已。
    然而很多應(yīng)用涉及μs級(jí)的時(shí)間計(jì)量,這是標(biāo)準(zhǔn)化了的RTC以及基于它的時(shí)間函數(shù)所無能為力的。筆者在移植DES算法到ARM系統(tǒng)的實(shí)驗(yàn)過程中,便遇到過要定量評(píng)估加密算法耗時(shí)多少的問題,發(fā)現(xiàn)的確不能用上述常規(guī)的C函數(shù)解決。經(jīng)對(duì)ARM芯片結(jié)構(gòu)的考察,發(fā)現(xiàn)其內(nèi)置的WatchDog系統(tǒng)是以系統(tǒng)時(shí)鐘驅(qū)動(dòng)的,定量性能應(yīng)該很好,區(qū)分時(shí)間間隔的精細(xì)程度也應(yīng)該足夠。于是根據(jù)所用ARM芯片的原廠家數(shù)據(jù)手冊(cè)中的說明,借用WatchDog編寫了自己的計(jì)時(shí)函數(shù),使用起來也比較方便??紤]到ARM芯片都帶有內(nèi)置看門狗,筆者覺得這種方法可算是一個(gè)不錯(cuò)的“過渡性”解決方案,故在此加以介紹,供同行們參考并指正。


1 測(cè)量原理
    ARM芯片中的看門狗,其原始功能是監(jiān)視CPU核心運(yùn)行的某些超時(shí)。這些超時(shí)的發(fā)生,通常是因?yàn)楦蓴_和系統(tǒng)錯(cuò)誤等造成的程序運(yùn)行混亂。一旦發(fā)生這類情形,看門狗便請(qǐng)求中斷服務(wù)或發(fā)出復(fù)位脈沖重啟系統(tǒng)。為了達(dá)到這樣的目的,其計(jì)時(shí)原理必須獨(dú)立于系統(tǒng)中的任何進(jìn)程。實(shí)際上,WatchDog是獨(dú)立的硬件邏輯,其計(jì)時(shí)脈沖直接取自系統(tǒng)主時(shí)鐘,因此它與RTC一樣具備實(shí)時(shí)性和獨(dú)立性,借用看門狗的計(jì)時(shí)體系來實(shí)現(xiàn)高精度時(shí)間測(cè)量是合理的。
    先以實(shí)驗(yàn)中用到的S3C4480X為例(該實(shí)驗(yàn)所用的ARM開發(fā)板型號(hào)為NETARM300),具體談?wù)効撮T狗的工作原理。其原理框圖如圖1所示,圖中MCLK即系統(tǒng)主時(shí)鐘。

    從圖中可以看出,系統(tǒng)主時(shí)鐘MCLK經(jīng)過可編程預(yù)分頻、可選固定分頻后,進(jìn)入WTCNT(硬件系統(tǒng)的計(jì)時(shí)計(jì)數(shù)器,16位)計(jì)數(shù)。根據(jù)器件手冊(cè),計(jì)數(shù)時(shí)間間隔t_watchdog=l/(MCLK/(Prescaler value+1)/Division_factor)。式中,參數(shù)Prescakr value的取值為O~28-l;Division_factor有16、32、64、128四種取值。如果復(fù)位信號(hào)輸出允許(即WTCON的位0置1),那么一旦計(jì)數(shù)器WTCNT的計(jì)數(shù)超過WTDAT允許的范圍,看門狗就會(huì)將CPU復(fù)位。本實(shí)驗(yàn)過程中屏蔽掉了這種復(fù)位和中斷請(qǐng)求功能,僅讓它對(duì)脈沖計(jì)數(shù)。
    控制寄存器WTCON的有關(guān)各位定義圖中已給出(如需詳細(xì)解釋可查閱器件手冊(cè),如參考文獻(xiàn)[3]),其他全為保留位,可全置為O。
    至于MCLK具體值的計(jì)算,可以查驗(yàn)系統(tǒng)中的晶振參數(shù)(頻率),讀取系統(tǒng)時(shí)鐘的PLL寄存器(如S3C44BOX的PLLCON)后算得。計(jì)算的方法都已在具體ARM芯片手冊(cè)中給出。

2 測(cè)量算法實(shí)現(xiàn)和實(shí)驗(yàn)結(jié)果
   
按照所需參數(shù)設(shè)置的看門狗定時(shí)器控制寄存器WT-CON的值(如前所述),在待測(cè)代碼段執(zhí)行之前開啟看門狗定時(shí)器;等其執(zhí)行完畢則關(guān)閉看門狗定時(shí)器,讀取WTCNT的值即可算得運(yùn)行時(shí)間。作為一個(gè)具體示例,筆者實(shí)驗(yàn)中所實(shí)現(xiàn)的算法如下:
(1)計(jì)時(shí)算法


(2)應(yīng)用

 

    需要指出:在改變WTCON的值之前應(yīng)將原有值保存,待測(cè)量完成后再?gòu)?fù)原WTCON。之所以強(qiáng)調(diào)這一點(diǎn),是因?yàn)橄到y(tǒng)別處很可能在使用看門狗功能。
    實(shí)驗(yàn)當(dāng)中,對(duì)長(zhǎng)度為189字節(jié)的字符串采用3次DES加密。密鑰長(zhǎng)度為15位,測(cè)得的加密時(shí)間為28832μs,解密時(shí)間為28 896μs??s短字符串長(zhǎng)度,測(cè)得的加密時(shí)間基本呈線性變化:字符串長(zhǎng)度為107字節(jié)而其他地方不變時(shí),加密耗時(shí)16 928μs,解密耗時(shí)16 948μs;字符串長(zhǎng)度為41字節(jié)而其他地方不變時(shí),加密耗時(shí)7 424μs,解密耗時(shí)7 424μs。對(duì)于相同長(zhǎng)度的字符串,密鑰長(zhǎng)度的改變對(duì)加密/解密時(shí)間的影響不是很大。
    值得一提的是,剛開始實(shí)驗(yàn)時(shí),被加密字符串分別取為190字節(jié)和75字節(jié),測(cè)得耗時(shí)分別是34 032μs和16 928μs,顯然與倍增的關(guān)系相差很遠(yuǎn)。分析程序后發(fā)現(xiàn),原來問題出在加密算法中間的打印語(yǔ)句“Uan_Printf(“\ncounting begin...!!!”)”上。原來以為它耗時(shí)很少,故沒有將它從加密算法中移走;移走后再試,耗時(shí)大減,分別為29 600 μs和12 496μs,與字符數(shù)倍增、時(shí)間倍增的預(yù)期基本相符。上面的實(shí)驗(yàn),還使筆者得知該打印語(yǔ)句占用了4432μs。稍微修改條件,繼續(xù)實(shí)驗(yàn):當(dāng)上述打印語(yǔ)句的字節(jié)數(shù)擴(kuò)充為原來的4倍時(shí),測(cè)得該語(yǔ)句耗時(shí)17728μs??梢姡臅r(shí)與打印內(nèi)容的字節(jié)數(shù)基本上成正比;另外,這種打印語(yǔ)句與加密/解密算法本身相比,并不是想當(dāng)然地只占用一點(diǎn)點(diǎn)時(shí)間。(上述數(shù)據(jù)與PC機(jī)串口通信波特率的設(shè)置無明顯關(guān)系。實(shí)際測(cè)試結(jié)果為:波特率由115 200bps下降到57 600 bps,沒有可以察覺到的差別。)

3 測(cè)量方法討論
    ARM內(nèi)置看門狗用作時(shí)間度量的適用范圍,大體以μs數(shù)量級(jí)為界。比如,從S3C44BOX的器件特性說明中可知,MCLK在看門狗計(jì)時(shí)器里的分頻比至少是1/16。典型情況下,MCLK=60MHz,則看門狗能夠分辨的最短時(shí)間單元t=l/(60 MHz/16)=0.27μs。統(tǒng)計(jì)誤差約為t/2,即O.1μs數(shù)量級(jí)。就μs級(jí)的時(shí)間測(cè)量精度而言,相對(duì)誤差有可能達(dá)到1%~10%;不過,這對(duì)很多速度估算的場(chǎng)合來說還是可以接受的。如果被測(cè)時(shí)間在10μs以上,那就沒有任何問題,可以認(rèn)為是相當(dāng)精確的了。
    這種思路還可用來實(shí)現(xiàn)精確延時(shí),因?yàn)樗亩〞r(shí)不依賴于指令執(zhí)行時(shí)間(指令執(zhí)行要受到系統(tǒng)調(diào)度等的影響,因而有很多不確定因素),而取決于對(duì)主時(shí)鐘的硬件分頻計(jì)數(shù)。
    由此實(shí)驗(yàn)推廣,ARM內(nèi)置看門狗可以作為此類系統(tǒng)中的第二時(shí)鐘存在。對(duì)于那些時(shí)間要求精確到μs、RTC的精度無法滿足的應(yīng)用,這種處理都不失為一種準(zhǔn)確、高效的方法。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

實(shí)際上函數(shù)指針本質(zhì)也是一個(gè)指針,只不過這個(gè)指針指向的不是內(nèi)存中的一段數(shù)據(jù)而是內(nèi)存中的一段代碼

關(guān)鍵字: 指針 數(shù)據(jù) 代碼

要問機(jī)器人公司哪家強(qiáng),波士頓動(dòng)力絕對(duì)是其中的佼佼者。近來年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機(jī)器人會(huì)后空翻,自主爬樓梯等。這不,波士頓動(dòng)力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉