秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

基于uCOS-II的嵌入式應用程序開發(fā)

上傳人:xu****iu 文檔編號:253239378 上傳時間:2024-12-09 格式:PPT 頁數(shù):44 大?。?62.50KB
收藏 版權(quán)申訴 舉報 下載
基于uCOS-II的嵌入式應用程序開發(fā)_第1頁
第1頁 / 共44頁
基于uCOS-II的嵌入式應用程序開發(fā)_第2頁
第2頁 / 共44頁
基于uCOS-II的嵌入式應用程序開發(fā)_第3頁
第3頁 / 共44頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于uCOS-II的嵌入式應用程序開發(fā)》由會員分享,可在線閱讀,更多相關(guān)《基于uCOS-II的嵌入式應用程序開發(fā)(44頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Click to edit Master title style,XUPT,嵌入式系統(tǒng),原理與應用,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Click to edit Master text styles,Second level,Th

2、ird level,Fourth level,Fifth level,Click to edit Master title style,*,第八章,基于,C/OS-II,的嵌入式應用程序開發(fā),目 錄,8.1,嵌入式應用程序開發(fā)的特點,8.2 C/OS-II,應用程序結(jié)構(gòu)分析,8.3 C/OS-II,程序設計技術(shù),8.4 C/OS-II,在,ARM,微處理器上的移植,8.5,應用程序設計及實例,2,8.1,嵌入式應用程序開發(fā)的特點,8.1.1,開發(fā)調(diào)試環(huán)境的建立,在嵌入式系統(tǒng)開發(fā)中,典型的調(diào)試環(huán)境一般通常由三部分構(gòu)成:一是通用計算機(用來運行調(diào)試軟件,稱為調(diào)試主機);二是協(xié)議轉(zhuǎn)換器(連接調(diào)試主機

3、發(fā)出的高級命令與微處理器,JTAG,接口的低級命令之間的接口);三是調(diào)試目標。硬件調(diào)試環(huán)境如下圖:,3,8.1,嵌入式應用程序開發(fā)的特點,8.1.2,基于嵌入式處理器的直接編程技術(shù),如果針對硬件電路直接設計應用程序,那么應用程序的代碼必須包括以下幾個部分:,啟動部分:硬件加電后首先運行(硬件檢測和資源分配),處理器管理部分:實現(xiàn)處理器狀態(tài)轉(zhuǎn)換和寄存器使用等,外圍設備訪問部分:外圍設備(如串口)的初始化等,程序功能部分:實現(xiàn)程序所要完成的具體功能,這樣設計程序?qū)υO計人員的能力要求是很高的。,4,8.1,嵌入式應用程序開發(fā)的特點,8.1.3,基于嵌入式操作系統(tǒng)的編程技術(shù),隨著嵌入式微處理器和程序設

4、計技術(shù)的發(fā)展,人們把一個大的程序從功能上可劃分為三個部分:,板級支持包(,BSP,):其目的是屏蔽下層硬件,主要由,Boot Loader,和,Drivers,兩部分構(gòu)成。,嵌入式實時操作系統(tǒng)(,RTOS,)。,應用程序:基于相應操作系統(tǒng)、在相應開發(fā)環(huán)境下設計的并最終運行在相應目標機上的程序。,這里,可由掌握不同技術(shù)的人去設計不同的部分,并在三部分之間設計相應的接口以供三部分之間相互調(diào)用。,5,8.2 C/OS-II,應用程序結(jié)構(gòu)分析,下面以一個簡單實例來說明基于,C/OS-II,操作系統(tǒng)設計的嵌入式應用程序的結(jié)構(gòu)。,程序清單,8.1,兩個,LED,交替閃爍,#include“config.h

5、”(1),#define LED1 (118)/,定義,LED1,,,P1.18,控制,LED1(2),#define LED2 (119)/,定義,LED2,,,P1.19,控制,LED2(3),#define TASK_STACK_SIZE 128 /,定義用戶任務的堆棧長度,(4),OS_STK task1StkTASK_STACK_SIZE;/,定義任務,LED1,的堆棧,(5),OS_STK task2StkTASK_STACK_SIZE;/,定義任務,LED2,的堆棧,(6),void task1(void*pdata);/LED1,任務函數(shù)聲明,(7),void task2(vo

6、id*pdata);/LED2,任務函數(shù)聲明,(8),6,8.2 C/OS-II,應用程序結(jié)構(gòu)分析,7,int main(void)/,主函數(shù),(9),OSInit();/,初始化,C/OS-II(10),OSTaskCreate(task1,(void*)0,/,創(chuàng)建,LED1,任務,/,優(yōu)先級為,4 (11),OSTaskCreate(task2,(void*)0,/,創(chuàng)建,LED2,任務,/,優(yōu)先級為,5 (12),OSStart();/,啟動,C/OS-II,任務開始執(zhí)行,(13),return(0);(14),/main,函數(shù)中所調(diào)用的,OSInit,、,OSTaskCreate,和

7、,OSStart,,,是,/C/OS-II,操作系統(tǒng)提供的,API,函數(shù)。,/main,函數(shù)并沒有直接調(diào)用,task1,和,task2,,只是在,main,中調(diào)用,/OSTaskCreate,創(chuàng)建兩個任務時分別把,task1,和,task2,作為參數(shù)。,8.2 C/OS-II,應用程序結(jié)構(gòu)分析,8,void task1(void*pdata)/,任務,LED1,函數(shù)定義,(15),pdata=pdata;/,防止出現(xiàn)編譯警告,(16),TargetInit();/,目標板初始化,包括初始化中斷系統(tǒng),(17),PINSEL2&=,0 x08;/,選擇管腳,P1.18,25,為,GPIO(18),

8、IO1DIR|=0 x0318;/,設置,LED(P1.18,、,P1.19),為輸出,(19),IO1SET=0 x03=0 x1fc,INFO 1,nThe data at 0 x000001fc must be 0 x87654321.nPlease delete some source before this line.,ENDIF,CrpData,WHILE.0 x1fc,NOP ;,循環(huán)用,NOP,填充,直到,0 x1fc,WEND,CrpData1,DCD 0 x87654321 ;,當此數(shù)為,0 x87654321,時,用戶程序被保護,ENDIF,40,8.5,應用程序設計及實

9、例,;,各模式堆??臻g分配,AREA MyStacks,DATA,NOINIT,ALIGN=2;,通過分散加載文件定位,SvcStackSpace SPACE SVC_STACK_LEGTH*4 ;,管理模式堆??臻g,IrqStackSpace SPACE IRQ_STACK_LEGTH*4 ;,中斷模式堆??臻g,FiqStackSpace SPACE FIQ_STACK_LEGTH*4 ;,快速中斷模式堆棧空間,AbtStackSpace SPACE ABT_STACK_LEGTH*4 ;,中止模式堆??臻g,UndtStackSpace SPACE UND_STACK_LEGTH*4 ;,未

10、定義模式堆??臻g,AREA Heap,DATA,NOINIT ;Heap,通過分散加載文件定位,bottom_of_heap SPACE 1,AREA Stacks,DATA,NOINIT ;Stacks,通過分散加載文件定位,StackUsr,END,41,8.5,應用程序設計及實例,從前面知道,,ARM,芯片復位后,系統(tǒng)進入管理模式、,ARM,狀態(tài),此時,PC,寄存器的值為,0 x00000000,系統(tǒng)就從,0 x00000000,處開始執(zhí)行程序。而,0 x00000000,處放置著異常向量表,程序?qū)⒏鶕?jù)異常向量表進行跳轉(zhuǎn)。其執(zhí)行過程如下:,芯片根據(jù)異常處理程序地址表,得到復位處理程序(,

11、ResetInit,)的地址,并跳轉(zhuǎn)到復位處理程序(,ResetInit,)處去執(zhí)行。,調(diào)用,InitStack(),函數(shù),初始化,ARM,處理器各工作模式的堆棧。,調(diào)用目標板初始化函數(shù)(在,TARGET.C,中定義),初始化目標板。,跳轉(zhuǎn)到用戶,C,程序入口,main(),處,執(zhí)行用戶程序。,在芯片啟動過程中,在堆棧初始化(,InitStack(),函數(shù))的末尾,處理器切換到系統(tǒng)模式,因而用戶程序是在系統(tǒng)模式下運行的。,42,8.5,應用程序設計及實例,目標板初始化(,TARGET.C,),目標板初始化代碼文件是用,C,語言編寫的,其內(nèi)容主要包括:啟動代碼調(diào)用的初始化函數(shù)、用戶調(diào)用的初始化函

12、數(shù)、一些異常處理函數(shù)以及一些系統(tǒng)庫函數(shù)的實現(xiàn)等。,有關(guān)的頭文件(*,.H,),要設計一個系統(tǒng),為了進行必要類型定義、常量與變量聲明以及函數(shù)聲明等,會有各種各樣的頭文件。如下:,用戶配置文件(,config.h,):包含一些類型定義和系統(tǒng)時鐘定義。,target.h,文件:包含一些特殊定義和開,/,關(guān),IRQ,中斷、,FIQ,中斷的函數(shù)聲明。根據(jù)所用的目標板和編譯器的要求來修改該文件。,LPC2294.h,文件:包含,LPC2000,系列芯片的特殊寄存器定義文件,其中包含特殊寄存器的定義及固件程序函數(shù)的聲明。,43,8.5,應用程序設計及實例,44,分散加載文件(*,.scf,),有時候希望把不同的代碼放在不同的存儲空間上,也就是生成的映像文件需要包含多個域,每個域在加載和運行時可以有不同的地址。要生成這樣的映像文件,必須通過某種方式告訴連接器相關(guān)的地址映射關(guān)系。在,ADS,中,可以通過分散加載機制實現(xiàn)。,8.5.2,應用程序設計,(參考書中相關(guān)實例),(完),

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!