一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

你的MCU不只這么強大

5RJg_mcuworld ? 來源:電子發(fā)燒友網(wǎng) ? 作者:工程師譚軍 ? 2018-07-04 14:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當(dāng)前的生活節(jié)奏越來越快,對計算處理器的要求也越來越高。即使是有摩爾定律的限制,人們?nèi)匀幌M趩蝹€芯片中塞入盡可能多的晶體管。盡管現(xiàn)在的MCU動不動就可以跑到幾十上百兆,比如NXP高能效的LPC54100系列已破100MHz大關(guān),通用型的LPC54600系列飚到210MHz,i.MX RT1050跨界處理器甚至飛到了怪獸級的600MHz,可是在當(dāng)下應(yīng)付圖像處理和機器學(xué)習(xí)等計算大戶時,仍然免不了出現(xiàn)“卡”的窘境。這個時候,如果能清楚地知道最消耗性能的具體函數(shù),就有機會制定優(yōu)化性能的策略。這也是圈子里常說的“profiling”(性能分析)。

有些價格相當(dāng)昂貴的專業(yè)軟硬件開發(fā)工具,都會提到它們有多么超強的profiling能力,這仿佛讓人覺得profiling是有錢人才能玩得起,難道作為廣大工程師我們就只能縮手縮腳嗎?其實不然,在軟件上想一點變通的辦法,使用最便宜的仿真器,就完全可以在極小的開銷下,做到好用夠用的強大profiling利器,丑小鴨秒變金鳳凰。

下面要介紹的方法的基本思想,就是密集地定期采集PC寄存器的值,從它的概率分布上估計最占CPU的函數(shù)。采集得越久,就越接近真實情況(大數(shù)定率)。其原理是,在Cortex-M系MCU進入中斷/異常時,會自動把被打斷的位置(PC)存儲在堆棧中。這樣我們可以用匯編寫一小段入口程序,讀取出入棧的PC數(shù)值,作為參數(shù)傳遞給處理程序的C程序主體,在主體中統(tǒng)計PC樣本的規(guī)律。只要采集了足夠久的樣本,在概率論的大數(shù)定理支持下,咱們就有信心估計程序中PC最常出現(xiàn)的位置,也就是最占CPU時間的函數(shù)。

為了貫徹這個思想,需要準備的只有:

1.工具鏈產(chǎn)生的 .map文件。無論是KEIL, IAR, GCC,在成功構(gòu)建程序后,都會產(chǎn)生一個map文件來記錄各函數(shù)和變量的位置。從采集的PC位置,查map文件判定是什么函數(shù)。

2.系統(tǒng)中有一個定期產(chǎn)生中斷的時基。常見的就是SysTick定時器的周期中斷,別的timer也可以。這個中斷需要優(yōu)先級比較高。

3.擴寫定時器中斷服務(wù)程序,按照前面的思路,加入這個屌絲神器。

這樣,我們就可以把占CPU最多的計算型函數(shù)請到VIP區(qū),它們與CPU有綠色快速通道,加速它們的執(zhí)行。其實這個VIP區(qū)也是分等級的,從小V到大V,特權(quán)待遇相差還是明顯的,小編今后再專開一文介紹不同VIP的特權(quán)。

要想讓這個思路能可靠工作,還有幾個關(guān)鍵的小坑不要踩:

1.PC最常在的位置并非一定就是最計算密集的位置。比如,程序中經(jīng)常會出現(xiàn)等候外設(shè)寄存器的情況,CPU幾萬幾億遍地查看一個外設(shè)標志。這類IO忙等的代碼即使放在大V區(qū),也無濟于事。

2.定時器中斷的優(yōu)先級不夠高。如果有高優(yōu)先級的中斷服務(wù)程序占用了大量CPU時間,定時器中斷就沒有機會采集到它們,反而是在這些中斷返回時定時器中斷才得到服務(wù),結(jié)果反而冤枉了被高優(yōu)先級中斷給打斷的位置。

3.某個函數(shù)的工作頻率與相位恰好和定時器中斷產(chǎn)生“共振”,經(jīng)常有機會在進入定時器中斷的前夕在這個函數(shù)中,也會誤以為這個函數(shù)是最占CPU時間的。這個情況一般是罕見的。

4.CPU負載比較輕,結(jié)果大量PC都采集到idle函數(shù)中??赡苡行』锇橐獑柫?,CPU都這么咸(閑)了,還淡操什么心?這個其實要以發(fā)展的眼光來看。比如,有可能隨著功能集成的增加CPU終將有不堪重負的時候,或者系統(tǒng)負載不均勻而表現(xiàn)出明顯的峰谷性,又可能希望讓CPU盡管做完事好進低功耗模式。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    460

    文章

    52520

    瀏覽量

    440996
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    366994

原文標題:證明你的MCU夠強,有時不需要昂貴開發(fā)工具!

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    芯科科技推出新的8位MCU系列產(chǎn)品,擴展其強大MCU平臺

    科技”,NASDAQ:SLAB),今日宣布推出新的8位微控制器(MCU)系列產(chǎn)品,該系列MCU針對價格和性能進行了優(yōu)化,進一步擴展了芯科科技強大MCU開發(fā)平臺。 這些新的8位
    發(fā)表于 11-21 15:20 ?1114次閱讀
    芯科科技推出新的8位<b class='flag-5'>MCU</b>系列產(chǎn)品,擴展其<b class='flag-5'>強大</b>的<b class='flag-5'>MCU</b>平臺

    請問用算力強大的SOC來控制汽車是不是能夠大幅減少MCU的使用數(shù)量?

    來自一位用戶的咨詢,麻煩幫忙解答,越詳細越好,有圖有真相,可以適當(dāng)提供一些英飛凌解決方案和產(chǎn)品推薦。 用算力強大的SOC來控制汽車是不是能夠大幅減少MCU的使用數(shù)量? 未來電動汽車會使用SOC來代替大量MCU?
    發(fā)表于 02-02 07:16

    莫名被戳中的“不只是”體

    機會獲得驚喜,不知道下面這些網(wǎng)友的夠不夠資格呢?一起來欣賞下吧。 不只是因為長的丑,這個居然也有版本 年薪20萬誰不眼饞 國安的球迷也不示弱 居然也出了一個星爸的版本 這個看來是力宏的粉絲寫的了 好基友,一輩子 上一次頭條就這么
    發(fā)表于 05-26 17:24

    莫名被戳中的“不只是”體

    機會獲得驚喜,不知道下面這些網(wǎng)友的夠不夠資格呢?一起來欣賞下吧。 不只是因為長的丑,這個居然也有版本 年薪20萬誰不眼饞 國安的球迷也不示弱
    發(fā)表于 05-26 17:26

    復(fù)旦微MCU強大的串口功能

    最近試了下復(fù)旦微的串口,功能確實非常強大;1、首先串口路上非常多,高達6路之多 ,隨著物聯(lián)網(wǎng)的趨勢,現(xiàn)在產(chǎn)品通信,升級,無線,wifi,藍牙,以太網(wǎng)等功能用到的越來越多,外擴基本都需要串口,現(xiàn)在
    發(fā)表于 09-09 22:14

    為什么不只使用低阻抗揚聲器?

    為什么不只使用低阻抗揚聲器?
    發(fā)表于 05-28 06:03

    MCU、MPU、DSP、FPGA的概念看完就懂了

    MCU、MPU、DSP、FPGA的概念看完就懂了
    發(fā)表于 09-24 07:12

    為什么MCU不支持SDRAM呢

    在使用MCU的嵌入式系統(tǒng)設(shè)計中,當(dāng)程序或者數(shù)據(jù)內(nèi)存占用太大而無法放入片上閃存或SRAM時,開發(fā)者通??紤]使用SDRAM。別問我為什么MCU不支持SDRAMSDRAM是...
    發(fā)表于 12-16 06:28

    i.MX RT1052這種級別MCU通常都跑什么系統(tǒng)?

    性能這么強大MCU應(yīng)該很少會裸機開發(fā)吧,用什么系統(tǒng)更合適呢。
    發(fā)表于 11-09 07:41

    如何使用Microchip MAPS選擇適合的PIC? MCU

    本講座是:如何使用Microchip MAPS選擇適合的PIC? MCU。
    的頭像 發(fā)表于 06-06 00:45 ?3075次閱讀

    這樣設(shè)置的桌面,讓的vivo更精致

    vivo手機桌面設(shè)置原來這么強大,跟我學(xué),讓的vivo更好用
    的頭像 發(fā)表于 08-29 10:07 ?1.4w次閱讀

    用了這么多年的MCU知道哪些MCU原廠最牛?

    單片機誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段。單片機由以前的1位、4位、8位、16位,發(fā)展到現(xiàn)在的32位甚至64位。90年代后隨著消費電子產(chǎn)品大發(fā)展,單片機技術(shù)得到了巨大提高,相繼
    發(fā)表于 10-25 09:51 ?9次下載
    用了<b class='flag-5'>這么</b>多年的<b class='flag-5'>MCU</b>,<b class='flag-5'>你</b>知道哪些<b class='flag-5'>MCU</b>原廠最牛?

    用了這么多年的MCU,知道哪些MCU原廠最牛?

    單片機誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段。單片機由以前的1位、4位、8位、16位,發(fā)展到現(xiàn)在的32位甚至64位。 90年代后隨著消費
    發(fā)表于 11-01 16:25 ?8次下載
    用了<b class='flag-5'>這么</b>多年的<b class='flag-5'>MCU</b>,<b class='flag-5'>你</b>知道哪些<b class='flag-5'>MCU</b>原廠最牛?

    低成本 MCU 助力電池組系統(tǒng)實現(xiàn)強大功能

    低成本 MCU 助力電池組系統(tǒng)實現(xiàn)強大功能
    發(fā)表于 10-28 12:00 ?0次下載
    低成本 <b class='flag-5'>MCU</b> 助力電池組系統(tǒng)實現(xiàn)<b class='flag-5'>強大</b>功能

    了解GD32 MCU上下電要求嗎

    了解GD32 MCU的上下電要求嗎?MCU的上下電對于系統(tǒng)的穩(wěn)定運行非常重要。
    的頭像 發(fā)表于 02-02 09:36 ?1428次閱讀
    <b class='flag-5'>你</b>了解GD32 <b class='flag-5'>MCU</b>上下電要求嗎