我們是怎樣搭建嵌入式微系統(tǒng)的設(shè)備的
ARM公司推薦嵌入式系統(tǒng)開發(fā)遵循CMSIS架構(gòu),用戶應(yīng)用程序可以調(diào)用實(shí)時(shí)內(nèi)核(OS)、中間件等,也可以直接調(diào)用底層硬件基于CMSIS標(biāo)準(zhǔn)的函數(shù)接口,比如ST公司發(fā)布的STM32的硬件驅(qū)動(dòng)LIB庫,甚至直接訪問最底層的寄存器。這種架構(gòu)編程比較靈活,對(duì)于規(guī)模不大的嵌入式系統(tǒng)比較適合,但這樣的一個(gè)架構(gòu)分層還比較模糊,應(yīng)用層幾乎可以訪問所有的系統(tǒng)層資源,比較任意。各種底層接口沒有封裝,規(guī)模一大很容易引起重名、相互調(diào)用,若更換處理器芯片,整個(gè)系統(tǒng)層都要重新設(shè)計(jì),不便于移植。為了解決這些問題,需要引入新的概念:設(shè)備,基于設(shè)備把底層的硬件驅(qū)動(dòng)函數(shù)按功能封裝起來,這樣可以把系統(tǒng)層內(nèi)部理清、分層次、模塊化、可移植。
設(shè)備這個(gè)詞,我們是經(jīng)常接觸的,我們知道PC機(jī)的組成,就是由中央處理器、內(nèi)存、硬盤、主板、電源、顯示器等幾樣組成,這是物理上講的,若從Windows操作系統(tǒng)角度看,我們可以看Windows的設(shè)備管理器。一臺(tái)PC機(jī)在WindowsXP的眼中由DVD驅(qū)動(dòng)器、IDE控制器、處理器、磁盤驅(qū)動(dòng)器、電池等等組成,每一個(gè)設(shè)備里面又細(xì)分為很多小設(shè)備。所以設(shè)備是WindowsXP管理的基本對(duì)象。
在VS.Net架構(gòu)的C#編程角度看,系統(tǒng)層System由各種功能子類組成,子類下面又分子類。應(yīng)用層開發(fā)程序,就是面向System各種類開發(fā)即可,所以類是C#編程的基礎(chǔ)單元。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。