Ⅰ 常見嵌入式系統有哪些
一個嵌入式系統裝置一般都由嵌入式計算機系統和執行裝置組成,嵌入式計算機系統是整個嵌入式系統的核心,由硬體層、中間層、系統軟體層和應用軟體層組成。執行裝置也稱為被控對象,它可以接受嵌入式計算機系統發出的控制命令,執行所規定的操作或任務。執行裝置可以很簡單,如手機上的一個微小型的電機,當手機處於震動接收狀態時打開;也可以很復雜,如SONY智能機器狗,上面集成了多個微小型控制電機和多種感測器,從而可以執行各種復雜的動作和感受各種狀態信息。
硬體層
硬體層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設備介面和I/O介面(A/D、D/A、I/O等)。在一片嵌入式處理器基礎上添加電源電路、時鍾電路和存儲器電路,就構成了一個嵌入式核心控制模塊。其中操作系統和應用程序都可以固化在ROM中。
(1)嵌入式微處理器
嵌入式系統硬體層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在於嵌入式微處理器大多工作在為特定用戶群所專用設計的系統中,它將通用CPU許多由板卡完成的任務集成在晶元內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器的體系結構可以採用馮·諾依曼體系或哈佛體系結構;指令系統可以選用精簡指令系統(RecedInstructionSet Computer,RISC)和復雜指令系統CISC(Complex Instruction Set Computer,CISC)。RISC計算機在通道中只包含最有用的指令,確保數據通道快速執行每一條指令,從而提高了執行效率並使CPU硬體結構設計變得更為簡單。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鍾頻率和數據匯流排寬度,或集成了不同的外設和介面。據不完全統計,全世界嵌入式微處理器已經超過1000多種,體系結構有30多個系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導市場,僅以32位的產品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據具體的應用而決定的。
(2)存儲器
嵌入式系統需要存儲器來存放和執行代碼。嵌入式系統的存儲器包含Cache、主存和輔助存儲器。
1、Cache
Cache是一種容量小、速度快的存儲器陣列它位於主存和嵌入式微處理器內核之間,存放的是一段時間微處理器使用最多的程序代碼和數據。在需要進行數據讀取操作時,微處理器盡可能的從Cache中讀取數據,而不是從主存中讀取,這樣就大大改善了系統的性能,提高了微處理器和主存之間的數據傳輸速率。Cache的主要目標就是:減小存儲器(如主存和輔助存儲器)給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。
在嵌入式系統中Cache全部集成在嵌入式微處理器內,可分為數據Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache集成進去。
2、主存
主存是嵌入式微處理器能直接訪問的寄存器,用來存放系統和用戶的程序及數據。它可以位於微處理器的內部或外部,其容量為256KB~1GB,根據具體的應用而定,一般片內存儲器容量小,速度快,片外存儲器容量大。
Ⅱ 如何移植redboot支持nand flash
Redboot被設計用於嵌入式調試和啟動環境,它是一個基於eCos的應用程序,使用eCos的硬體抽象層(HAL)作為它的基礎。它一個基本的功能是作為bootloader,但可用於任何嵌入式系統或任何嵌入式實時操作系統中。也可用於產品開發周期中的調試支持或在發布的產品中提供flash或網路啟動。特性有:
啟動腳本支持;
管理和控制的命令行支持;
通過串口或乙太網口的訪問;
GDB支持;
flash映像系統支持;
X/Y數據機的支持;
支持使用BOOTP或靜態IP地址配置的網路啟動;
移植redboot到stm32開發板
1.,搭建好ecos開發環境
2,打開ecos圖形配置工具configtool,如下圖所示。
下圖中,左邊窗口為ecos的配置項窗口,右邊窗口從上到下分別為:沖突提示窗口、配置項屬性窗口、配置項說明窗口。
Ⅲ 硬實時操作系統和軟實時操作系統有什麼不同
實時操作系統
英文稱Real
Time
Operating
System,簡稱RTOS。
1、實時操作系統定義
什麼東西一旦弄上實時兩個字就是對響應時間有嚴格的要求。實時操作系統貴在實時,要求在規定的時間內完成某種操作。主要用在工業控制中,實時操作系統中一般任務數是固定的,有硬實時和軟實時之分,硬實時要求在規定的時間內必須完成操作,這是在操作系統設計時保證的;軟實時則沒有那麼嚴,只要按照任務的優先順序,盡可能快地完成操作即可。我們通常使用的操作系統在經過一定改變之後就可以變成實時操作系統。
實時操作系統是保證在一定時間限制內完成特定功能的操作系統。例如,可以為確保生產線上的機器人能獲取某個物體而設計一個操作系統。在「硬」實時操作系統中,如果不能在允許時間內完成使物體可達的計算,操作系統將因錯誤結束。在「軟」實時操作系統中,生產線仍然能繼續工作,但產品的輸出會因產品不能在允許時間內到達而減慢,這使機器人有短暫的不生產現象。一些實時操作系統是為特定的應用設計的,另一些是通用的。一些通用目的的操作系統稱自己為實時操作系統。但某種程度上,大部分通用目的的操作系統,如微軟的Windows
NT或IBM的OS/390有實時系統的特徵。這就是說,即使一個操作系統不是嚴格的實時系統,它們也能解決一部分實時應用問題。
2、實時操作系統的特徵
通常,實時操作系統必須有以下特徵:
1)多任務;
2)有線程優先順序
3)多種中斷級別
小的嵌入式操作系統經常需要實時操作系統。內核要滿足實時操作系統的要求。但其它部件,如設備驅動程序也是需要的,因此,一個實時操作系統常比內核大。
3、實時操作系統的分類
軟實時系統和硬實時系統。
實時系統對邏輯和時序的要求非常嚴格,如果邏輯和時序出現偏差將會引起嚴重後果。實時系統有兩種類型:軟實時系統和硬實時系統。
軟實時系統僅要求事件響應是實時的,並不要求限定某一任務必須在多長時間內完成;而在硬實時系統中,不僅要求任務響應要實時,而且要求在規定的時間內完成事件的處理。通常,大多數實時系統是兩者的結合。
事實上,沒有一個絕對的數字可以說明什麼是硬實時,什麼是軟實時。它們之間的界限是十分模糊的。這與選擇什麼樣的CPU,它的主頻、內存等參數有一定的關系[1]。另外,因為應用的場合對系統實時性能要求的不同而有不同的定義。因此,在現有的固定的軟、硬體平台上,如何測試並找出決定系統實時性能的關鍵參數,並給出優化的措施和試驗數據,就成為一個具有普遍意義並且值得深入探討的課題。本文就是基於此目的進行討論的。
因為採用實時操作系統的意義就在於能夠及時處理各種突發的事件,即處理各種中斷,因而衡量嵌入式實時操作系統的最主要、最具有代表性的性能指標參數無疑應該是中斷響應時間了。中斷響應時間通常被定義為:
中斷響應時間=中斷延遲時間+保存CPU狀態的時間+該內核的ISR進入函數的執行時間[2]。
中斷延遲時間=MAX(關中斷的最長時間,最長指令時間)
+
開始執行ISR的第一條指令的時間[2]。