新聞中心

uC/OSII移植步驟

作者: 時(shí)間:2016-10-08 來源:網(wǎng)絡(luò) 收藏
; OS_CPU_FIQ_ISR_Handler();
MOVLR, PC
BXR0
MSRCPSR_c, #(NO_INT | SVC32_MODE) ; Change to SVC mode
LDRR0,OS_IntExit; OSIntExit();
MOVLR, PC
BXR0; RESTORE NEW TASK'S CONTEXT
LDMFDSP!, {R4}; Pop new task's CPSR
MSRSPSR_cxsf, R4
LDMFDSP!, {R0-R12,LR,PC}^; Pop new task's context
4)OSStartHighRdy()函數(shù)
該函數(shù)是在OSStart()多任務(wù)啟動(dòng)后,負(fù)責(zé)從最高優(yōu)先級(jí)任務(wù)的TCB控制塊中獲得該任務(wù)的堆棧指針SP通過SP依次將CPU現(xiàn)場(chǎng)恢復(fù)。這時(shí)系統(tǒng)就將控制權(quán)交給用戶創(chuàng)建的該任務(wù)進(jìn)程,直到該任務(wù)被阻塞或者被更高優(yōu)先級(jí)的任務(wù)搶占CPU。該函數(shù)僅僅在多任務(wù)啟動(dòng)時(shí)被執(zhí)行一次,用來啟動(dòng)第一個(gè)也即最高優(yōu)先級(jí)任務(wù)。
OSStartHighRdy
MSRCPSR_cxsf, #0xD3; Switch to SVC mode with IRQ and FIQ disabled
LDRR0, ??OS_TaskSwHook


關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉