摘要:處理器擁有的寄存器組。主堆棧指針復位后缺省使用的堆棧指針,用于操作系統內核以及異常處理例程包括中斷服務例程。進程堆棧指針由用戶的應用程序代碼使用。堆棧指針的最低兩位永遠是,這意味著堆棧總是字節對齊的。
ARM(Advanced RISC Machine),既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,是一款高級RISC(精簡指令集)微處理器,還可以認為是一種技術的名字。ARM 公司并不生產芯片也不銷售芯片,它只出售芯片技術授權。其合作公司針對不同需求搭配各類硬件部件,比如 UART、SDI、I2C等,從而設計出不同的 SoC 芯片。
基于 ARM 的處理器具有高速度、低功耗、價格低等優點被廣泛應用于以下領域:
為通信、消費電子、成像設備等產品,提供可運行復雜操作系統的開放應用平臺;
在海量存儲、汽車電子、工業控制和網絡應用等領域,提供實時嵌入式應用;
安全系統,比如信用卡、SIM 卡等。
ARM 架構支持32位的ARM指令集和16位的Thumb指令集(大大減小了代碼的存儲空間)。
處理器系列產品:
ARM Cortex-A系列:頂級主控,手機平板AP應用處理器
ARM Cortex-R系列:實時高性能處理器,硬盤控制器,車載控制產品
ARM Cortex-M系列:通用低端,工業,消費電子領域微控制器
Cortex - M3內核定義:單片機的中央處理單元CPU。
Cortex-M3是ARM公司設計的ARMv7架構下Cortex系列的首秀,其目的是為了讓32位處理器加入單片機市場,Cortex-M3的特點有:性能強勁、功耗低、實時性好、代碼密度得到很大改善、使用更加方便、低成本的整體解決方案、開發工具眾多:keil、Cube…
二者的關系:
如圖1-1是基于Cortex-M3內核的MCU,Cortex-M3相當于一個小CPU(中央處理器)。MCU就是我們看到的芯片,不同芯片生產廠家在得到Cortex-M3內核的使用授權之后,就可以將Cortex-M3內核用在自己的硅片設計中,然后每個廠家加入不同容量或者不同類型的存儲器和一些其他的外設就變成了不同型號的MCU。
圖1-1
ARM處理器一直支持兩種形式上相對獨立的指令集,它們分別是:
32位的ARM指令集對應處理器狀態: ARM狀態
16位的Thumb指令集對應處理器狀態:Thumb狀態
Cortex-M3是一個32位處理器內核。內部的數據路徑是32位的,寄存器是32位的,存儲器接口也是32位的。CM3采用了哈佛結構,擁有獨立的指令總線和數據總線,可以讓取指與數據訪問并行不悖。這樣一來數據訪問不再占用指令總線,從而提升了性能。
Cortex-M3處理器擁有R0-R15的寄存器組。其中R13作為堆棧指針SP。SP有兩個,但在同一時刻只能有一個可以看到,這也就是所謂的“banked”寄存器。
圖1-2
R0-R12都是32位通用寄存器,用于數據操作。大多數16位 Thumb指令只能訪問R0-R7。32位 Thumb-2 指令可以訪問所有寄存器。R13: 兩個堆棧指針,Cortex-M3擁有兩個堆棧指針,然而它們是 banked,因此任一時刻只能使用其中的一個。主堆棧指針(MSP):復位后缺省使用的堆棧指針,用于操作系統內核以及異常處理例程(包括中斷服務例程)。進程堆棧指針(PSP):由用戶的應用程序代碼使用。堆棧指針的最低兩位永遠是 0,這意味著堆棧總是4 字節對齊的。
R14:連接寄存器,當呼叫一個子程序時,由 R14 存儲返回地址。
R15:程序計數寄存器,指向當前的程序地址。
Cortex-M3 還在內核水平上搭載了若干特殊功能寄存器,包括:
程序狀態字寄存器組(PSRs)
中斷屏蔽寄存器組(PRIMASK, FAULTMASK, BASEPRI)
控制寄存器(CONTROL)
圖1-3
Cortex-M3 預先定義好了“粗線條的”存儲器映射。通過把片上外設的寄存器映射到外設區,就可以簡單地以訪問內存的方式來訪問這些外設的寄存器,從而控制外設的工作。結果,片上外設可以使用 C 語言來操作。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/121069.html
摘要:我首先百度簡單了解了架構和架構的區別,以我個人的理解是架構代表之前的復雜指令集,而架構代表著精簡指令集。而我這次的學習的重點并不是圍繞著指令集,而是基于架構的開發板的應用上。以上就是我本次學習架構的筆記和心路歷程。 作為新手第一次接觸RISC-V架構時。我首先百度簡單了解了ARM架構和RIS...
摘要:基于開發的軟件包導師汪禮超學員崔林威摘要騰訊物聯網操作系統是騰訊面向物聯網領域開發的實時操作系統,具有低功耗,低資源占用,模塊化,可裁剪等特性。圖中斷函數處理進行生成工程配置,按如下界面進行配置,最后點擊,并點擊。 ...
摘要:嚴格地說,應該是模仿實驗。為什么覺得無從下手,看資料沒有頭緒經驗總結看資料需要計劃耐心和速度這里所謂的資料包括書籍文檔。建議有報銷條件的同學自己設計一塊板子學習。無法報銷的同學,可以選購一款開發板學習。 STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARMCortex...
摘要:一交叉編譯概念什么是交叉編譯交叉編譯是在一個平臺上生成另一個平臺上的可執行代碼。也要樹莓派有時又是因為目的平臺還沒有建立,連操作系統都沒有,根本談不上運行什么編譯器。 ...
摘要:實踐證明,加上穩定可靠的外圍電路和抗干擾電源,以為核心的產品能成功應用于苛刻的工業環境,使開源硬件和開發平臺得到更廣泛的應用,產品多樣性遠遠高于官方開發板,是學習的首選。 說到MicroPython,也許有人會感到陌生。而說到和它密切相關的Python,是否會恍然大悟呢?Python屬于解釋型語言,1989年才開發完成的Python顯然非常年輕。然而經過數十年的磨礪,如今Python已...
閱讀 1579·2021-10-18 13:35
閱讀 2359·2021-10-09 09:44
閱讀 813·2021-10-08 10:05
閱讀 2707·2021-09-26 09:47
閱讀 3560·2021-09-22 15:22
閱讀 427·2019-08-29 12:24
閱讀 1992·2019-08-29 11:06
閱讀 2852·2019-08-26 12:23