女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

你的MCU不只這么強大

5RJg_mcuworld ? 來源:電子發燒友網 ? 作者:工程師譚軍 ? 2018-07-04 14:14 ? 次閱讀

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

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

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

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

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

2.系統中有一個定期產生中斷的時基。常見的就是SysTick定時器的周期中斷,別的timer也可以。這個中斷需要優先級比較高。

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

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

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

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

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

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

4.CPU負載比較輕,結果大量PC都采集到idle函數中。可能有小伙伴要問了,CPU都這么咸(閑)了,還淡操什么心?這個其實要以發展的眼光來看。比如,有可能隨著功能集成的增加CPU終將有不堪重負的時候,或者系統負載不均勻而表現出明顯的峰谷性,又可能希望讓CPU盡管做完事好進低功耗模式。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    459

    文章

    52145

    瀏覽量

    435993
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17824

    瀏覽量

    360236

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

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

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

    復旦微MCU強大的串口功能

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

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

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

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

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

    為什么MCU不支持SDRAM呢

    在使用MCU的嵌入式系統設計中,當程序或者數據內存占用太大而無法放入片上閃存或SRAM時,開發者通常考慮使用SDRAM。別問我為什么MCU不支持SDRAMSDRAM是...
    發表于 12-16 06:28

    i.MX RT1052這種級別MCU通常都跑什么系統?

    性能這么強大MCU應該很少會裸機開發吧,用什么系統更合適呢。
    發表于 11-09 07:41

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

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

    這樣設置的桌面,讓的vivo更精致

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

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

    單片機誕生于1971年,經歷了SCM、MCU、SoC三大階段。單片機由以前的1位、4位、8位、16位,發展到現在的32位甚至64位。90年代后隨著消費電子產品大發展,單片機技術得到了巨大提高,相繼
    發表于 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年,經歷了SCM、MCU、SoC三大階段。單片機由以前的1位、4位、8位、16位,發展到現在的32位甚至64位。 90年代后隨著消費
    發表于 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 助力電池組系統實現強大功能

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

    了解GD32 MCU上下電要求嗎

    了解GD32 MCU的上下電要求嗎?MCU的上下電對于系統的穩定運行非常重要。
    的頭像 發表于 02-02 09:36 ?1325次閱讀
    <b class='flag-5'>你</b>了解GD32 <b class='flag-5'>MCU</b>上下電要求嗎