999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式Nucleus 系統中驅動接口的實現

2012-07-20 09:40:10劉洲洲
微處理機 2012年2期
關鍵詞:嵌入式功能系統

劉洲洲,李 賀

(1.西安航空技術高等專科學校電氣工程系,西安 710077;2.中國電子科技集團公司第四十七研究所,沈陽 110032)

1 引言

隨著嵌入式系統的飛速發展,嵌入式實時操作系統廣泛地應用在制造工業、過程控制、通訊、儀器儀表、汽車、船舶、航空航天、軍事、裝備、消費類產品等方面。今天嵌入式系統帶來的工業年產值超過了1 萬億美元。當前嵌入式操作系統有數百種,比較流行的有Nucleus Plus,QNX,Lynx OS,Psos,VRTX,VXWorks,Windows CE 等。它們各有特色,用戶可以根據自身的軟硬件環境要求,選擇合適的操作系統。Nucleus 已經成為嵌入式應用的潮流和方向,剖析Nucleus 中多進程控制的實現方法具有重要的意義[1]。

2 關于Nucleus

嵌入式實時操作系統Nucleus是美國著名RTOS 廠商ATI(AcceleratedTechnologyInc)公司,為實時嵌入式應用而設計的一個搶先式多任務操作系統內核。只需一次性購買Licenses,就可以獲得操作系統的源碼。

Nucleus 對于各層協議都提供源碼,其95%的代碼是用ANSIC 寫成的,非常便于移植并支持當前流行的大多數RISC、CISC、DSP 處理器,比如:80x86(實時、保護模式)、68xxx、PowerPC、i960、MIPS、SH、ARM、ColdFire 等。Nucleus 系統對于不同的處理器,操作系統的源碼大部分是相同的,只有5%的源碼是用匯編寫的跟CPU 有關。如果使用另外的CPU,則只用修改5、6個匯編程序就可以進行移植。但是對于不同系列的處理器,它們的Compiler、Linker、Debugger是不同的,而且編譯預處理的過程也是不一樣的,這就要投入一部分力量去進行操作系統的移植[2]。

Nucleus 不用寫板支持軟件包(BSP),因為操作系統已經開放,不同的目標板在操作系統BOOT時可以通過修改源碼進行不同的配置,同時調試時也可以跟蹤到中斷、寄存器那一級,簡化了硬件調試。Nucleus PLUS是一組C 函數庫,應用程序代碼與核心函數連接在一起,生成一個目標代碼,下載到目標板的RAM 中或直接燒錄到目標板的ROM 中執行。在典型的目標環境中,Nucleus PLUS 核心代碼區一般不超過20K 字節大小,內核規模非常小。

3 系統驅動實現步驟

3.1 系統結構

Nucleus 系統結構如圖1 所示。

圖1 Nucleus 系統結構框圖

系統復位時,系統從驅動引導,開始對硬件的Register、端口、中斷、clock 及必要的外設進行初始化。

驅動初始化成功后,進入Nucleus 系統層,將整個控制權交給操作系統。

在操作系統層,開始也是進行一些操作系統的初始化工作,重載操作系統所需的中斷服務程序(ISR),啟動操作系統所需的時鐘,調用Application_Initialize()函數。Application_Initialize()函數是操作系統為Application 提供的接口,圖形系統、驅動、文件系統、GUI、啟動Desktop 任務等初始化工作都在這個函數中進行。最后進入OS的控制中心,進行任務調度管理。將控制權交給操作系統之前,驅動層不能調用任何操作系統層的函數。由于Nucleus 操作系統調用的模塊增多,會導致__main()函數中啟動SWI 中斷,從而導致系統異常。因此,在bios模塊中不能把retarget.c 文件連接到目標碼中,但是這樣做又會導致程序的全局變量初始化失敗,解決的方法是在BIOS 啟動后,不調用__main(),改調用

Init_SysData()。

3.2 通用接口API 實現方法

(1)啟動部分

中斷向量表位于系統空間的邏輯地址0x0 處,具有如下結構:

(2)BIOS 層應該提供如上所述的中斷向量表、系統啟動代碼、中斷服務程序,來保證系統的基本運行。處理器復位后即進入系統啟動入口(0x0),執行BIOS 所提供的啟動程序。在這里BIOS 應該初始化或重新設置MCU/DSP的狀態或參數;另外,BIOS 應該提供可供OS 重載的中斷服務程序功能。BIOS 啟動完畢即進入NUCLEUS 操作系統的啟動部分(OsStartup()),將控制權交給OS,OS 會通過BIOS提供的中斷服務重載功能將中斷入口切換到自己的中斷服務程序中。同時BIOS 還需要告訴OS系統RAM 空間的offset 和size,OS 將據此進行資源分配等,BIOS 應該為OS 分配一個專用的定時器Timer,供Nucleus OS 使用;同時返回此定時器的中斷向量號。

(3)中斷部分:如上所述,驅動應該提供可供操作系統重載的中斷服務功能。驅動向操作系統提供接口:Extern void ReloadIntEntry(void*handler);功能:載入Nucleus OS的中斷服務跳轉表。操作成功后,硬件的所有中斷都進入Nucleus OS 中斷管理中心,然后,由Nucleus OS 中斷管理中心調度該中斷的低級中斷服務子程序LISR。

(4)LISR(低級中斷服務程序)和HISR(高級中斷服務程序)部分:Nucleus的中斷服務是一種管理式的服務,分為LISR 和HISR。每一種中斷都需要向操作系統注冊該中斷向量,中斷產生后通過該中斷向量注冊的低級中斷服務程序(LISR)來激活高級的中斷服務程序(HISR)。LISR 主要完成硬件中斷的處理及激活HISR。HISR的調度類似于任務,具有優先級,可以使用大多數Nucleus的系統調用。OS 封裝了中斷過程中的現場保護、恢復和調度等,向BIOS 層提供如下接口:STATUS OS_Register_LISR(U8 vector,void (*new_lisr)(INT));功能:向Nucleus OS 注冊一個低級中斷服務程序(LISR)。用戶每打開一個新的硬件中斷,都必須先調用此功能函數向Nucleus OS 注冊,否則,將出錯。

(5)操作系統定時器:驅動應該為操作系統分配一個專用的定時器Timer,供Nucleus OS 使用;同時返回此定時器的中斷向量號。驅動向操作系統提供的接口:Extern U32 OpenOsTimer(U16 ms);功能:打開操作系統專用的定時器。Extern void ClearOsTimerPnd(void);功能:進入Timer 中斷后,清除Timer 中斷的狀態位,使Timer 中斷復位。

(6)UART 驅動:UART 應該向OS 提供UART設備的初始化、參數的設置等功能。OS 內置了I/O設備的統一管理模塊,包含兩個I/O 緩沖,通信事件處理等等。操作系統為每個UART 設備分配一個設備號,對應如下:

通信設備驅動管理為UART 提供下列接口:

Extern BOOLEAN commdev_read(U8_T dev_id,U8_T code);功能:設備接收到一個字符后,交給OS的通信設備驅動管理;

Extern BOOLEAN commdev_write(U8_T dev_id,U8_T *pCode);功能:設備發送一個字符前,從OS的隊列管理模塊中取出下一個要發送的字節;

(7)驅動的初始化Nucleus OS 啟動后,會回調一個 驅動提供的初始化所有Driver的函數,該函數接口如下所示:void DriverInit(void);驅動中的所有初始化工作都必須在此回調函數中完成,否則系統異常。

4 結束語

Nucleus是一種實時、多任務的嵌入式操作系統。它可以管理各種系統資源,調度任務的運行。Nucleus 使嵌入式多任務開發省時、省力,并且提高效率。它已成為嵌入式應用的潮流和方向。深入剖析Nucleus 驅動通信接口的實現機理,對于嵌入式實時操作系統的開發具有重要意義。

[1]Nucleus Plus Reference Manual[M].Unites States:AcceleratedTechnology,Inc.,2000.

[2]魏振華.嵌入式實時操作系統Nucleus 中線程控制部件的實現[J].計算機應用與研究,2003,16(4);97-99.

猜你喜歡
嵌入式功能系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 国产精品久久自在自线观看| 久久精品视频亚洲| 欧美成人精品一级在线观看| 亚洲视频四区| a级毛片在线免费| 欧美亚洲欧美区| 九九久久精品国产av片囯产区| 中文字幕亚洲专区第19页| 欧美日韩激情在线| 青青久久91| 久久人搡人人玩人妻精品一| 国产v精品成人免费视频71pao| 欧美伦理一区| 色婷婷丁香| 国产成+人+综合+亚洲欧美| 国产日本欧美亚洲精品视| 色综合综合网| a级毛片免费看| 欧美日韩一区二区三| 日韩第一页在线| 久久亚洲天堂| 国产欧美日韩一区二区视频在线| 欧美精品在线看| 天天综合色天天综合网| 午夜视频免费试看| 国产欧美精品午夜在线播放| 中国丰满人妻无码束缚啪啪| 日本午夜三级| 免费AV在线播放观看18禁强制| 亚洲天堂区| 国产精品无码AⅤ在线观看播放| 欧美亚洲另类在线观看| 欧美另类精品一区二区三区| 亚洲成A人V欧美综合| 制服丝袜在线视频香蕉| 暴力调教一区二区三区| 在线日韩日本国产亚洲| 黄色国产在线| 亚洲精品无码高潮喷水A| 国产美女91视频| 亚洲欧美色中文字幕| 一区二区影院| 日韩欧美视频第一区在线观看 | 亚洲第一极品精品无码| 91精品国产自产91精品资源| 欧美人与动牲交a欧美精品| 天天综合网在线| 欧美人与动牲交a欧美精品| 一级毛片在线免费视频| 国产精品99久久久| 一级片免费网站| 国产成人永久免费视频| 亚洲第一精品福利| 人人澡人人爽欧美一区| 国产爽妇精品| 毛片网站免费在线观看| 亚洲欧美日韩中文字幕在线| 久久激情影院| 一本大道东京热无码av| 免费播放毛片| 成人av专区精品无码国产| www亚洲天堂| 波多野结衣AV无码久久一区| 亚洲日产2021三区在线| 国产成人精品男人的天堂下载| 18禁色诱爆乳网站| 国产精品白浆在线播放| 久久精品aⅴ无码中文字幕| 亚洲精品手机在线| www中文字幕在线观看| 日韩 欧美 国产 精品 综合| 老色鬼欧美精品| 国产福利免费在线观看| 国产小视频在线高清播放| 在线看国产精品| 欧美日韩中文国产| 久久久久国产一级毛片高清板| 最新日韩AV网址在线观看| 久久情精品国产品免费| 久久a毛片| 干中文字幕| 在线欧美国产|