(一)硬件小程序
主控CPU:運算和控制核心。基帶芯片基本構架採用微處理器+數字信號處理器(DSP)的結構,微處理器是整顆芯片的控制中心,會運行一個實時嵌入式操做系統(如Nucleus PLUS),DSP子系統負責基帶處理。應用處理器則可能包括多顆微處理器,還有GPU。微處理器是ARM的不一樣系列的產品(也能夠是x86架構),能夠是64位或者32位。處理器內部經過「內部總線」將CPU全部單元相連,其位寬能夠是8-64位。架構
總線:計算機的總線按功能能夠劃分爲數據總線、地址總線和控制總線,分別用來傳輸數據、數據地址和控制信號。CPU內部部件由內部總線互聯,外部總線則是CPU、內存、輸入、輸出設備傳遞信息的公用通道,主機的各個部件經過總線相鏈接。外部設備經過相應的接口電路再與外部總線相鏈接,從而造成了硬件系統。外部總線經過總線接口單元BLU與CPU內部相連。函數
片上總線標準高級微控制器總線結構AMBA定義了高性能嵌入式微控制器的通訊標準。定義了三組總線:AHB(AMBA高性能總線)、ASB(AMBA系統總線)、和APB(AMBA外設總線)。AHB總線用於高性能、高時鐘工做頻率模塊。AHB爲高性能處理器、片上內存、片外內存提供接口,同時橋接慢速外設。DMA、DSP、主存等連在AHB上。ASB總線主要用於高性能系統模塊。ASB是可用於AHB不須要的高性能特性的芯片設計上可選的系統總線。APB總線用於爲慢速外設提供總線技術支持。APB是一種優化的,低功耗的,精簡接口總線,能夠支持多種不一樣慢速外設。因爲APB是ARM公司最先提出的總線接口,APB能夠橋接ARM體系下每一種系統總線。性能
外設I/O端口和擴展總線:GPIO通用端口、UART串口、I2C、SPI 、SDIO、USB等,CPU和外擴的芯片、設備以及兩顆CPU之間(如基帶處理器和應用處理器之間)進行通訊的接口。通常來講,芯片都會支持多種接口,並設計通用的軟件驅動平臺驅動。優化
存儲部件和存儲管理設備:Rom、Ram、Flash及控制器。處理器系統中可能包含多種類型的存儲部件,如Flash、SRAM、SDRAM、ROM以及用於提升系統性能的Cache等等,不一樣的芯片會採用不一樣的存儲控制組合。參見博文」arm架構的芯片memory及智能機存儲部件簡述「操作系統
外設: 電源和功耗管理、復位電路和watchdog定時復位電路(前者是系統上電運行、後者是Reset或者超時出錯運行)、時鐘和計數器、中斷控制器、DMA、 輸入/輸出(如鍵盤、顯示器等)、攝像頭等。設計
一顆ARM9架構芯片主控器及外圍硬件設備組成以下圖所示:接口
(二)軟件芯片上的軟件主要包括Boot代碼、操做系統、應用程序以及硬件的firmware。 進程
Boot程序引導設備的啓動,是設備加電後在操做系統內核運行以前運行的一段小程序。經過這段小程序,咱們能夠初始化硬件設備、創建內存空間的映射圖,從而將系統的軟硬件環境帶到一個合適的狀態,以便爲最終調用操做系統內核準備好正確的環境。內存
操做系統(英語:Operating System,簡稱OS)是管理和控制計算機硬件與軟件資源的計算機程序,其五大管理功能是:
1處理器管理,主要包括進程的控制、同步、通訊和調度。2存儲器管理,主要包括內存的分配、保護和擴充,地址映射。3設備管理,主要包括設備的分配、處理等。4文件管理,主要包括文件的存儲空間管理,目錄管理,文件的讀寫和保護。5做業管理,主要包括任務、界面管理,人機交互,語音控制和虛擬現實等。
應用處理器上的操做系統有Android、IOS等,沒必要多說;基帶處理器上則會運行一個RTOS(如Nucleus PLUS)管理整個基帶系統上的任務和部件間的通訊。
應用程序是爲了完成某項或某幾項特定任務而被開發運行於操做系統之上的程序。應用處理器上,結合操做系統API和庫函數,用戶能夠開發各色應用程序;基帶處理器上則通常只有少許必要的軟件支持。
硬件firmware則是簡化軟件與硬件的交互,讓硬件操縱起來更容易。