日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]BSP是Board Support Package的縮寫。該術(shù)語(yǔ)通常用于嵌入式領(lǐng)域,主要指在開(kāi)發(fā)嵌人式應(yīng)用時(shí)系統(tǒng)開(kāi)發(fā)商提供的各種粗動(dòng)支持庫(kù)。在嵌人式領(lǐng)域人們對(duì)BSP有各種不同的理解:(1) 操

BSP是Board Support Package的縮寫。該術(shù)語(yǔ)通常用于嵌入式領(lǐng)域,主要指在開(kāi)發(fā)嵌人式應(yīng)用時(shí)系統(tǒng)開(kāi)發(fā)商提供的各種粗動(dòng)支持庫(kù)。在嵌人式領(lǐng)域人們對(duì)BSP有各種不同的理解:

(1) 操作系統(tǒng)的驅(qū)動(dòng)程序。嵌人式系統(tǒng)提供商的權(quán)威— WindRiver公司對(duì)BSP的理解偏向于是OS的驅(qū)動(dòng)程序(從其BSP的文檔中可以看出),因?yàn)榍度耸较到y(tǒng)中的各種設(shè)備的確名目擠多,因此將BSP定位于OS的驅(qū)動(dòng)的確有一定的道理.

(2) 驅(qū)動(dòng)程序。對(duì)于認(rèn)為BSP就是驅(qū)動(dòng)程序的人來(lái)講,他們通常接觸的是嵌人式系統(tǒng)提供商提供的某種應(yīng)用解決方案的應(yīng)用系統(tǒng)(total solution)。在這種開(kāi)發(fā)系統(tǒng)中,BSP完全有理由被認(rèn)為是所有驅(qū)動(dòng)程序,因?yàn)殚_(kāi)發(fā)人員沒(méi)有必要自己去開(kāi)發(fā)驅(qū)動(dòng)程序,而只是驗(yàn)證驅(qū)動(dòng)程序在自己的系統(tǒng)中是否正確即可.

(3) HAL(HardwareA bstractL ayer)。對(duì)于開(kāi)發(fā)嵌人式OS的人來(lái)講,傾向于將BSP看成是對(duì)硬件平臺(tái)的抽象層(HAW和處理器的馭動(dòng)程序更恰當(dāng).

實(shí)際上各種理解都只是側(cè)重于某個(gè)方面。由于每個(gè)嵌人式系統(tǒng)提供商都根據(jù)自己的操作系統(tǒng)而提出對(duì)BSP的不同理解,因此,在涉及到BSP的具體涵義時(shí),人們往往有一種似是而非的感覺(jué).實(shí)際是各種理解都有其道理,但由于出發(fā)點(diǎn)不同,對(duì)BSP的理解都有失全面甚至有錯(cuò)誤的地方,這也是初學(xué)者容易混淆的原因。對(duì)于進(jìn)行硬件和軟件開(kāi)發(fā)的人員,第三種理解比較合適,后面的分析也是建立在這個(gè)基礎(chǔ)之上的。這里通過(guò) BSP(BoardS upport Package)和BIOS(BasicI nputa ndO utputS ystem)的對(duì)比,來(lái)說(shuō)明板級(jí)支持包的功能。BSP說(shuō)得簡(jiǎn)單一點(diǎn),就是一段啟動(dòng)代碼,與計(jì)算機(jī)主板的BIOS差不多.提供的功能卻有較大的差別。我們都知道,在通用8051等系列單片機(jī)開(kāi)發(fā)的過(guò)程中,要有小段程序設(shè)堆棧指針、軟復(fù)位和中斷屏蔽等等可以把這短程序稱為它的BSP,實(shí)時(shí)操作系統(tǒng)的BSP相對(duì)復(fù)雜一點(diǎn),但通常也是設(shè)t堆棧指針,建立中斷向量表,初始化寄存器(控制外圍器件如DRAM和EDO RAM條,控制I/O Q的寄存器、片選信號(hào)等),配里地址空間以及系統(tǒng)啟動(dòng)方式。BIOS是微機(jī)的基本輸人輸出系統(tǒng),其內(nèi)容集成在微機(jī)主板上的一個(gè)ROM芯片上,主要保存著有關(guān)微機(jī)系統(tǒng)最重要的基本輸入輸出程序,如系統(tǒng)設(shè)置信息、開(kāi)機(jī)上電自檢程序和系統(tǒng)啟動(dòng)自舉程序等。BIOS中斷服務(wù)程序?qū)嵸|(zhì)上是微機(jī)系統(tǒng)中軟件與硬件之間的一個(gè)可編程接口,主要用于程序軟件功能與微機(jī)硬件之間的連接。例如,Wind-98 對(duì)軟驅(qū)、光驅(qū)和硬盤等管理及中斷的設(shè)置等服務(wù)和程序。BIOS系統(tǒng)設(shè)置程序,微機(jī)部件配置記錄是放在一塊可的CMOS RAM芯片 中的,主要保存著系統(tǒng)的基本悄況、CPU特性和軟硬盤驅(qū)動(dòng)器等部件的信息,可以對(duì)其各項(xiàng)參數(shù)進(jìn)行設(shè)It. BIOS系統(tǒng)啟動(dòng)自舉程序,系統(tǒng)完成POST自檢后,ROM BIOS就首先按照系統(tǒng)CMOS設(shè)置中保存的啟動(dòng)順序搜索軟硬盤驅(qū)動(dòng)器及CD-ROM。網(wǎng)絡(luò)服務(wù)器等有效地啟動(dòng)驅(qū)動(dòng)器,讀人操作系統(tǒng)引導(dǎo)記錄然后將系統(tǒng)控制權(quán)交給引導(dǎo)記錄,并由引導(dǎo)記錄來(lái)完成系統(tǒng)的順序啟動(dòng),實(shí)時(shí)操作系統(tǒng)的BSP就相當(dāng)于PC的BIOS一般來(lái)說(shuō),對(duì)不同的微處理器板以及不同的RTOS時(shí),就應(yīng)該配置不同的BSP, BSP可以是已經(jīng)做好了的,不需要開(kāi)發(fā)人員去關(guān)心寄存器設(shè)置的細(xì)節(jié)。

當(dāng)然根據(jù)實(shí)際的要求用戶也可以改寫B(tài)SP來(lái)加人自己的特定功能o BSP可針對(duì)不同的硬件做不同的調(diào)整,相應(yīng)于PC的BIOS.它完成對(duì)硬件的初始化工作,執(zhí)行完后再將執(zhí)行權(quán)交給RTOS。在BSP中,只需要對(duì)與硬件相關(guān)的寄存器(主要是DRAM,SD RAM和片選)及與中斷相關(guān)的寄存器進(jìn)行正確配Y即可.BSP程序越簡(jiǎn)單越好,能放在主程序中初始化的功能盡A不要放在其中,BSP配I程序只要能保證系統(tǒng)正常啟動(dòng)即可.大部分RTOS帶有針對(duì)不同徽處理器的BSP程序,用戶只要稍做修改即可移植到自己的開(kāi)發(fā)應(yīng)用中設(shè)備驅(qū)動(dòng)程序(Drivers)指用于處理、管理硬件控制(controller)的代碼。設(shè)備馭動(dòng)程序是將基礎(chǔ)建立在具體的操作系統(tǒng)之上,而不是某種類型的處理器(CPU)(這很重要)。實(shí)際運(yùn)用中,人們可能選擇不同的目標(biāo)硬件(CPU),如PowerPC,A RM,X 86,并且配f不同的操作系統(tǒng).即使對(duì)于同一種類型的目標(biāo)硬件,不同的操作系統(tǒng)也要編寫不同的BSP。對(duì)于驅(qū)動(dòng)程序,實(shí)際上是在操作系統(tǒng)的層次上對(duì)不同的設(shè)備控制器所寫的代碼。

實(shí)時(shí)操作系統(tǒng)的馭動(dòng)程序與PC的相類似eR TOS通常在BSP定義了一套自己的驅(qū)動(dòng)程序接口,根據(jù)這些接口寫相應(yīng)的驅(qū)動(dòng)程序。當(dāng)然RTOS與硬件較緊密,靈活性較大,開(kāi)發(fā)人員完全可以拋開(kāi)它提供的接口而自己編寫駱動(dòng)程序.這同直接在C代碼中調(diào)用BIOS提供的底層功能(如BIOS中斷)編寫程序類似。BSP通??梢哉J(rèn)為是基于硬件平臺(tái)的。當(dāng)開(kāi)發(fā)某個(gè)平臺(tái)且與硬件相關(guān)的程序時(shí),往往不得不從設(shè)置某個(gè)寄存器的某個(gè)位開(kāi)始編程。在嵌人式領(lǐng)城,這種情況更為明顯,幾乎所有的設(shè)備控制和各種協(xié)議控制都在同一個(gè)嵌人式CPU核當(dāng)中,非常有利于對(duì)CPU核和設(shè)備進(jìn)行抽象.如果能對(duì)CPU核和設(shè)備的各種控制進(jìn)行抽象,則人們?cè)谝浦睴S或者開(kāi)發(fā)馭動(dòng)程序時(shí),就沒(méi)有必要對(duì)CPU進(jìn)行非常深入的了解,不必要了解某個(gè)寄存器的某個(gè)位是控制什么的,也沒(méi)有必要了解怎樣初始化某個(gè)控制寄存器等等。因此,BSP是一種能為程序開(kāi)發(fā)人員提供對(duì)硬件進(jìn)行描述性操作的開(kāi)發(fā)支律庫(kù)。描述性操作是指在控制硬件時(shí)只需知道要完成什么,而不需要知道如何去完成,每個(gè)操作都是一些單一的動(dòng)作.例如:對(duì)于設(shè)置一個(gè)串口的波特率,只需要知道是哪個(gè)申口,波特率是多少,而不需要知道要寫哪一個(gè)寄存器以及如何寫等。在利用BSP編寫驅(qū)動(dòng)程序時(shí),編程人員只需要了解該驅(qū)動(dòng)程序的初始化順序以及初始化的內(nèi)容,而不需要了解初始化的具體細(xì)節(jié)就能完成驅(qū)動(dòng)程序??梢源蟠蟮靥岣吖ぷ餍省2⑶覍?duì)于硬件的具體細(xì)節(jié)設(shè)1l`是在驅(qū)動(dòng)程序中最容易出錯(cuò)的地方,而利用BSP支撐庫(kù)則可以大大地減少出堵的可能性。在BSP支排庫(kù)中,除了包含對(duì)硬件的描述性操作部分的代碼外,還包含了對(duì)目標(biāo)板的初始化部分、中斷管理部分以及一些簡(jiǎn)單的驅(qū)動(dòng)程序程序單元。這樣的BSP可以不依賴于任何操作系統(tǒng)和駱動(dòng)程序,但是可以作為操作系統(tǒng)和驅(qū)動(dòng)程序的開(kāi)發(fā)支排庫(kù),可以非常方便地移植或者開(kāi)發(fā)操作系統(tǒng)與驅(qū)動(dòng)程序。在最好的情況下,操作系統(tǒng)與駱動(dòng)程序的移植只需要更換相應(yīng)平臺(tái)下的BSP支排庫(kù)即可完成移植。BSP是對(duì)目標(biāo)系統(tǒng)的軟件支持,是一些硬件具體的函數(shù)的集合,主要完成下面的功能:[!--empirenews.page--]

(1) 在系統(tǒng)啟動(dòng)時(shí),對(duì)目標(biāo)系統(tǒng)進(jìn)行硬件初始化;

(2) 提供對(duì)目標(biāo)系統(tǒng)設(shè)備的接口.如時(shí)鐘、Ethernet控制器、串行芯片和SCSI控制器在PSOS 中,對(duì)于不同的開(kāi)發(fā)系統(tǒng),其不同的特性在板級(jí)支持包BSP的bsp.h 文件中作了具體的定義。例如基本特性,包括處理器類型BSP_CPUFAMILY(PoweiTC,68000,X86和1960等),具體的處理器(PPC604和PPC603等),還有浮點(diǎn)支持BSP_FPU,字符模式選擇BSP間的開(kāi)始地址。其它的如串行通道特性、LAN接口特性ENDIAN等,BSP_RAM_BASE RAM空、共享存儲(chǔ)器通信以及板級(jí)支持包參數(shù)設(shè)定的缺省值。bsp.h ,bspcfg.h 和bspcfg.c 文件提供了在應(yīng)用程序編譯時(shí)對(duì)某些BSP特性進(jìn)行配置是必要的。BSP進(jìn)行配置的選項(xiàng)和實(shí)現(xiàn)。應(yīng)用程序?qū)?,BSP_ LANI表明BSP是否需要LAN驅(qū)動(dòng),可以設(shè)置為是或否。這個(gè)參數(shù)會(huì)被多個(gè)文件使用,包括是否編譯和建立LAN驅(qū)動(dòng),讓操作系統(tǒng)支持LAN操作目標(biāo)系統(tǒng)在復(fù)位后,要做的第一項(xiàng)工作就是對(duì)硬件設(shè)備進(jìn)行初始化,執(zhí)行Hwdinit函數(shù)。該函數(shù)完成在C中無(wú)法進(jìn)行的初始化任務(wù),Initboard函數(shù)在C代碼繼續(xù)板級(jí)初始化,這通常被稱為硬件初始化(hardware initialization),相應(yīng)的sysinit函數(shù)完成非硬件初始化任務(wù)(software initialization)。在Hwdinit中BSP中對(duì)具休的處理器配置步驟如下

(1) 設(shè)置MSR,包括校驗(yàn)、優(yōu)先級(jí)模式、禁止中斷、禁止地址轉(zhuǎn)換。即extern unsigned long ppcMSRrd(void);

(2 )給減計(jì)數(shù)器處置,調(diào)用ppcDECwr,把值寫人DE(,即exter nvoid ppcDECwr(unsignedl ongv alue);

(3) 禁止指令和數(shù)據(jù)Caches,即exter nunsigned long SysDcachelnhibit(void); exter nvoid SysIcacheInhibit(void);

(4) 初 始 化核心寄存器,包括MachineS tatusR egister( MSR) //機(jī)器校驗(yàn)使能,中斷可恢復(fù)Instruction Support Control Register (ICTRL) / /開(kāi) 發(fā) 端 口捕 獲 使能Debug Enable Register (D ER O) // 關(guān) 閉調(diào) 試 中 斷Interrupt Cause Register( ICR ) / /關(guān) 閉中 斷 事 件Internal Memeory MapRegister (IMMR ) // 設(shè) 里 內(nèi)部 存 儲(chǔ) 區(qū) 地 址System Interface Unit (SIU )

Module Configuration Register ( SIUMCR )Reset Status Register RSR) //復(fù) 位 狀 態(tài) 控制

(5)使能減法計(jì)數(shù)器。

(6)初始化片選寄存器。(對(duì)Flash內(nèi)存)

(7)確定DRAM的類型,設(shè)UPMX初始化表,即extern HdwInitDRAM(void)為了通過(guò) UPMX訪問(wèn)外部不同結(jié)構(gòu)和速率DRAM,生成相應(yīng)的初始化表,可以使用Motorola提供的MCUinit軟件來(lái)生成。

(8)把 Data Section從FlashROM拷貝到RAM。根據(jù)硬件配宜,這是可選的,通常不作.最后 , 根 據(jù)具體的目標(biāo)系統(tǒng)設(shè)It合理的系統(tǒng)參數(shù),通過(guò)棋板建立設(shè)備接口,編寫編譯文件和鏈接文件把BSP和操作系統(tǒng)鏈接起來(lái)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉