我現(xiàn)在在做ARM LPC2104的移植,參考了一些周立功的移植經驗,看來還需要很長一段時間才可以,軟中斷有人用過沒有,我想問問這方面的問題,謝謝
熱心網友
你不會是北京小趙吧?今天下午剛剛在群里遇到他問軟中斷的問題。在2104上面移植ucos,首先要把arm啟動和ucos的移植分開作為兩個問題來處理。啟動是芯片的配置引導,ucos的移植是針對內核的任務切換機制和針對芯片的一個硬件定時器調用。ucos的啟動是建立在芯片的啟動基礎上,在芯片boot成功以后再初始化ucos系統(tǒng)(調用系統(tǒng)函數(shù)即可)。針對內核的任務切換要多看arm內核的知識,要了解編譯器處理細節(jié),要仔細研究ucos的移植范例,再加上一定程度的測試,arm匯編是肯定要很熟悉的。針對芯片的硬件定時器調用就很簡單了,只要對2104有一定了解就可以。zlg的書上給的ucos移植例子不是很符合ucos系統(tǒng)的移植范例,修改了一些原系統(tǒng)要求的步驟(我只是在書店瀏覽過,感覺如此),所以最好還是看看ucos網站上對arm7tdmi內核移植的port文件。軟中斷是arm里面主要作為提供給調試使用的一種方式,其中使用最多的又是semihosting中斷。軟中斷通過匯編指令swi來觸發(fā),其后跟隨一個參數(shù)為swi中斷號,通過swi方式,運行在用戶模式下的應用程序可以請求操作系統(tǒng)執(zhí)行一系列特權操作(supervisor也是特權模式)。而其中的semihosting中斷可以在用戶程序與調試環(huán)境間建立一個聯(lián)系,從而可以通過用戶程序操作文件IO之類。
熱心網友
我剛開始,來學習了