1-玩轉STM32之啥是嵌入式(1-玩轉STM32之啥是嵌入式)
2023-10-16 07:17:59 1
1.1 嵌入式系統定義IEEE(美國電氣和電子工程師協會)對嵌入式系統的定義:用於控制、監視或者輔助操作機器和設備的裝置。國內普遍定義:以應用為中心,以計算機技術為基礎,軟體和硬體可剪切,適用於應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。
1.2 嵌入式系統的特點嵌入式主要特點有:專用性、體積小、功耗低、成本低、穩定性高、實用性、技術密集、生命周期長、不可壟斷性等。
1.3 應用領域1 新能源 2 智能硬體3 汽車電子4 工業控制 5 網際網路/物聯網6 儀器儀表/工業自動化7 通信/電信/網絡設備等。
嵌入式系統的硬體層一般由嵌入式處理器、內存、人機接口、復位/看門狗電路、I/O接口電路組成,它是整個系統運行的基礎,通過人機接口和I/O接口實現和外部的通信。
嵌入式系統的硬體架構以嵌入式處理器為核心,由存儲器、外圍設備、通信模塊、電源及復位等必要的輔助接口組成。
嵌入式系統軟體結構一般有3個層面:設備驅動層、OS層、應用層(包括永健抽象層、應用程式)。由於嵌入式系統的多樣性,需要根據不同的硬體電路和嵌入式系統應用的特點,對軟體部分進行裁剪。
一般由:板級支持包、驅動程序組成。作用:為上層程序提供外圍設備的操作接口,並實現設備的驅動程序。1)板級支持包(board support package)介於主板硬體和嵌入式系統作業系統中驅動程序之間的一層。BSP為上層的驅動程序提供了訪問硬體的寄存器函數包。BSP可分為以下三大功能:(1) 系統上電時的硬體初始化。比如:對系統內存、寄存器及設備的中斷進行設置。(2) 為嵌入式系統訪問硬體驅動程序提供支持。(3) 集成硬體相關的和硬體無關的嵌入式作業系統所需的模塊。2)驅動程序只有安裝了驅動程序,嵌入式作業系統才能操作硬體平臺,驅動程序控制嵌入式作業系統和硬體之間的交互。驅動程序提供一組嵌入式作業系統可理解的抽象接口函數。
2. OS層嵌入式作業系統是一種支持嵌入式系統應用的作業系統軟體,是嵌入式系統的重要組成部分。嵌入式作業系統通常包括與硬體相關的底層驅動軟體、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等。嵌入式作業系統具有通用作業系統的基本特點。在一般情況下,嵌入式開發作業系統可以分為兩類,一類是面向控制、通信等領域的嵌入式實時作業系統(RTOS),如VxWorks、PSOS、QNX、mCOS-Ⅲ、RT-Thread、FreeRTOS等;另一類是面向消費電子產品的嵌入式非實時作業系統,如Linux、Android、iOS等,這類產品包括智慧型手機、機頂盒、電子書等
3. 應用層1)硬體抽象層硬體抽象層本質上就是一組對硬體進行操作的API接口,是對硬體功能抽象的結果。硬體抽象層通過API為嵌入式作業系統和應用程式提供服務。但是,在Windows和Linux作業系統下,硬體抽象層的定義是不同的
2)應用程式應用程式是為完成某項或某幾項特定任務而被開發運行於作業系統之上的程序,例如文件操作、圖形操作等。在作業系統上編寫應用程式一般需要一些應用程式接口。應用程式接口(Application ProgRAMming Interface,API)又稱為應用編程接口,是軟體系統不同組成部分銜接的約定。
1.5 存儲系統1.5.1 嵌入式處理器分類1、ARM內核微處理器主流。在移動應用市場佔了絕大部分的市場份額。包括ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore、 ARM11、 Cortex-A系列等。ARM是一個只賣智慧財產權(IP)的公司,目前獲得購買了ARM 核授權許可的大公司很多,包括華為、Qualcomm、Apple、Samsung、ST、NXP、TI等,他們都在ARM 核的基礎上進行了設計,形成自己的處理器。2、嵌入式微控制器MCU單片機晶片內部集成ROM/EPROM、RAM、總線邏輯、定時/計數器、看門狗、I/O、串行口、脈寬調製輸出、A/D、D/A、Flash、EEPROM等各種必要功能和外設。嵌入式微控制器目前的品種和數量最多,比較有代表性通用系列包括8051、AVR、PIC、ARM Cortex-M 等。3、數位訊號處理器DSPDSP處理器主要專門用於信號處理方面,其在系統結構方面進行了特殊設計,在數字濾波、FFT、頻譜分析等密集數學運算領域有大規模的應用。DSP一般用在算法快速執行,做控制比較困難。為了追求高執行效率,不適合運行作業系統,核心代碼使用彙編。嵌入式DSP 處理器比較有代表性的產品是Texas Instrument的 TMS320 系列和Analog的ADSP系列。4、嵌入式SoC用可編程邏輯技術把整個系統放到一塊矽片上,稱作SOPC。可編程片上系統(SOPC)是一種特殊的嵌入式系統。單個晶片完成整個系統的主要邏輯功能。基於FPGA實現的SoPC技術 ,是現在嵌入式系統設計發展趨勢之一。1、Altera公司的FPGA ,交叉使用ARM、MIPS以及Nios等多種內核。2、Xilinx公司的FPGA,植入PowerPC結構處理器。
1.5.2 存儲系統存儲器的主要功能是存儲程序和各種數據,並能在計算機運行過程中高速、自動地完成程序或數據的存取,嵌入式系統的運作是圍繞著存儲在存儲器中的指令和數據進行的,存儲系統在嵌入式系統中的作用非常重要,存儲系統需要根據應用和設計需求選擇合適的存儲器。
隨機存取存儲器(RAM,易失性存儲器)隨機存取是指隨機存取存儲器(Random Access Memory,RAM)存儲單元的內容可按需隨意取出或存入,讀寫速度很快,且速度與存儲單元的位置無關。RAM在斷電時將丟失其存儲內容,RAM主要用於存儲短時間使用的程序(1)靜態隨機存儲器(Static Random Access Memory,SRAM)(2)動態隨機存取存儲器(Dynamic Random Access Memory,DRAM)(3)同步動態隨機存儲器(Synchronous Dynamic Random Access Memory,SDRAM)2. 只讀存儲器(ROM,非易失性存儲器)存儲在只讀存儲器(Read-OnlyMemory,ROM)中的數據可以在掉電後不丟失,ROM主要用於存儲程序和一些數據(常量、係數等),存儲在其中的數據只能讀不能改,需要使用特定的方法擦除和燒錄數據。(1)只讀存儲器(Read-OnlyMemory,ROM)。 ROM內部的資料是在ROM的製造工序中,用特殊的方法燒錄進去的,一般不能擦除或修改(2)電可擦除可編程ROM(Electrically Erasable Programmable ROM,EEPROM)。 一般通過特定的指令來擦除和修改其存儲內容,一般以頁的形式進行擦除,不必將資料全部擦除。3. 快閃記憶體存儲器(Flash存儲器,非易失性存儲器)快閃記憶體存儲器又稱Flash存儲器,是電可擦除的ROM,在使用上與EEPROM類似。但是二者的尋址方法不同,存儲單元的結構也不同,Flash存儲器的電路結構較簡單,同樣容量佔晶片面積較小,成本比EEPROM低。Flash存儲器分為NOR Flash存儲器和NAND Flash存儲器。(1) NOR Flash存儲器。 有自己的地址線和數據線,可以採用類似於Memory的隨機訪問方式,但是擦除仍要按塊來進行,不能進行先行寫操作。NOR Flash存儲器可以在晶片內執行,所以NOR Flash存儲器可以直接用作執行程序存儲器。(2) NAND Flash存儲器。數據、地址、控制線都是共用的,不能線性訪問數據,需要軟體區控制讀取時序,按頁讀取,按塊擦除,不適合晶片內執行。但是,存儲密度較高,因此主要用於海量數據存儲(4) eMMC(Embedded Multi Media Card)存儲器。採用統一的MMC標準接口,把高密度NAND Flash 存儲器及MMC控制器封裝在一片BGA晶片中,eMMC存儲器具有快速、可升級的特點,主要作固態硬碟使用。1.5.3 I/O接口嵌入式系統中的1/O接口是指用於將各種集成電路與其他外圍設備交互連接的通信通路或總線,負責處理器和外圍設備之間的信息交換。目前嵌入式系統中常用的通用設備接口有GPIO接口(通用可編程接口)、UART接口(通用串行通信接口)、Ethernet接口(乙太網接口)、USB接口(通用串行總線接口)、I2C接口(現場總線接口)、I2S接口、SPI接口(串行外圍設備接口)、CAN總線接口、Bluetooth接口(藍牙接口)、Camera Link接口、SD卡接口等。
嵌入式作業系統特點完成某一項或有限項功能。在性能和實時性方面有嚴格的限制。成本和可靠性通常是影響設計的重要因素。佔有資源少、易於連接。系統功能可針對需求進行裁剪、調整,以便滿足最終產品的設計要求。
,