我會建議對基於ARM7的任何新的設計 - 這是一個傳統的ARM架構。您應該檢查供應商的零件狀態,並計劃您計劃設計的任何零件的過時。沒有供應商正在發佈基於ARM7的新設計。
我還建議,對於DSP算法,Cortex-M4的DSP特性比其浮點更重要。 ARM Cortex-M CMSIS包含一個利用此功能的DSP庫。無論哪種方式,定點DSP算法都比使用浮點的效率高得多。
Cortex-M是一種效率更高的設計,ARM7實現了1.2 MHz DMIPS每MHz,而不到1.0 DMIPS每MHz。結合DSP指令,浮點和用於片上標誌,RAM和外設的獨立總線,使Cortex-M上的大部分代碼顯着加快。
Cortex-M架構定義了SYSCLK和中斷控制器,在ARM7上這些是由芯片供應商定義的,各供應商之間的代碼移植更加困難。
STM32F4xx器件運行頻率高達180MHz;大多數ARM7器件都是60MHz或更低。
使用浮點執行比較幾乎是毫無意義的。至少,浮點硬件將輕鬆勝過ARM7所需的軟件浮點,其係數爲5到10。除非您的應用程序能夠應對性能下降,否則不適用於ARM7。但是,大多數應用程序不需要浮點。整數或定點算法的運行速度可能比軟件浮點快5倍左右,因此與硬件浮點競爭。還請記住,Cortex-M4 FPU僅爲單精度。
將Cortex-M3與Cortex-M4進行比較以測試應用程序對缺乏硬件FP和DSP支持的敏感性會更合理。
SDIO性能將受到SDIO接口和SD卡本身的限制(即使在相同的「速度等級」下,其性能差別很大) - 處理器本身的負載將非常低,如果您的應用程序正忙着等待而不是在等待SD卡時做一些有用的事情,那麼大部分時間都在等待數據。 DMA傳輸的使用可能會使CPU負載或多或少可以忽略不計。
下圖說明了與Cortex-M4相比,ARM7的定位方式。後者是更高的性能和更強的能力。在相同的時鐘頻率下,ARM9和ARM11之間的Cortex-M4站點在性能規模上。
我不認爲你需要執行,因爲廣泛的性能數據比較ARM7和Cortex M4任何基準測試已經上市。你可能做的是測量你現有應用程序在其當前平臺上的CPU負載。如果它很低(可能是< 20%),並且它大部分時間都處於閒置狀態,那麼ARM7可能是可行的。當然,如果您的應用程序沒有在RTOS或調度程序上運行並且有空閒任務,那麼測量真正的CPU負載可能會很困難。
你應該嘗試製作類似於真正的節目將要做的事情。如果可能的話。 – 2013-05-09 14:34:18
或者用假數據運行真正的程序(以避免需要移植I/O)。但首先閱讀這個不明身份替代部分的規格 - 並且船上是否有足夠的內存? – 2013-05-09 15:26:12
爲什麼*「當然大約1兆內存」*? – Clifford 2013-05-09 21:57:51