關於cortex—M系列的一點點思考
雖然除錯過晶片種類不多,但是對意法半導體cortex-M3核心的STM32 F1XX系列的產品還是情有獨鍾。相對於8位核心的處理器來說,感覺已經相當滿足了,尤其是身為屌絲的我,能用8位核心晶片的價錢買到32位的晶片,已經是相當的知足了,況且STM32的外設已是相當的豐富,基本上可以滿足我的大部分應用,起碼在低端處理器領域而言。另外意法公司高層的眼光還不止這麼淺,價格戰是一方面,還有生態系統的搭建也是非常親民的,keil,IAR在中國的普及(先不說普及這麼廣的原因)熟悉的開發環境讓使用32的人能夠迅速的上手,更狠的是,雖然硬體設計上飛思卡爾已是相當的NX了,但是意法公司為了能夠讓開發者迅速地搭建開發平臺,聰明的在軟體方面下了很多功夫,庫環境的建立使得許多菜鳥能夠短時間的就可以開發出簡單的應用程式(當然我當初也是這麼過來的),相比過去直接操作暫存器的方式來說,簡直容易多了。其實這也說明一個道理,一個“人”再怎麼
最近看過有人在論壇裡吐槽“cortex m系列就是騙錢的爛貨”結果下面就有人嘲諷他了,說“又要效能,又要價格便宜,又要小封裝,大哥,我問您一句,如果您能保證達到月供貨需求,您可以聯絡飛思卡爾,或者我替您聯絡飛思卡爾,直接給您專門開發一款晶片,絕對的讓您滿意。飛思卡爾有針對大客戶定製晶片的業務,這個大家都知道。而飛思卡爾powerpc的產品很多,但是要考慮一下,powerpc的使用環境。M系列是用來代替51系列的。當您需要價格低,還要32位的時候,您可以選擇M系列。如果您需要在工控領域發展,您可以選擇
言歸正傳,最近有個朋友再玩TI的ARM cortex-m4核心的晶片,相對於之前的我只會用M3核來說,感覺很新鮮。所以上網查了一下cortex-M0,M3,M4之間的區別,在此我就做一下搬運工,挑我感興趣的摘錄一下,原文出自
1、為什麼選擇Cortex-M0
能耗最低的最小 ARM 處理器
Cortex-M0 的程式碼密度和能效優勢意味著它是各種應用中 8/16 位裝置的自然高性價比換代產品,同時保留與功能豐富的 Cortex-M3 處理器的工具和二進位制向上相容性。
超低的能耗
Cortex-M0 處理器在不到 12 K 門的面積內能耗僅有 85 µW/MHz(0.085 毫瓦),所憑藉的是作為低能耗技術的領導者和建立超低能耗裝置的主要推動者的無與倫比的 ARM 專門技術。
簡單
指令只有 56 個,這樣您便可以快速掌握整個 Cortex-M0 指令集(如果需要);但其 C 語言友好體系結構意味著這並不是必需的。可供選擇的具有完全確定性的指令和中斷計時使得計算響應時間十分容易。
優化的連線性
設計為支援低能耗連線,如 Bluetooth Low Energy (BLE)、IEEE 802.15 和 Z-wave,特別是在這樣的模擬裝置中:這些模擬裝置正在增加其數字功能,以有效地預處理和傳輸資料。
2、為什麼選擇Cortex-M3
提供更高的效能和更豐富的功能
於 2004 年引進、最近通過新技術進行了更新並更新了可配置性的 Cortex-M3,是專門針對微控制器應用開發的主流 ARM 處理器。
效能和能效
具有高效能和低動態能耗,Cortex-M3 處理器提供領先的功效:在 90nmG 基礎上為 12.5 DMIPS/mW。將整合的睡眠模式與可選的狀態保留功能相結合,Cortex-M3 處理器確保對於同時需要低能耗和出色效能的應用不存在折衷。
全功能
該處理器執行 Thumb®-2 指令集以獲得最佳效能和程式碼大小,包括硬體除法、單週期乘法和位欄位操作。Cortex-M3 NVIC 在設計時是高度可配置的,最多可提供 240 個具有單獨優先順序、動態重設優先順序功能和整合系統時鐘的系統中斷。
豐富的連線
功能和效能的組合使基於 Cortex-M3 的裝置可以有效處理多個 I/O 通道和協議標準,如 USB OTG (On-The-Go)。
3、為什麼選擇Cortex-M4
目標用用:專門面向電動機控制、汽車、電源管理、嵌入式音訊和工業自動化市場的新興類別的靈活解決方案。
曾獲大獎的高能效數字訊號控制
Cortex-M4 提供了無可比擬的功能,以將 32 位控制與領先的數字訊號處理技術整合來滿足需要很高能效級別的市場。
易於使用的技術
Cortex-M4 通過一系列出色的軟體工具和 Cortex 微控制器軟體介面標準 (CMSIS) 使訊號處理演算法開發變得十分容易。
目前部分主流廠家的產品介紹:
德州儀器:
LM3Sxxxx系列(M3)
LM4Fxxxx系列(M4)
意法半導體:
STM32 F0xx系列(M0 48MHZ)
STM32 Lxxx系列(M3 32MHZ)
STM32 F1xx系列(M3 72MHZ)
STM32 F2xx系列(M3 120MHZ)
STM32 F4xx系列(M4 168MHZ)
NXP:
LPC11xx LPC12xx系列(M0)
LPC13xx LPC17xx LPC18xx 系列(M3)
LPC43xx 系列(M4)
飛思卡爾:
Kinetis L系列(M0+)
Kinetis X系列、K系列(M4)
Atmel:
SAM3S/U/N系列(M3)
SAM4S系列(M4)
SAM7xxxx系列(ARM7)
SAM9xxxx系列(ARM9)
英飛凌:
XCM4000系列(M4,是英飛凌第一次推出ARM架構的MCU)
好了今天就寫這些。