久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12234|回復(fù): 0
收起左側(cè)

幾步學(xué)會利用IAR Timeline工具測試delay函數(shù)執(zhí)行時間

[復(fù)制鏈接]
ID:82781 發(fā)表于 2015-6-24 17:06 | 顯示全部樓層 |閱讀模式
    "要把大象放冰箱,總共分幾步",呵呵,寫到本篇博客的時候突然想起小品宋丹丹說的那句經(jīng)典臺詞了(俺們東北人兒對本山大叔的作品真是滾瓜爛熟了,搞的舍友還時不時跟我學(xué)上一學(xué)),哈哈,所以就索性給題目也加上了“幾步”的說法,把復(fù)雜的事情簡單化,也起到吸引人眼球的作用(當(dāng)然本篇也是有實料的,進來的不會讓你失望的,呵呵)。咳咳,至于到底是幾步,是不是傳說中的“三步”來,哈哈,那還得下面分解。。。
            對于我們程序猿這一類人來說,delay函數(shù)貌似是我們最熟悉不過的了。當(dāng)然,隨著我們編程經(jīng)驗的逐漸提高,像這種純軟件方式的延時函數(shù)是不提倡使用的,畢竟它一直霸占著CPU總線,不過在我們初入門的時候delay函數(shù)還是隨處可見的,神馬各種學(xué)習(xí)板開發(fā)板的demo例程里,模擬IIC,SPI等總線、時序驅(qū)動某些外設(shè)等等,delay函數(shù)成為了我們初入嵌入式軟件編程大門所見到的第一類延時函數(shù)了(起碼對我而言是這樣的,所以覺著特親切),但是想如果精確地知道delay的時間就是個麻煩事了。當(dāng)然其中方法有很多,今兒我就說一招,不過限于用Jlink在IAR環(huán)境下的調(diào)試,MCU仍然以Kinetis為例了。
            Timeline,可能有些人會覺著有些陌生,其實它是IAR自帶的調(diào)試組件之一,可以幫助開發(fā)者在調(diào)試程序的時候跟蹤內(nèi)部程序調(diào)用情況,這里一句兩句也說不清楚,等下面上圖之后就會一目了然了,那還等什么,上“硬菜”吧,也讓我們看看到底分幾步,呵呵:
        第一步:在程序中編寫好delay函數(shù),及在main函數(shù)里的調(diào)用,如下:
        /*************delay函數(shù)定義*************/
        uint8 testPoint;  //定義測試點,用來設(shè)置斷點
        void delay(void)
        {
          uint8 i=0;

          while((i++)!=200);
        }
        /*************delay函數(shù)的調(diào)用*************/
        ... ...
          while(1)
          {   
              testPoint = 0;
              delay();
          }
        第二步:設(shè)置調(diào)試工具為J-Link/J-Trace,然后在J-Link/J-Trace選項卡選擇如下圖
       
       
        第三步:點擊調(diào)試,進入調(diào)試界面,分別點擊view->Breakpoint,J-Link->Timeline,調(diào)出這兩個調(diào)試窗口,然后右鍵testPoint,選擇如下圖:
       
       
        第四步:準(zhǔn)備工作已經(jīng)就緒,下面就開始測試delay函數(shù)的延時時間了。點擊全速運行,它第一次可能會停留在啟動代碼的清零段(這個正常,因為testpoint被我設(shè)置成全局變量,在啟動的時候會在清零段里去初始化它),繼續(xù)多次點擊全速運行(七八次即可),然后觀察Timeline的Call Stack行,效果如下:
       
        第五步:我們通過Timeline窗口查到了delay函數(shù)的執(zhí)行周期,在前面我們又設(shè)定了CPU的頻率(96MHz),所以可以算出來delay執(zhí)行的時間T = 1190*1/96 us = 12.40us。呵呵,比裝大象費點事,總共分五步了,哈哈~
        這里只是當(dāng)做一個小技巧分享給大家了,可能絕大多數(shù)人用不到了,不過這里是給大家打開了一個思路,timeline的功能很多,更多好用好玩的功能就留給大家去開發(fā)了。其實現(xiàn)在隨著搞嵌入式的年頭增加,越來越意識到一個問題,那就是調(diào)試手段在我們開發(fā)系統(tǒng)中的重要作用,真的在以前或者說還是個新手的時候覺著調(diào)試是個麻煩而又沒有多大作用的過程,但是到現(xiàn)在發(fā)現(xiàn)如果利用好調(diào)試工具的話絕對會讓我們的開發(fā)事半功倍的,況且現(xiàn)在的片子內(nèi)部自帶的調(diào)試模塊功能越來越強大,外部的調(diào)試工具功能也是越來越全面,這些都是附加值(通俗點說,那就是咱花錢買過來的),我們豈能浪費了,不用白不用,白用誰不用嘛,嘿嘿~

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩成人影院 | 国产精品成人一区二区三区夜夜夜 | 国产情侣啪啪 | 亚洲+变态+欧美+另类+精品 | 欧美一级在线免费 | 国产aa | 99re视频在线观看 | 欧美极品在线 | 人人射人人 | 国产一区二区高清在线 | 国产成人网 | a级片播放 | 中文字幕一区二区三区乱码在线 | 亚洲精品在线免费看 | 在线观看成年人视频 | 亚洲综合中文字幕在线观看 | 成人三级网址 | 国产一区二区三区在线 | 看真人视频一级毛片 | 日本精品在线观看 | 欧美区日韩区 | 国产在线一区二区 | 国产精品视频久久 | 亚洲综合色视频在线观看 | 久久一区二区三区四区五区 | 粉嫩一区二区三区性色av | 蜜臀久久 | 国产成人精品久久二区二区91 | 久久美女网 | 国产亚洲一区二区精品 | 亚洲综合99 | 国产美女精品 | 成人免费视频在线观看 | 国产精品一区二区久久久久 | 狠狠干网站| 91深夜福利视频 | 丁香久久 | 久久精品福利视频 | 亚洲精品www. | 国产成人精品久久二区二区 | 秋霞a级毛片在线看 |