




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗一、一個簡單的,C/OS-II應用程序設計一、 實驗目的1、 熟悉pC/OS-II應用程序編寫的實驗環境設置;2、 掌握pC/OS-II應用程序的編寫、編譯、下載、運行的基本步驟;3、 了解^C/OS-II操作系統源碼的基本結構;4、 熟練掌握編寫pC/OS-II應用程序的基本要求和步驟。二、 實驗設備2.1硬件本實驗采用的奮斗版STM32MINI開發板,該開發板的硬件圖如圖1所示,該板可外接觸摸屏。請仔細觀測開發板上的主要器件,在下面的實驗中尤其要注意【啟動模式選擇】插針,當插針接上時為開發板運行模式,斷開時為開發板燒錄模式。圖1-1、奮斗STM32MINI開發板硬件示意圖USB#Q.啟動模式選擇我?穩壓器2MSPIFLASHSST25VF016B16位FSMC圖1-1、奮斗STM32MINI開發板硬件示意圖USB#Q.啟動模式選擇我?穩壓器2MSPIFLASHSST25VF016B16位FSMC及觸摸控制接口-狀態指示燈f本實驗中需要將硬件的串口接USB轉串口線,電源是通過USB接口進行供電,燒錄時需要將【啟動模式選擇】插針拔掉。2.2軟件WindowsXP/Windows7、RealViewMDK、pC/OS-II版本2.86與移植包、ST官方標準庫V3.2版、STM32TMandSTM8?Flashloaderdemonstrator,串口調試工具等。三、實驗內容3.1實驗環境搭建本實驗是第一次使用|JC/OS-II操作系統,在實驗之前首先需要熟悉|JC/OS-II實驗系統的環境設置。在2.1節已經介紹奮斗miniARM板的線路連接方式,由于現在的PC機上一般不提供串口,所以需要使用USB轉串口線,并安裝相應的USB轉串口驅動程序包,可根據USB轉串口線的型號在互聯網上搜索找到需要的驅動程序(注意:可能需要多試驗幾次才會找到合適的驅動程序包)。安裝完成后可以在設備管理器中看到虛擬串口信息,如圖1-2所示。鼠標右鍵點擊電腦桌面【我的電腦】,點擊【設備管理器】可彈出設備管理器界面。虛擬串口名字可以通過點擊端口查看,例如圖1-3中顯示的虛擬串口名是COM8。圖1-2、打開設備管理器界面
圖1-3、設備管理界面接下來需要安裝以C/OS-II編輯、編譯開發工具。在此我們選擇的是RealViewMDK,RealViewMDK集成了業內最領先的技術,包括µVision3集成開發環境與RealView編譯器。支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成Flash燒寫模塊,強大的Simulation設備模擬,性能分析等功能,與ARM之前的工具包ADS等相比,RealView編譯器的最新版本可將性能改善超過20%。該工具的安裝界面如圖1-4所示。安裝完成后可以在電腦的【開始】->【所有程序】->【KeiluVision3】中啟動該工具軟件,如圖1-5所示。我們可以在該工具中編輯源碼,并將源程序編譯為可下載到目標板上運行的hex文件。
t1 ■■■.?EpVisionIntegratedDevelopmentEnvironment
For區KEIL區KEILV#■AnARbi?CompanyRealView*ToolsbyARM*Copyright?1997-2005KeilSoftware.2005-2007ARMLtd.Allrightsreserverd.ITiisproductisprotectedbyUSandinternatiuridllaws.圖1-5、RealViewMDK啟動界面MDK產生的hex文件如何燒錄到目標板中,燒錄的方法有很多種。我們這里采用的是串口加載方法,使用的是FlashLoaderDemonstrator串口燒錄軟件,首先需要單獨安裝FlashLoaderDemonstrator軟件,安裝過程如圖1-6。使用該軟件的步驟如下:第一步:選擇串口(圖1-7)。請注意該虛擬串口的名稱可能會隨著每次電腦的關機/開機而發生變化,本文撰寫時所在PC機上的虛擬串口名為COM8,實驗時你打開的虛擬串口名稱可能是其它的,如COM3等等。第二步:點擊【next】進入第二步,顯示目標板Flash內存大小,如圖1-8,。請注意目標板必須上電,并且抽針拔下(參見2.1節硬件部分介紹),連續燒錄時必須重新復位(斷開電源后再次加電即可)。第三步:點擊NEXT鍵會顯示顯示詳細的器件信息。圖1-7、選擇虛擬串口圖1-8、目標板Flash內存大小AUriFrotectedN:=jtie|St:=Lrta...End角dd...|Si工旦BackFinishPagedPagelFage2Fage3Page4Page5FageGPage?Fage8Fage'dFagelUOx8000000Ox8000800Ox8001000Ox8001800Ox8002000Ox8002800Ox8003000Ox8003800Ox8004000Ox8004800Ox8005000n?flnn^flnnOx80007FFOx8000FFFOx80017FFOx8001FFFOx80027FFOx8002FFFOx8003TFFOx8003FFFOx80047FFOx8004FFFOx8005TFFn?flnn^T?i?T?0k800(2K::i0k800(2K::i0k800(:2K::iOkSOOCIO0k800(2K::l0k800(2K::l0k800(2K::i0m800(2K::i0k800(2K::i0k800(2K::i0k800SIC:)n-rRnnfC'Tfl^00000000000raRQQQ00000000ra圖1-9、目標板Flash內存大小第四步:選擇燒錄文件(后綴名為hex的文件)°MDK編譯鏈接無錯誤后將生成hex文件,該文件一般在MDK項目的ObjFlash文件夾下。第五步:點擊NEXT鍵,經過一段下載的過程,完成代碼的下載。圖1-10、目標板Flash內存大小圖1-11、HEX文件下載過程3.2在MDK中編寫第一個HC/OS-II應用程序1、編寫HC/OS-II應用程序編寫pC/OS-II應用程序不同于我們在學習C語言中編寫程序的方式,我們現在編寫的MC/OS-II應用程序必須與pC/OS-II操作系統代碼一起進行編譯運行,因此我們通常是在一個已經完成的pC/OS-II應用程序的基礎上進行修改代碼以實現新的功能。首先啟動MDK軟件,如圖1-13所示。點擊菜單【project]->[openproject】打開現存的MDK項目,本實驗是基于led_example_gui文件中的APP目錄下的工程文件STM32-FD-ucgui.Uv2。該例子是基于GUI的LED閃爍的案例,點擊[project]->[buildproject]可以編譯鏈接整個項目工程,無錯誤時可產生HEX文件。大家可以通過3.1節中介紹的方法燒錄該HEX文件(在ObjFlash目錄中)到目標板上觀察程序運行結果。圖1-12顯示了led_example_gui的工程目錄結構,其中APP目錄主要存放應用程序,BSP存放硬件平臺初始化的文件,pC/OS-II/Source目錄存放7pC/OS-II操作系統的所有源文件,包括:os_core.c、os_mem.c、os_mbox.c、os_q.c等文件。aEl-s-s-s-s-s-s-s-s- aEl-s-s-s-s-s-s-s-s- 0-:0-:0-:曰FlashStartupAFPBSPFWLibuC-OS-II/PortuC-OS-II/CPUuC_OS_II/SourceuCGUILibLDocumentation:::]readme,txtuCOS-II/GUI_XTFTCM3Lfont固SimSun_13.c圖1-12、led_example_gui例子的工程文件目錄在該項目中添加新文件appl.c,并在其中按下列要求編寫代碼。注意要將項目工程中app.c文件的main函數名字改掉,例如改為mainl。該軟件的主要功能是創建一個獨立的任務,在該任務中每隔10000*100個節拍的時間通過串口輸出一段文字。#include"includes.h"staticOS_STKApp_TaskStartStk[128];staticvoidApp_TaskStart(void*p_arg);intmain(void){CPU_INT08Uos_err;/*禁止所有中斷*/CPU_IntDis();OSInit(); /*ucosII初始化*/BSP_Init(); /*硬件平臺初始化*/os_err=OSTaskCreate((void(*)(void*))App_TaskStart, 〃指向任務代碼的指針(void*)0, 〃任務開始執行時,傳遞給任務的參數的指針(OS_STK*)&App_TaskStartStk[127], 〃分配給任務的堆棧的棧頂指針 從頂向下遞減(INT8U)2); 〃分配給任務的優先級OSStart(); 〃啟動ucosII內核return(0);}
staticvoidApp_TaskStart(void*p_arg){while(1){USART_OUT(USART1,"****嵌入式操作系統課程實驗開始了*******\r\n");USART_OUT(USART1,"**\r\n");USART_OUT(USART1,"*實驗一、一個簡單的MCOS-II應用程序設計*\r\n");USART_OUT(USART1,"**\r\n");USART_OUT(USART1,"*作者:*\r\n");USART_OUT(USART1,"*南京工程學院*\r\n");USART_OUT(USART1,"**\r\n");USART_OUT(USART1,"***************************************************\r\n'');USART_OUT(USART1,"\r\n");USART_OUT(USART1,"\r\n");OSTimeSet(10000*100); //ucosII的節拍計數器10000*100 節拍計數器是0-4294967295}}-Inlxi|呼STM32-FD-ucgui-硬ision3-[E:\嵌入式QS\奮斗STM32開發板例程目錄'奮斗STM32開發板V5及-Inlxi|呼STM32-FD-ucgui-硬ision3-[E:\嵌入式QS\奮斗STM32開發板例程目錄'奮斗STM32開發板V5及MIBI例程'奮斗STM32開發板MIBI+2.4寸CILJ9325-NEW)屏例程'適用于MI...區Flash日…:St:ai-tup團stm32£1Ox_startup.eAFF蜀app.c都stm32£10x_it.c:*]Fuil.cBSF因bsp.cFWLibuC-OS-II/Fc.rtuC-OS-II/CFUuC-OS-II/Som-ceuCGUILib固uCGLflJlEMO.libIlocijinentationp|readme,txtuCOS-II/GUI_X固GUI_X_Touch.c▲點星爵百的60,60,大小130X25ect,NULL,GUIIDSLIDERO,60,60,130,25,0,0},點是窗體的6。,110,大小130X25ect,NULL,GUIIDSLIDER!,60f110,130,25,0,0}點是窗體的6。,160,大小130X25ect,NULL,GUIIDSLIDER2,60,160,130,25,0,0}OutputWindow ▼X|Al|\Build人Command人FindinFiles/ ||『 |?H…傅U|*J}■I8?--Ig|Fun,c[ForHelpjpressFl|CorteK-M3J-UHK圖1-13、MDK編程工具界面2、編譯、運行編譯鏈接上述項目產生HEX文件。編譯鏈接的方法前面已有論述,如果程序出現錯誤,修改后繼續編譯。接下來就需要將該文件燒錄到目標板中運行程序,燒錄完成后拔掉電源,將【啟動模式選擇】插針插上,并且一定要關閉FlashLoaderDemonstrator軟件,否則該
軟件會一直占用串口。打開串口調試軟件,接上電源就可以在串口調試軟件觀察到AR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車位使用合同
- 年產20萬噸環保降解地膜紙、生活用紙、特種紙項目可行性研究報告寫作模板-備案審批
- 有機發光二極管(OLED)照明產品生產設備企業ESG實踐與創新戰略研究報告
- 中堿短切玻璃纖維企業數字化轉型與智慧升級戰略研究報告
- 新能源汽車輪邊電機企業縣域市場拓展與下沉戰略研究報告
- 座椅企業數字化轉型與智慧升級戰略研究報告
- 塑造工藝品企業數字化轉型與智慧升級戰略研究報告
- 礦用烘干機企業ESG實踐與創新戰略研究報告
- 綠色節能建筑材料制造企業數字化轉型與智慧升級戰略研究報告
- 2025年酒及飲料加工機械合作協議書
- 水土保持學試卷 答案
- 變電站工程施工危險點辨識及預控措施(匯編)
- 關于新能源汽車的論文10000字
- 停車場建設工程監理規劃
- 口腔檢查-口腔一般檢查方法(口腔科課件)
- 中型水力發電廠電氣部分初步設計
- 分紅險、萬能險銷售資質考試真題模擬匯編(共763題)
- 魚臺工程運河杯匯報材料
- 簡單的勞務合同協議書
- 財務英語詞典-財務術語中英文對照
- GA/T 1028.1-2022機動車駕駛人考試系統通用技術條件第1部分:總則
評論
0/150
提交評論