在具體的項目中應(yīng)用移植代碼時,還需要做一些工作,這是因為:
1.各種基于arm7處理器核的芯片的硬件結(jié)構(gòu)不盡相同,所以需要編寫部分啟動代碼(參看第5章)。另外中斷服務(wù)程序的編寫方法也各不相同;
2.因為各個項目對資源的要求不一樣,所以盡管使用同一系列的芯片,其時鐘節(jié)拍中斷也可能使用不同的中斷實現(xiàn)。
將μc/os-ii移植到lpc2000時,需要完成的工作主要有以下幾個部分:
編寫或獲取啟動代碼;
掛接swi軟件中斷;
中斷及時鐘節(jié)拍中斷;
編寫應(yīng)用程序。
注:其中“啟動代碼”已經(jīng)在第5章中講述。
掛接swi軟件中斷
將軟中斷異常處理程序掛接到內(nèi)核是通過修改啟動代碼中的異常向量表實現(xiàn), 代碼如下所示:
中斷及時鐘節(jié)拍中斷
編寫中斷服務(wù)程序代碼比較簡單,按照7.3.6小節(jié),編寫c語言處理函數(shù)即可。關(guān)鍵在于把程序與芯片的相關(guān)中斷源掛接,使芯片在產(chǎn)生相應(yīng)的中斷后會調(diào)用相應(yīng)的處理程序。 這需要做以下兩個方面的工作:
編寫應(yīng)用程序
移植μc/os-ii是為了在自己的系統(tǒng)使用μc/os-ii。要在自己的系統(tǒng)中使用μc/os-ii編寫自己的應(yīng)用程序就必須遵守μc/os-ii的編程規(guī)范。主要包括主函數(shù)和用戶任務(wù),它們的關(guān)系如下。