電子教案ppt第23章_第1頁
電子教案ppt第23章_第2頁
電子教案ppt第23章_第3頁
電子教案ppt第23章_第4頁
電子教案ppt第23章_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、21天學嵌入式開發(fā)第二十三講:嵌入式系統(tǒng)UC/OS-的移植 北京源智天下科技有限公司聯(lián)系方式:課程安排 獲取UC/OS-嵌入式系統(tǒng)內核 在STM32上移植UC/OS- 北京源智天下科技有限公司聯(lián)系方式:1-10獲取UC/OS-嵌入式系統(tǒng)內核 UC/OS-是開源但不免費的實時操作系統(tǒng)。 /在STM32上移植UC/OS- UC/OS-在STM32 的移植,大致由3 個文件實現(xiàn): 頭文件OS_CPU.H C語言文件OS_CPU.C 匯編格式文件OS_CPU_A.ASM移植要求 處理

2、器 處理器的C編譯器能產生可重入代碼。 用C 語言就可以打開和關閉中斷。 處理器支持中斷,并且能產生定時中斷,通常在10 至100Hz 之間。 處理器支持能夠容納一定量數(shù)據(jù)(可能是幾千字節(jié)) 的硬件堆棧。 處理器有將堆棧指針和其它CPU寄存器讀出和存 儲到堆?;騼却嬷械闹噶?。移植步驟 用#define 設置一個常量的值(OS_CPU.H) 聲明數(shù)據(jù)類型(OS_CPU.H) 用#define語句聲明三個宏(OS_CPU.H) 用C語言編寫六個簡單的函數(shù)(OS_CPU_C.C) 編寫四個匯編語言函數(shù)(OS_CPU_A.ASM)OSCtxSw(void); OSIntCtxSw(void); OSS

3、tartHighRdy(void);OS_CPU_SysTickInit(void);OS_CPU_SR_Restore(OS_CPU_SR cpu_sr);void #endif void void void void#endif/無符號8位整數(shù)/有符號8位整數(shù)/無符號16位整數(shù)/有符號16位整/無符號32位整數(shù)/有符號32位整數(shù)/單精度浮點數(shù)/雙精度浮點數(shù)/堆棧入口寬度為16位typedef unsigned int OS_STK;#ifndef OS_CPU_H #define OS_CPU_H#ifdef OS_CPU_GLOBALS #define OS_CPU_EXT #else#

4、define OS_CPU_EXT extern #endif/數(shù)據(jù)類型,與編譯器有關typedef unsigned char BOOLEAN; typedef unsigned char INT8U; typedef signed char INT8S; typedef unsigned short INT16U; typedef signed short INT16S; typedef unsigned int INT32U; typedef signed int INT32S; typedef floatFP32;typedef doubleFP64;頭文件OS_CPU.Htypede

5、f unsigned int OS_CPU_SR;/CPU狀態(tài)寄存器寬度32位/與處理器相關部分#define OS_CRITICAL_METHOD 3 #if OS_CRITICAL_METHOD = 3#define OS_ENTER_CRITICAL() cpu_sr = OS_CPU_SR_Save(); #define OS_EXIT_CRITICAL() OS_CPU_SR_Restore(cpu_sr); #endif#define OS_STK_GROWTH1#define OS_TASK_SW()OSCtxSw()/任務切換宏#if OS_CRITICAL_METHOD = 3OS_CPU_SR OS_CPU_SR_Save(void);C文件OS_CPU_C.C 用戶要在C文件OS_CPU_C.C中處理10個函數(shù)。 OSTaskStkInit函數(shù)最為重要。匯編文件OS_CPU_A.ASM OSStartHighRdy() OSCtxSw() OSIntCtxSw() OSTickISR()創(chuàng)建

溫馨提示

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

評論

0/150

提交評論