野火從0寫RT-Thread中,初始化棧空間時爲什麼要預留空間的見解。

線程的運行肯定發生在PendSV軟中斷退出後,那麼中斷退出必然伴隨着寄存器出棧,所以這裏必須要預留出「自動加載到CPU寄存器」的空間。對於整個程序第一次的任務調度,其實「需手動加載到CPU寄存器」的空間是多餘的,但爲了統一(不去管是不是第一次任務調度),這裏也預留了它的位置,並初始化它們爲一個沒有意義的值。  
相關文章
相關標籤/搜索