A. 嵌入式中BSP的概念是什麼,比如在linux中,請通俗的講一下,謝謝了!
BSP(Board Support Package),板級支持包,也稱為硬體抽象層HAL或者中間層。
它將系統上層軟體和底層硬體分離開來,使系統上層軟體開發人員無需關系底層硬體的具體情況,根據BSP層提供的介面開發即可。
BSP是相對於操作系統而言的,不同的操作系統有不同定義形式的BSP,要求BSP所實現的功能也有所不同。
在嵌入式Linux系統中,主要是初始化底層硬體並引導操作系統;同時,BSP又是和硬體相關的,還要考慮對硬體的初始化操作。這些初始化操作主要是對CPU、內存、中斷等相關的寄存器及協處理器進行正確的配置。
在不同的開發階段,因為核心和文件系統所處的位置不同,BSP所要完成的工 作也有所不同;在開發調試階段,BSP要能夠與主機通信並從主機下載核心;在目標產品中,BSP要能夠從非易失存儲設備中載入核心。
(1)單片機bsp開發擴展閱讀
BSP有兩個特點:硬體相關性和操作系統相關性。
設計一個完整的BSP需要完成兩部分工作:
A、 嵌入式系統的硬體初始化和BSP功能。
片級初始化:純硬體的初始化過程,把嵌入式微處理器從上電的默認狀態逐步設置成系統所要求的工作狀態。
板級初始化:包含軟硬體兩部分在內的初始化過程,為隨後的系統初始化和應用程序建立硬體和軟體的運行環境。
系統級初始化:以軟體為主的初始化過程,進行操作系統的初始化。
B、 設計硬體相關的設備驅動。
B. 什麼是BSP
在VxWorks中的網卡驅動,首先在config.h中包含該網卡,然後將網卡含網卡的信息的參數放進數組 END_TBL_ENTRY endDevTbl [] 中,系統通過函數muxDevLoad( )調用這個數組來安裝網卡驅動. 而在Linux中的網卡驅動,是在space.c中聲明該網路設備,再把網卡驅動的一些函數加到dev結構中,由函數ether_setup()來完成網卡驅動的安裝.純粹的BSP所包含的內容一般說來是和系統有關的驅動和程序,如網路驅動和系統中網路協議有關,串口驅動和系統下載調試有關等等.離開這些驅動系統就不能正常工作. Tornado中BSP的編譯和上層應用程序不同,用命令行或直接在Tornado環境下Build,在Tornado下不能跟蹤調試. 用戶也可以添加自己的程序到BSP中,但嚴格來說不應該算BSP.一般來說這種做法不建議.由於一旦操縱系統能良好運行於終極的主板硬體後,BSP也就固定了,不需要做任何改動.而用戶自己在BSP中的程序還會不斷的升級更新,這樣勢必對BSP有不好的影響,對系統造成影響,同時由於BSP調試編譯環境較差,也不利於程序的編譯調試. 上層程序Tools - ApplicationsI/O System BSP和PC機主板上的BIOS區別很大,BIOS主要是負責在電腦開啟時檢測、初始化系統設備(設置棧指針,中斷分配,內存初始化..)、裝進操縱系統並調度操縱系統向硬體發出的指令,它的Firmware代碼是在晶元生產過程中固化的,一般來說用戶是無法修改.實在是為下載運行操縱系統做預備,把操縱系統由硬碟載入到內存,並傳遞一些硬體介面設置給系統.在OS正常運行後,BIOS的作用基本上也就完成了,這就是為什麼更改BIOS一定要從新關機開機. PC機BIOS的作用更象嵌進式系統中的Bootloader(最底層的引導軟體,初始化主板的基本設置,為接收外部程序做硬體上的預備).與Bootloader不同的是BIOS在裝載OS系統的同時,還傳遞一些參數設置(中斷埠定義,...),而Bootloader只是簡單的裝載系統. BSP是和操縱系統綁在一起運行在主板上的,盡管BSP的開始部分和BIOS所做的工作類似,可是大部分和BIOS不同,作用也完全不同.此外BSP還包含和系統有關的基本驅動(串口,網口...),此外程序員還可以編程修改BSP,在BSP中任意添加一些和系統無關的驅動或程序,甚至可以把上層開發的統統放到BSP中. 而BIOS程序是用戶不能更改,編譯編程的,只能對參數進行修改設置.更不會包含一些基本的硬體驅動. BSP在嵌進式開發中的位置和作用 BSP開發處於整個嵌進式開發的前期,是後面系統上應用程序能夠正常運行的保證. 大概步驟如下: 1.硬體主板研製,測試.2.操縱系統的選定,BSP編程.3.上層應用程序的開發. BSP部分在硬體和操縱系統,上層應用程序之間.所以這就要求BSP程序員對硬體,軟體和操縱系統都要有一定的了解.這樣才能做好BSP編程. 熟悉工具方面:電表,示波器,邏輯分析儀.硬體模擬器,模擬調試環境
C. 嵌入式開發 bsp 應用 和 dsp的區別
dsp:類似與單片機,但是不同,他的運算速度是相當的快呀!主要用與速度的運算,壓縮,解碼,編碼,等大量數據處理的場合。
特點:運算速度快!
嵌入式系統:說明的范圍就更大了。上面說的總的來說就是嵌入式系統,或者說其中的一部分。想你電腦的列印機,一些外設都可以叫嵌入世系統。但是現在說嵌入式系統一般會聯想到arm晶元。這是一個32位的「單片機」,我一直這么叫他。嘿嘿!內核設計的很經典,現在用他的學習他的人很多。價格也在歲時間的推移慢慢降低,據說現在最低的在$1左右。