堆棧作用的就是用來保存局部變量,從本質(zhì)上講也就是將CPU寄存器的值保存到RAM中。在uCOS中,每一個(gè)任務(wù)都有一個(gè)獨(dú)立的任務(wù)堆棧。為了深入理解任務(wù)堆棧的作用,不妨分析任務(wù)從“出生”到“消亡”的整個(gè)過程,具體就是分析任務(wù)的建立,運(yùn)行,掛起幾種狀態(tài)中任務(wù)堆棧的變化情況。 現(xiàn)在假設(shè)系統(tǒng)運(yùn)行著一個(gè)由用戶創(chuàng)建的用以完成打印工作的任務(wù)TPrint。TPrint最初通過OSTaskCreate()函數(shù)創(chuàng)建,在該函數(shù)中與任務(wù)堆棧有關(guān)的第一段代碼是大家比較熟悉的函數(shù)OSTaskStkInit(),這個(gè)函數(shù)是在uCOS移植