<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 讓下一代智能互聯(lián)嵌入式應用開(kāi)發(fā)更簡(jiǎn)化

讓下一代智能互聯(lián)嵌入式應用開(kāi)發(fā)更簡(jiǎn)化

作者: 時(shí)間:2018-07-24 來(lái)源:網(wǎng)絡(luò ) 收藏

a) 如果被Cortex-M7處理器更新過(guò)的內存需要被另一個(gè)外設通過(guò)總線(xiàn)訪(fǎng)問(wèn),需要先清緩存(clean cache)以保證外設看到最新的數據。

本文引用地址:http://dyxdggzs.com/article/201807/383691.htm

b) 如果內存被外設通過(guò)總線(xiàn)更新,在Cortex-M7處理器訪(fǎng)問(wèn)該內存前,需要先做一個(gè)緩存無(wú)效(cache invalidate),這樣在讀取該位置的內容時(shí),處理器將直接從主存儲器中獲取最新的數據。

Cortex-M7處理器支持多種浮點(diǎn)支持選項,允許沒(méi)有FPU,只包含單精度FPU或者同時(shí)包含單精度和雙精度FPU。如果應用程序可以從雙精度浮點(diǎn)單元支持中獲益,該應用程序應該重新編譯以利用雙精度FPU。即使應用程序只使用單精度浮點(diǎn)運算,重新編譯為Cortex-M7處理器的代碼也是有益的,因為在Cortex-M7的FPU基于FPv5,而Cortex-M4處理器的FPU的是FPv4。FPv5增加了額外的浮點(diǎn)處理指令,有助于目標應用程序加速浮點(diǎn)數據處理。

程序代碼更改

有許多可能需要更改程序代碼的潛在領(lǐng)域。由于處理器具有更高的性能,一些程序代碼可能需要由于執行速度變快進(jìn)行適當的調節。最常見(jiàn)的例子是使用硬編碼(hard code)的循環(huán)來(lái)實(shí)現延遲的應用程序,必須調整原本的循環(huán)次數以確保延時(shí)。

從一個(gè)微控制器設備遷移到另一個(gè)時(shí),系統內存映射經(jīng)常發(fā)生變化。另外,Cortex-M7處理器初始矢量表并不是必須從地址0x00000000開(kāi)始。如果應用程序代碼假設初始向量表地址為0,用戶(hù)可能需要更新代碼,以便能夠通過(guò)讀取Vector Table Offset寄存器來(lái)確定初始矢量表的位置。

由于在Cortex-M7處理器的多總線(xiàn)接口和更強大的寫(xiě)緩存,用戶(hù)可能會(huì )發(fā)現有必要在程序代碼中插入額外的內存barrier指令。內存barrier的使用指南請參閱“ARM application note AN321 – ARM Cortex-M Programming Guide to Memory Barrier Instructions”。在Cortex-M4處理器上,由于處理器流水線(xiàn)本身的特性,忽略?xún)却鎎arrier指令并不會(huì )造成任何問(wèn)題。但在Cortex-M7處理器上,對內存barrier的需求是很?chē)栏竦摹?/p>

行動(dòng)起來(lái)

Cortex-M7不僅繼承了Cortex-M系列處理器的特性,如能源效率、高性能、易用性和更小的代碼,它專(zhuān)門(mén)設計的靈活出色的內存和連接選項使得它特別適合于汽車(chē)、物聯(lián)網(wǎng)和工業(yè)連接市場(chǎng)。在Cortex-M7處理器發(fā)布之后,基于它的MCU已經(jīng)相繼推出:

-- 意法半導體于2014年10月在A(yíng)RM TechCon上發(fā)布的STM32 F7系列。

-- Atmel公司在2015 CES上發(fā)布的針對連接性和通用工業(yè)應用AM E70和SAM S70系列

-- Atmel公司在2015 CES上發(fā)布的SAM V70和V71系列已取得汽車(chē)工業(yè)合格證,其采用Cortex-M7 DSP擴展,針對信息娛樂(lè )連接和音頻應用。

-- NXP也公開(kāi)宣布了采用Cortex-M7的Kinetis KV5x,針對高性能電源轉換、馬達控制和工業(yè)自動(dòng)化。

由于A(yíng)RM Cortex-M4和Cortex-M7處理器在架構上有很多相似之處,確保了大部分應用程序代碼可以直接遷移。軟件開(kāi)發(fā)人員可以開(kāi)始動(dòng)手,以確保他們的應用程序都適合于下一代智能連接設備。遷移需要用戶(hù)進(jìn)行一些適應性修改。開(kāi)發(fā)者可以根據從ARM Cortex-M4處理器到Cortex-M7處理器的應用程序遷移 - 軟件開(kāi)發(fā)人員指南( “Migrating Applications from an ARM Cortex-M4 Processor to a Cortex-M7 Processor - A Software Developer’s Guide”)”白皮書(shū)進(jìn)一步了解遷移過(guò)程的細節。該白皮書(shū)可以在A(yíng)RM Connected Community中找到,并提供了深入的技術(shù)討論。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>