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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12392|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
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)試工具功能也是越來越全面,這些都是附加值(通俗點說,那就是咱花錢買過來的),我們豈能浪費了,不用白不用,白用誰不用嘛,嘿嘿~

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99riav国产一区二区三区 | 欧美一级电影免费 | 亚洲国产成人精品女人久久久 | 久久久久亚洲av毛片大全 | 美女日皮网站 | 成人免费小视频 | 欧美一级在线免费观看 | 亚洲精品视频网站在线观看 | 国产一区二区三区四区五区加勒比 | 日本一区二区高清不卡 | 99久久精品一区二区毛片吞精 | 中文字幕高清视频 | av一区二区在线观看 | 国产一级影片 | 91在线网站| 五月婷婷婷 | 成人午夜视频在线观看 | 亚洲第一天堂 | 欧美三级电影在线播放 | 中国一级大黄大片 | 精品一区二区三区中文字幕 | 网黄在线 | 国产91丝袜 | 亚洲精品一区中文字幕 | 日韩精品一区二区三区久久 | 91久久久久久久久 | 亚洲精品4| 可以免费观看的av | 国产精品欧美精品日韩精品 | 欧美a级成人淫片免费看 | 自拍 亚洲 欧美 老师 丝袜 | 中文在线一区二区 | 天堂三级| 国产一区二区久久 | www.v888av.com| 福利国产 | 日本久久网 | 在线小视频 | h视频在线观看免费 | 亚洲精品久久久久中文字幕二区 | 亚洲欧洲激情 |