久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5461|回復: 0
打印 上一主題 下一主題
收起左側

淺談ARM Cortex-M0 作者:新唐科技 盧泰均

[復制鏈接]
跳轉到指定樓層
樓主
ID:94349 發表于 2015-11-3 20:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
作者: 新唐科技 盧泰均
引言

  ARM公司在2009年初發布了其嵌入式處理器系列中最小型、最低功耗的CortexM0處理器。CortexM0低功耗、高性能與極精簡程序代碼的特性,能應用于各種微控制器(MCU)中,并可讓研發業者以8位的價位創造32位的效能,并進一步將傳統的8位和16位的處理器推進至更高效能、更低功耗的32位處理器。

關于CortexM0

  ARM一改其傳統的命名法則,以Cortex來為其全新的微處理器系列命名。在這個系列中,核心采用全新的ARMv7架構,引進了許多革命性的突破與創新,并首次由單一款式延伸成3種款式,并各自定義其相對應的架構,分別為CortexA(ARMv7A)、CortexR(ARMv7R)、CortexM(ARMv7M)。CortexA系列適于高性能的開放應用平臺,CortexR系列適于實時信號處理控制系統,而CortexM系列則瞄準了對成本和功耗敏感卻又有高性能需求的嵌入式應用領域,成為在微控制器、工業控制系統、汽車控制系統及無線網絡等各種手持應用系統中的最佳解決方案。
CortexM0是CortexM家族中的微處理器核心,其擁有最低閘數、最低功耗以及強悍性能的優異表現。CortexM0為32位、3級流水線RISC處理器,其核心與ARM7同為馮·諾依曼(Von Neumann)架構,采指令和數據共享同一總線的設計。作為新一代的微處理器,CortexM0在整體的設計架構上進行了許多改革與創新,如折中效率和程序代碼密度的全新指令集架構(ISA)、事先定義的系統存儲器地址映像(system address map)、改善效率并增強確定性的嵌套向量中斷系統(NVIC)與不可屏蔽中斷(NMI)、全新的硬件除錯單元等等,都帶給了使用者全新的體驗和更便利、更有效率的操作。

  CortexM0其核心架構為ARMv6M,為CortexM家族架構ARMv7M的一個子集,去除了許多復雜的支持,所以大幅降低基本核心之門數至12K,從而擁有極低之動態功耗85 μW/Hz。而在低成本、低功耗的前提下,由于采用了全新的指令集架構Thumb2 指令集,CortexM0并沒有犧牲掉應有的效能,其運算能力可以達到0.9 DMIPS/MHz,而與其他的16位與8位處理器相比,由于CortexM0的運算性能大幅提高,所以在同樣任務的執行上CortexM0只需較低的運行速度,而大幅降低了整體的動態功耗。

指令集Thumb2

  在傳統的ARM7TDMI處理器系統中,系統重置后都是從ARM狀態/指令集開始運行,處理器核心可以根據特定的應用需求切換到Thumb狀態/指令集執行。ARM指令集為一32位長度之指令碼,由于指令碼長度較長,所以指令集都可以是有條件的執行,以獲得較出色的效能。Thumb指令集為一16位長度之指令碼,為ARM指令集之子集,程序代碼密度提高了一倍,但可能需要更多的指令去執行相同的任務,所以造成了性能的下降。程序設計者可以根據不同的需求在兩種狀態下切換,以在程序代碼效能和密度中取得平衡,但在狀態切換中會有額外的程序執行,導致性能進一步的下降。另外ARM和Thumb指令集需要以不同方式編譯,而增加的軟件開發管理上的復雜度。Thumb2指令集則是一全新的技術,為一16位和32位指令碼的結合,兩種長度的指令碼可共存于同一模式。所以全新的Thumb2技術結合了16位指令集高程序代碼密度與32位指令集高效能的各自優點,并免去了狀態切換之復雜度,而提升了整體的效能。

  CortexM0同時支持了Thumb和部分的Thumb2指令集,核心不論是在正常程序執行還是處理中斷異常模式均保持在單一Thumb狀態下執行,免去了不必要的狀態切換,大幅地節省了執行時間和指令碼大小。

系統存儲器地址映像

  CortexM0核心采用一個系統存儲器地址映像,為高達4 GB的可尋址存儲空間提供簡單和固定的映像機制。這個存儲器映像機制為程序代碼、SRAM、外部內存和外圍設備提供了預先定義的專用地址。在傳統的ARM微處理器架構中,并沒有預先定義好存儲器映像地址,而是由各家芯片制造商自行定義和設計,因此即使采用了相同的核心處理器,卻有完全不同的存儲器映像地址,給相互間程序代碼移植帶來了很大困難。CortexM0則是預先定義好了完整的存儲器地址映像表,詳細載明了每個區間地址內存儲器的作用和特性,但也預留了某些區域給各家廠商自行設計。這種預先定義的映像關系,使得各家廠商可以對存取速度從事高度的優化,而且對于單芯片上的系統設計而言更易整合。

嵌套式向量中斷系統

  嵌套式向量中斷系統(NVIC)是CortexM0另一個令人注目的創新設計,它可以依據使用者不同的需求進行高度配置。CortexM0中的NVIC支持16個系統異常(exception,部分為系統保留)與最多32個外部中斷(interrupt,外部中斷支持數量由芯片設計商自行配置)供芯片設計商使用,搭配4級優先權的設置并借助NVIC與CortexM0核心緊密的結合為整個系統提供豐富且實時的中斷處理能力。

  CortexM0采用一個事先定義的向量表,屬于程序代碼的一部分,向量表定義了堆棧的起始地址和各個異常/中斷的入口地址。當某個中斷被接受之后,CortexM0通過內部總線從向量表中獲取其地址來執行。硬件支持的向量化中斷功能大幅地縮短了進入中斷的延遲,提高了程序效能,因為程序不再需要判斷中斷來源和進行必要的寄存器堆棧,完全由硬件自動完成。當異常發生時,程序狀態寄存器(PSR)、程序計數器(PC)、鏈接寄存器(LR)和R0~R3、R12等通用寄存器將自動被存進堆棧;同時,處理器從中斷向量表中讀取出相對應的中斷服務程序地址,并獲取中斷服務程序的第一條指令。一旦堆疊存儲和取指完成后,中斷服務或異常處理程序便開始執行,展現了極高且確切的效能。隨后在中斷服務程序結束前,相關寄存器將自動從堆棧中取出,原本中斷了的正常程序也因此恢復執行,完全不需要軟件的介入。由于可以在硬件中處理堆棧操作,CortexM0避免了傳統的C語言中斷服務程序中為了完成堆棧處理所要編寫的匯編程序,這使應用程序的開發變得更加簡單與便利。另外,值得一提的是,CortexM0還支持了所謂的TailChaining和LateArrival先進技術,大幅改善了傳統ARM微處理器在相異的中斷請求交互發生時的處理效率,縮短了中斷延遲,進一步提升了CortexM0在實時系統的處理能力。

與ARM7TDMI 之比較

  基于ARM7核心的微處理器在過去幾十年襲卷了32位MCU市場,在此將CortexM0和這位師出同門的老大哥加以比較,使大家清楚它們的差異。

表1



新唐科技NuMicro家族

  微控制器(MCU)廠商新唐科技(Nuvoton Technology Inc.)前身為華邦電子邏輯事業群,近期推出以ARM CortexM0為核心的32位微控制器——NuMicro家族。該家族采用ARM公司最新發布的最小型、最低功耗、低門數、精簡程序代碼的CortexM0處理器,內建各種模擬與混合信號組件以及多種高速通信能力裝置,執行效能約為傳統8051的72倍。基于Keil開發環境下,客戶很容易從8051升級至NuMicro來創造產品價值與競爭力。

  NuMicro家族的成員包括了四大系列,NUC100系列、NUC120系列、NUC130系列、NUC140系列。其核心CortexM0的執行頻率為50 MHz,具有先進的嵌套向量中斷控制(NVIC)、喚醒中斷控制(WIC)、單周期32位乘法器與Serial Wire硬件除錯單元支持等優異特性,并擁有Sleep與PowerDown不同的節能模式;并且配置了一個遞減計數24位SysTick Timer,它可定時產生中斷,提供理想的計時功能來驅動實時操作系統或其他預定的任務。此家族配備了多達128 KB的閃存和16 KB的SRAM,外圍設備提供了高達12位、800 ksps的8 通道ADC、多組UART、SPI、I2C與USB2.0等高速總線等接口。其他外設則包括至多80個GPIO腳、4組通用計數器/定時器、RTC、看門狗定時器與PWM、CAN總線控制器豐富的外圍裝置可供客戶依需求搭配使用,并提供多種封裝樣式供選擇。

總結

  CortexM0核心的邏輯門數很少,非常適合低成本、低功耗要求的應用。由于支持全新的Thumb2指令集,免除了狀態間的切換,增強了整體效能,提升了程序代碼密度,簡化了軟件的開發與維護,縮短了產品的開發時間。CortexM0內建除錯系統,在支持傳統的JTAG基礎上,開發了更新更好的Serial Wire除錯接口,并配置了多達4個斷點和2個觀察點。CortexM0已獲得ARM微控制器開發套Keil RealView MDK的支持,結合了ARM RealView編譯工具以及強大完善的Keil uVision IDE與Debugger工具。CortexM0擁有許多實時操作系統與第三方工具的支持,包括IAR Systems、Mentor Graphics等。該處理器并向上兼容于其家族系列中的產品開發工具以及二進制程序代碼,保證其程序代碼未來的移植和發展性。相信在不久的未來,CortexM0將在整個微控制器市場和嵌入式應用系統中大放光彩。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产麻豆乱码精品一区二区三区 | 狠狠干网站 | 欧美专区日韩 | 老牛嫩草一区二区三区av | 亚洲大片 | 久久小视频 | 91精品久久久久久久久久入口 | 一级片网址 | 久久精品网 | 热久色 | 精品在线视频播放 | 三级视频网站 | 中文字幕在线观看国产 | 久久91精品国产 | 国产一级免费视频 | 我想看国产一级毛片 | 国产成人一区二区三区久久久 | 亚洲在线视频 | 欧洲亚洲视频 | 国产日韩欧美激情 | 欧美日韩久久精品 | 成人免费视频网站在线观看 | 欧美久久一区二区三区 | 国产99久久久国产精品下药 | 亚洲高清电影 | 亚洲精品乱码8久久久久久日本 | 精品国产一区二区三区久久狼黑人 | 久久久久久久久91 | 亚洲精品一区二区三区在线观看 | 国产精品国产三级国产aⅴ原创 | 毛片视频免费 | 午夜精品久久久久99蜜 | 超碰最新在线 | 亚洲精品国产综合区久久久久久久 | 在线资源视频 | 国产一区二区在线免费视频 | av大全在线 | 国产福利视频在线观看 | 欧美日韩一二三区 | 欧美综合久久久 | 免费在线观看黄网站 |