亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nucleus操作系統-實時內核介紹.txt

?? MTK開發入門資料
?? TXT
字號:

Nucleus操作系統-實時內核介紹
第二章 Nucleus PLUS內核介紹 

   2.1 Nucleus PLUS應用開發綜述 
   2.1.1 開發調試環境 

   嵌入式實時應用程序的開發基于宿主機系統。IBM PC 和UNIX 工作站都是典型的宿主機系統。一般來說,應用程序都是運行在分離的計算機系統上被目標系統調用。然而,IBM PC系統并 不遵循上述規則,因為它既可以作為Nucleus PLUS 應用程序的主機,也可為目標機為其服務。運行在IBM PC系統 上的應用程序以EXE 文件的形式存在。 

   針對目標系統的調試軟件通常包括ICE 仿真工具和TRM(目標仿真)工具。ICE仿真工具給工程師提供了完全控制和了解目標系統硬件狀況的工具,特別是在校驗新硬件時尤為有用。但是,考慮到開發工具成本問題和ICE時有的使用局限性,許多項目采用TRM調試。TRM 就是一個運行在目標系統(通常為ROM)上的小型的軟件組件。TRM 提供包括下載、下斷點和內存入口服務。ICE 和TRM 都有宿主系統控制。這通常由串口來完成。 

   2.1.2使用Nucleus PLUS 

   Nucleus PLUS被設計成C庫的形式使用。使用內部應用程序軟件的服務從Nucleus PLUS 庫文件取出并且組合成應用程序目標文件來生成最終的映像文件。此映像文件可以下載到目標系統或是存放到目標系統ROM 中。 

   使用Nucleus PLUS 的步驟被描述成下列通用的方式: 

   1) 如果有必要,修改低級系統初始化文件,INT.S。注:這些文件通常以匯編語言形式交貨并且它的的擴展是指定的開發工具。 

   2) 定義Application_Initialize 函數,Nucleus PLUS 啟動系統時它優先運行。注意NUCLEUS.H 文件必須包含以至于能被Nucleus PLUS 服務調用。 

   3) 定義應用程序任務。如果用到Nucleus PLUS 服務,文件NULCUES.H 必須被包含。 

   4) 編譯所有應用程序軟件,包括低級系統初始化文件INT.s。 

   5) 用Nucleus PLUS 庫和必要的開發工具庫連接INT.a 和所有應用程序目標文件。 


      6) 下載應用程序映像文件到目標系統并運行。 

   2.1.3 初始化 

   INT_Initialize 程序在Nucleus PLUS 內核中是最先運行的程序。對大多數的目標環境而言,硬件復位向量必須包含在 INT_Initialize 地址中。INT_Initialize 程序主要負責所有與目標硬件相關的初始化,通常包括設置不同種類處理器的控制寄存器、中斷向量表、全局C數據元素、Nucleus PLUS的一些變量以及系統的堆棧指針。當 INT_Initialize 程序執行完成后,控制權交給到Nucleus PLUS上一層初始化程序INC_Initialize,并且控制權不會再返回給 INT_Initialize 程序。 
INC_Initialize 調用每一個Nucleus PLUS 組件的初始化程序進行初始化操作,在所有Nucleus PLUS初始化完成之后,它還調用用戶提供的初始化程序Application_Initialize。 

   Application_Initialize 程序負責定義初始化應用環境,包括初始化應用任務、郵箱、隊列、管道、信號量、事件集、內存池和其他Nucleus PLUS 對象。在Application_Initialize 返回后,INC_Initialize程序開始初始化任務調度表。


   2.2 實現約定 

   Accelerated Technology(ATI)使用軟件組件方法學。組件具有簡單、清晰的優點,一個軟件組件往往只包括幾個C程序和匯編程序。并且,每一個軟件組件都有特定的目的和提供給其他組件的外部接口,使得可以通過外部接口來方便的使用組件。在組件方法中,除了很少的特例外,一般不允許在組件外訪問組件的全局數據結構。由于采用了組件方法學,Nucleus PLUS 具有代碼清晰、模塊化、可靠、可復用和易于維護的特點。 


      2.2.1 組件的組成 

   一個軟件組件通常包含頭文件、一個或多個C程序文件,有的還包括匯編程序文件。包含的文件的文件名滿足如下的約定: 
文件 含義 
XX_DEF.H 定義組件的常量和數據類型 
XX_ EXTR.H 定義組件的外部接口,以函數原型的形式定義 
XXD.C 定義組件的靜態和全局變量,除很少的特例外,一個組件的數據結構只能被本組件訪問 
XXI.C 定義組件的初始化函數 
XXF.C 提供被組件管理的對象的信息 
XXC.C 提供組件的核心函數 
XXS.C 提供組件核心函數的錯誤處理外殼函數 
XXS.C 組件的補充定義函數 
XXSE.C 提供組件補充定義函數的錯誤處理外殼函數 

   2.2.2 命名規則 

   1、 組件命名 
組件名字一般限于兩個字符。組件名字作為構造組件的每個文件名的首兩個字符。例如: 
動態內存管理組件(Dynamic Memory Management Component)名字:DM,構成DM 的文件: 
DM_DEFS.H 
DM_EXTR.H 
DMC.C 
DMCE.C 
DMI.C 
DMF.C 
DMD.C 
2、 宏定義名字 
宏名由下劃線、大寫字母和數字字符構成。最大支持長度為31 個字符。此外一個宏定義首3 個字符是CC_ ,其中“CC”與定義該宏的文件名的首2 個字符相同。例如:(對于EX_DEFS . H 文件) 
#define EX_MY_CONSTANT 10 
3、 結構體名字 
結構體名字由下劃線、大寫字母和數字字符構成。最大支持長度為31 個字符。此外,一個結構體名的首3 個字符是CC_ ,其中“CC”與定義該結構體的文件名的首2 個字符相同。例如:(對于 EX_DEFS.H) 
struct EX_MY_STRUCT 
{ 
int ex_member_a; 
int ex_member_b; 
int ex_member_c; 
}; 
4、typedef 名字 
typedef 定義新結構體名字由下劃線、大寫字母和數字字符構成。最大支持長度為31個字符。此外,一個由typedef 定義新結構體名字的首3 個字符是CC_ ,其中“CC”與定義由typedef 命名結構體的文件名的首2 個字符相同。例如:(對于EX_DEFS.H 文件) 
typedef struct EX_MY_STRUCT 
{ 
int ex_member_a; 
int ex_member_b; 
int ex_member_c; 
} EX_MY_TYPEDEF; 
5、 結構體成員名字 
結構體成員名字由下劃線、大寫字母和數字字符構成,最大支持長度為31 個字符。此外,一個結構體成員名字的首3 個字符是CC_ ,其中“cc”與包含該結構體定義的文件“cc_defs”的首2 個字符相同。例如:(對于EX_DEFS.H 文件) 
struct EX_MY_STRUCT 
{ 
int ex_member_a; 
int ex_member_b; 
int ex_member_c; 
}; 
6、 全局變量名字 
Nucleus PLUS 全局變量名由下劃線以及緊跟著每個下劃線的一個大寫字母、小寫字母、數字字符組成,最大支持長度為31 個字符。此外,一個全局變量名字的首3 個字符是CCC ,其中“CCC”與包含實際變量描述的文件“ccc.C”的首3 個字符相同。例如:(對于EXD.C 文件) 
int EXD_Global_Integer; 
7、 局部變量命名 
局部變量名由小寫字母、有可能是下劃線或數字字符組成,最大支持長度為31 個字符。局部變量名字沒有要求包含定義它們的文件的首3 個字符。例如:(對于EXD.C 文件) 
/* Assume the following declaration is inside a function. */ 
int I; 
8、 函數名字 
Nucleus函數名字由下劃線以及緊跟在下劃線的一個大寫字母、小寫字母、數字組成,最大支持長度為31個字符。此外,一個函數名的首3個字符與包含該函數定義的文件名相同。例如:(對于EXD.C文件) 
void EXD_My_Function(unsigned int i) 
{ 
} 


   2.3 軟件概述 

   2.3.1 基本用法 
Nucleus PLUS 通常是以C語言庫的形式實現的。實時Nucleus PLUS應用程序和Nucleus PLUS庫鏈接在一起生成的目標文件可以被下載到目標板或者固化到ROM中。 

   NUCLEUS.LIB是典型的Nucleus PLUS庫文件名。它由批處理文件PLUS.BAT運行產生,而且PLUS.BAT文件的內容依賴于所使用的開發工具。 

   1、 運行模式 

   在處理器結構中有管理模式和用戶模式之分。由于Nucleus PLUS應用任務需要直接地調用需要調用特權指令的系統服務程序,所以Nucleus PLUS應用任務通常是在管理模式下運行。這樣的實現方法減少了系統服務調用的開銷而且便于實現。 

   2、 應用初始化 

   用戶有責任提供自己的初始化程序Application_Initialize,該程序應創建任務、隊列和其他系統初始化時需要的系統對象。如果應用程序不在系統運行時動態創建和刪除系統對象,那么所有的系統對象都應該在Application_Initialize中被創建。用戶的Application_Initialize程序一旦返回,多任務立即開始執行。在一些目標環境中,底層的系統初始化文件INT.S、INT.ASM或INT.SRC文件可能需要修改。這些文件初始化系統的定時中斷、可用存儲空間以及處理器或目標板的其他實體。 

   3、 頭文件 

   所有的用戶代碼在調用Nucleus PLUS服務或數據類型時,都必須包含NUCLEUS.H文件。該文件包含數據類型定義、常量定義和所有Nucleus PLUS服務函數的原型。不同的Nucleus PLUS移植系統,該文件是不同的。 

   2.3.2 數據類型 

   Nucleus PLUS在NUCLEUS.H文件中定義了標準的數據類型。這些數據類型保證了Nucleus PLUS能以相同的風格在不同的目標環境中運行。 

   Nucleus PLUS定義的數據類型如下: 


數據類型 含義 
UNSIGNED 32位無符號整數,常被定義為無符號長整型(unsigned long)的C數據類型 
SIGNED 32位有符號整數,常被定義為有符號長整型(long)的C數據類型 
IPTION 容易操作的最小的數據類型,常被定義為無符號字符型(unsigned char)的C數據類型 
DATA_ELEMENT 和OPTION數據類型相同 
UNSIGNED CHAR 8位無符號字符 
CHAR 8位有符號字符 
STATUS 等價于目標C編譯器的有符號整數(int) 
INT 整數數據類型,具有word大小 
VOID 等價于目標C編譯器的void數據類型(void) 
UNSIGNED_PTR 指向UNSIGNED數據類型的指針 
BYTE_PTR 指向UNSIGNED_CHAR數據類型的指針 

   2.3.3 系統服務映射關系 

   1、 錯誤檢查 

   Nucleus PLUS的主包含文件NUCLEUS.H包含了和《Nucleus PLUS Reference Manual》里面定義的函數相匹配的函數的原型。然而,這些NU_*函數并不真是存在。對于絕大多數Nucleus PLUS函數,都有一個真正操作的函數,也有一個在調用真正執行操作函數前對用戶調用進行錯誤檢查的外殼函數。錯誤檢查條件定義宏NU_ERROR_CHECKING定義和不定義時的具體的系統服務映射關系請參見附錄(表格形式,Nucleus PLUS Internals文檔中的表格)。 

   2、 條件編譯 

   Nucleus PLUS源碼有一定的條件編譯選項。有一些是在應用程序編譯時用到,而絕大多數時在Nucleus PLUS系統庫編譯時可用。 

   Nucleus系統庫條件編譯標識往往是在一個編譯批處理文件中使用。這些條件編譯選項控制各種Nucleus PLUS系統庫特征。
   這些條件編譯選項如下: 

   條件編譯選項 含義 
NU_ENABLE_HISTORY 運行在特定文件中保存歷史記錄。注意:僅形如**C.C的文件受該選項影響 
NU_ENABLE_STACK_CHECK 運行在特定文件中的每個函數開始檢查堆棧。注意:僅形如**C.C的文件受該選項影響 
NU_ERROR_STRING 允許在一個致命系統錯誤發生時生成一個ASCII錯誤字符串。該標記適用ERD.C、ERI.C和ERC.C三個文件 
NU_NO_ERROR_CHECKIN 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产99久久久久| 天天影视色香欲综合网老头| 亚洲三级在线观看| 免费在线观看日韩欧美| 91在线精品一区二区| 欧美大胆一级视频| 一区二区三区四区在线| 国产精品99精品久久免费| 精品视频一区二区不卡| 国产精品麻豆99久久久久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 99国产一区二区三精品乱码| 久久精品综合网| 久久精品国产成人一区二区三区| 在线观看日韩毛片| 中文字幕一区二区三区精华液| 激情亚洲综合在线| 欧美一区二区精美| 日日噜噜夜夜狠狠视频欧美人| 奇米精品一区二区三区在线观看 | 国产欧美日产一区| 日韩电影在线一区| 欧美三级电影网| 亚洲精品国产a久久久久久| 国产成人综合精品三级| 欧美电影免费观看高清完整版在| 亚洲成人动漫精品| 在线观看日产精品| 亚洲免费观看在线视频| av电影天堂一区二区在线| 久久美女艺术照精彩视频福利播放| 日韩vs国产vs欧美| 日韩一区二区三区高清免费看看| 亚洲福利一区二区三区| 欧美亚洲高清一区| 日韩毛片高清在线播放| 国产精品另类一区| 国产精品538一区二区在线| 日韩精品最新网址| 国产一区二区电影| 国产三级一区二区三区| 国产成人精品aa毛片| 国产欧美日产一区| 成人免费视频app| 亚洲视频网在线直播| 97se亚洲国产综合自在线观| 日韩毛片精品高清免费| 欧洲色大大久久| 日本欧美韩国一区三区| 国产一区二区三区免费看| 国产亚洲一区二区三区| 亚洲精品五月天| 日本高清免费不卡视频| 成人av网址在线| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 成人国产精品视频| 亚洲欧美日韩国产中文在线| 欧美亚洲综合色| 蜜桃av一区二区| 国产色产综合色产在线视频| 91同城在线观看| 亚洲大片在线观看| 精品三级av在线| 成人精品一区二区三区四区| 一区二区三区在线视频免费观看| 欧美片网站yy| 国产成人啪免费观看软件| 亚洲激情欧美激情| 欧美成va人片在线观看| 成人免费看视频| 日韩激情视频在线观看| 日本一区二区视频在线| 亚洲欧洲三级电影| 色成年激情久久综合| 久久亚洲一区二区三区四区| 欧美亚洲综合一区| 日韩国产精品91| 欧美一区二区三区免费视频 | 日本成人中文字幕| 中文字幕av在线一区二区三区| 欧洲av一区二区嗯嗯嗯啊| 极品销魂美女一区二区三区| 亚洲女性喷水在线观看一区| 在线综合亚洲欧美在线视频| 成人精品视频一区二区三区尤物| 日本欧美久久久久免费播放网| 国产精品毛片久久久久久| 91精品国产入口在线| 99久久er热在这里只有精品66| 精品一二三四区| 亚洲第一狼人社区| 久久综合视频网| 国产精品美女www爽爽爽| 日韩精品一区二区三区视频在线观看| 高清国产一区二区| 全国精品久久少妇| 亚洲一区二区三区免费视频| 国产精品视频一二三区| 精品国产一区二区三区四区四| 欧美性色欧美a在线播放| 成人av动漫在线| 国产资源精品在线观看| 麻豆国产精品一区二区三区| 亚洲午夜免费视频| 伊人夜夜躁av伊人久久| 国产精品美日韩| 亚洲国产精品v| 久久久91精品国产一区二区精品| 91精品国产综合久久久久久| 欧美日韩精品免费观看视频| 91黄色激情网站| 在线免费不卡电影| 一本久道中文字幕精品亚洲嫩| 成人app软件下载大全免费| 国产麻豆视频一区| 精品一区二区三区久久| 99久久精品国产精品久久 | 日韩午夜激情av| 国产精品综合二区| 成人看片黄a免费看在线| 免费看黄色91| 久久99精品一区二区三区| 日本sm残虐另类| 热久久国产精品| 久久99精品久久只有精品| 激情综合五月天| 国产成人综合在线| 成人午夜av影视| 91色九色蝌蚪| 欧美在线播放高清精品| 欧美日韩激情一区二区| 91麻豆精品国产综合久久久久久 | 狠狠v欧美v日韩v亚洲ⅴ| 极品美女销魂一区二区三区 | 成人精品电影在线观看| 91首页免费视频| 欧美性猛交xxxxxx富婆| 91精品国产一区二区人妖| 日韩免费观看高清完整版| 久久综合九色综合欧美就去吻| 亚洲精品国产精品乱码不99| 亚洲精品国产无套在线观| 日韩av中文字幕一区二区| 狠狠网亚洲精品| 91在线视频官网| 欧美日韩国产另类一区| wwwwxxxxx欧美| 亚洲视频在线一区观看| 日韩av电影免费观看高清完整版 | 国产精品一二一区| 成人国产一区二区三区精品| 欧美亚州韩日在线看免费版国语版| 91精品婷婷国产综合久久性色 | 中文字幕一区二区视频| 亚洲一二三四在线观看| 麻豆国产欧美日韩综合精品二区| 风间由美性色一区二区三区| 欧洲一区二区三区在线| 精品伦理精品一区| 亚洲理论在线观看| 国产在线精品免费av| 在线观看av一区| 欧美极品另类videosde| 日韩成人午夜电影| av不卡一区二区三区| 精品国产91洋老外米糕| 一区二区三区四区精品在线视频| 久久国产三级精品| 欧美在线不卡视频| 国产精品理伦片| 久久国产精品99久久久久久老狼| 91福利在线观看| 国产精品美女久久久久久| 久久er99热精品一区二区| 欧美日韩亚洲综合在线| 国产精品大尺度| 国产毛片精品视频| 91精品国产色综合久久不卡电影| 亚洲精品五月天| av电影天堂一区二区在线| 久久蜜桃av一区二区天堂| 麻豆国产一区二区| 欧美视频在线一区| 亚洲品质自拍视频| 成人app软件下载大全免费| 26uuu成人网一区二区三区| 天天影视涩香欲综合网| 91成人在线精品| 国产精品美女久久久久久2018| 精品影视av免费| 日韩免费观看2025年上映的电影| 午夜精品成人在线视频| 色94色欧美sute亚洲线路一ni| 国产精品美女久久久久久久网站| 国产真实乱对白精彩久久| 精品久久人人做人人爽| 免费人成在线不卡| 欧美一区三区四区| 婷婷国产v国产偷v亚洲高清| 欧美日韩免费电影|