新聞中心

uC/OSII移植步驟

作者: 時間:2016-10-08 來源:網(wǎng)絡(luò) 收藏
LR; Disabled, return the original CPSR contents in R0
ARMEnableINT
MSRCPSR_c,R0
BXLR
2)任務(wù)級任務(wù)切換
任務(wù)級任務(wù)切換函數(shù)OS_TasK_Sw()是當(dāng)前任務(wù)因?yàn)楸蛔枞鲃诱埱驝PU高度時被執(zhí)行的,由于此時的任務(wù)切換都是在非異常模式直進(jìn)行的,因此區(qū)別于中斷級別的任務(wù)切換。它的工作是先將當(dāng)前任務(wù)的CPU現(xiàn)場保存到該任務(wù)的堆棧中,然后獲得最高優(yōu)先級任務(wù)的堆棧指針,從該堆棧中恢復(fù)此任務(wù)的CPU現(xiàn)場,使之繼續(xù)運(yùn)行,從而完成任務(wù)切換。
OSCtxSw
; SAVE CURRENT TASK'S CONTEXT
STMFDSP!, {LR}; Push return address
STMFDSP!, {LR}
STMFDSP!, {R0-R12}; Push registers
MRSR4,CPSR; Push current CPSR
TSTLR, #1; See if called from Thumb mode
ORRNER4,R4, #0x20; If yes, Set the T-bit


關(guān)鍵詞:

評論


相關(guān)推薦

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

關(guān)閉