什麽叫BSP?BSP概念解析
BSP是相對於操作系統而言的,不同的操作系統對應於不同定義形式的BSP,例如VxWorks的BSP和Linux的BSP相對於某壹CPU來說盡管實現的功能壹樣,可是寫法和接口定義是完全不同的,所以寫BSP壹定要按照該系統BSP的定義形式來寫(BSP的編程過程大多數是在某壹個成型的BSP模板上進行修改)。這樣才能與上層OS保持正確的接口,良好的支持上層OS。例如:在VxWorks中的網卡驅動,首先在config.h中包含該網卡,然後將網卡含網卡的信息的參數放入數組 END_TBL_ENTRY endDevTbl [] 中,系統通過函數muxDevLoad( )調用這個數組來安裝網卡驅動。而在Linux中的網卡驅動,是在space.c中聲明該網絡設備,再把網卡驅動的壹些函數加到dev結構中,由函數ether_setup()來完成網卡驅動的安裝。純粹的BSP所包含的內容壹般說來是和系統有關的驅動和程序,如網絡驅動和系統中網絡協議有關,串口驅動和系統下載調試有關等等。離開這些驅動系統就不能正常工作。Tornado中BSP的編譯和上層應用程序不同,用命令行或直接在Tornado環境下Build,在Tornado下不能跟蹤調試。用戶也可以添加自己的程序到BSP中,但嚴格來說不應該算BSP.壹般來說這種做法不建議。因為壹旦操作系統能良好運行於最終的主板硬件後,BSP也就固定了,不需要做任何改動。