如何了解一個基于ARM核心的微處理器
可以從兩方面來了解基于ARM核心的微處理器,一方面是由ARM公司設計的ARM核心,另一方面是由晶片設計廠家在ARM核心上整合的各種外圍裝置和外圍接口控制器。下面我們分别做詳細的介紹:
ARM核心:
1.它是由ARM公司設計。
2.是微處理器中的核心部分,相當于人的大腦,控制着整個系統的運作。
3.主要功能是實作程式的自動化執行,包括從哪個位址取指令,進行指令譯碼,指令執行,從哪個位址取待操作的資料,進行資料的數學運算或邏輯運算,将資料結果存儲到哪個位址。
4.某些ARM核心還進行CACHE和MMU的管理。
5.唯一可以配置ARM核心的途徑是CP15協處理器接口(JTAG調試口除外)。
6.在ARM核心的眼裡,它看不到所有的外圍裝置,包括GPIO,UART,ADC,NAND FLASH,LCDC等許多的裝置,在它眼裡,資料和位址就是整個世界。是以别期待ARM核心知道目前在作業系統的哪個外圍裝置。
7.由ARM核心提供給外部的接口我們也可以知道核心在晶片中起的作用。
下面是ARM926核心結構框圖:

外圍裝置和接口控制器:
外圍裝置和外圍接口控制器是晶片設計廠家在ARM核心上內建的,它由晶片廠家根據自己晶片所面對的市場來內建需要的外圍裝置和接口,比如GPIO,UART,IIC,SPI,ADC.LCDC.SENSOR,NAND FLASH,DDR,H.263/H.264等等等等。
晶片設計廠家如何配置設定群組織ARM核心提供的這4G的位址空間,完全取決于晶片廠家的習慣和友善,更何況加入了MMU後,将哪段位址配置設定給哪個外圍裝置或外圍接口,就更加變得無關緊要了。
外圍裝置和ARM核心連接配接的橋梁:
1. 寄存器,下面我們以GPIO來分析一下ARM核心是怎麼通過寄存器來控制GPIO的:
通常ARM核心通過如下幾個寄存器來控制GPIO:第一個是方向寄存器(方向配置),第二個是資料寄存器,第三個是上拉下拉電阻配置寄存器。ARM核心通過方向寄存器來控制GPIO管腳的輸入和輸出;通過資料寄存器來輸出高電平和低電平,或讀取GPIO管腳的高低電平狀态;通過上拉下拉配置寄存器來開啟上拉下拉電阻。
總結:寄存器一端連接配接ARM核心的總線(當然,有可能是間接連接配接),另一端連接配接外圍控制邏輯,是ARM核心和外圍的連接配接橋梁。采用寄存器控制外圍的方式除了GPIO,還有UART,IIC,SPI,ADC.LCDC.SENSOR,NAND FLASH,H.263/H.264等其它很多外圍控制器。
2. 總線接口 ,下面我們以NOR FLASH的通路來 分析一下ARM核心是怎麼通過總線接口來控制NOR FLASH的:
以freescale I.MX27和NOR FLASH 連接配接圖為例:
我們在看下I.MX27存儲空間的配置設定圖:
顯然,當ARM核心通路位址空間0xC0000000--0xCFFFFFFF時,NOR FLASH控制器就會自動産生通路NOR FLASH所需要的各種信号包括片選信号CS0或者CS1,位址信号A[25:0],資料信号D[15:0]等。