客戶選擇單板計算機的最重要因素不是價格,性能或可用I/O,而是可用性研究表明,軟件和開發(fā)工具。精心設(shè)計的電路板支持包是此類支持的關(guān)鍵部分,可能是確保客戶無縫集成不斷擴展的單板計算機功能的最重要的單一組件。精心開發(fā)的電路板支持包使客戶能夠?qū)W⒂?a href="http://m.xsypw.cn/v/tag/527/" target="_blank">操作系統(tǒng)和應(yīng)用程序,有助于縮短學(xué)習(xí)時間,并有可能縮短產(chǎn)品上市時間。
除了縮短開發(fā)時間外,電路板支持包還可以幫助客戶充分利用單板計算機的全部內(nèi)置功能。上文引用的研究由EE Times母公司CMP Media Inc.的Jerry Krasner于1999年完成,該研究還表明,選擇板載實時操作系統(tǒng)(RTOS)的主要標(biāo)準(zhǔn)是性能。電路板支持包為上層RTOS奠定了基礎(chǔ),有助于確保其整體速度和可靠性。
電路板支持包的想法遠非新的。其主要目標(biāo)是將OS核心與硬件隔離開來,使其在一個處理器系列中可移植。創(chuàng)建板支持包的過程有時被稱為“移植”。板級支持包通常由三個主要組件組成:將單板計算機初始化為已知狀態(tài)的固件,基本驅(qū)動程序集和所謂的引導(dǎo)監(jiān)視器。
固件組件對于每個董事會;它包含初始化處理器和總線,設(shè)置仲裁,設(shè)置配置寄存器等的例程?;掘?qū)動程序集至少包含定時器驅(qū)動程序和串行端口(如果存在),以及以太網(wǎng),小型計算機系統(tǒng)接口和其他接口的可選驅(qū)動程序。
啟動監(jiān)視器是一個允許的應(yīng)用程序用戶通過串行或以太網(wǎng)鏈接連接到單板計算機并下載系統(tǒng)的其余部分,包括操作系統(tǒng)和應(yīng)用程序。如果操作系統(tǒng)已經(jīng)在板載閃存中,則啟動監(jiān)視器可以立即加載并執(zhí)行代碼。引導(dǎo)監(jiān)視器提供了一種將代碼下載到目標(biāo)單板計算機的方法,而無需使用聯(lián)合任務(wù)操作組(JTAG)調(diào)試器等硬件輔助工具。
當(dāng)從裸板開始時,開發(fā)板支持包的過程應(yīng)該從編寫初始化代碼開始。通常,您需要學(xué)習(xí)和使用匯編語言。但是,重要的是將匯編的范圍限制為基本數(shù)據(jù)和寄存器集初始化,剩余部分用于C語言等高級語言。編譯器繼續(xù)改進,生成更有效的代碼,閃存大小現(xiàn)在已經(jīng)非常大了。
在某些體系結(jié)構(gòu)中,您可能對代碼大小與速度的控制更為嚴(yán)格。例如,ARM Thumb兼容處理器允許在同一文件中為不同的代碼塊選擇16位或32位指令集。作為一般規(guī)則,將程序集限制為板支持包中的單個文件,并確保為代碼和數(shù)據(jù)提供廣泛的注釋。在開發(fā)的這個階段,您可以使用能夠直接訪問板上硬件的硬件輔助調(diào)試工具(例如JTAG)。最好的工具甚至可以為您的電路板或類似電路板提供預(yù)定義的寄存器組,以備編輯和下載。
如果您計劃為單板計算機使用不同的操作系統(tǒng),則下一個合乎邏輯的步驟可能是定義和開發(fā)特定的API以及基礎(chǔ)功能,以處理您在船上的大部分或全部組件。這有時被稱為微代碼庫 - 其目的是為開發(fā)人員提供他們可能使用的任何特定應(yīng)用程序和操作系統(tǒng)的構(gòu)建塊。這種方法提供了更大的靈活性,但消耗更多的時間和工程工作,因為API的結(jié)構(gòu),設(shè)計和有效性成為高優(yōu)先級。此類API可以在樣本開發(fā)系統(tǒng)中找到,例如ARM Integrator系列或Intel IXP1200。
但是,在大多數(shù)情況下,您將專注于為特定操作系統(tǒng)開發(fā)板級支持包。在這種情況下,您可以在完成初始化代碼后開始開發(fā)基本驅(qū)動程序。這些通常包括定時器和串行端口的驅(qū)動程序。定時器支持對于OS功能至關(guān)重要,除非在定時器內(nèi)置于處理器的情況下,OS核心中包含支持。如果您計劃使用啟動監(jiān)視器,則必須使用串行端口驅(qū)動程序。以太網(wǎng)可以用作串行的高速選項。
在開發(fā)驅(qū)動程序時,盡量避免靜態(tài)資源配置,尤其是在使用PCI總線時。支持動態(tài)編碼的額外工作可能會在開發(fā)的后期階段支付紅利,此時您需要添加對其他設(shè)備的支持。使代碼盡可能模塊化非常重要 - 不同組件的代碼必須位于不同的文件中,具有清晰的頭文件結(jié)構(gòu),并且必須包含記錄良好的配置文件。
有一些爭論是否必須啟動監(jiān)視器。對于最終用戶來說,它可以是一個方便且有吸引力的選擇。引導(dǎo)監(jiān)視器代表了很大一部分代碼,您應(yīng)該從操作系統(tǒng)方面作為組件進行開發(fā)。這意味著您需要決定是否應(yīng)將其編寫為獨立于硬件。因為它將使用您提供的驅(qū)動程序,所以可以編寫一次并為每個特定處理器系列編譯,而不是針對特定的板。這消除了將這種支持集成到新設(shè)計中的負(fù)擔(dān),但是應(yīng)該仔細(xì)測試引導(dǎo)監(jiān)視器并提供源代碼。
如果您確定自己的話,沒有必要提供啟動監(jiān)視器??蛻魧⑹褂肑TAG調(diào)試器等工具開發(fā)其他驅(qū)動程序或組件。這些工具執(zhí)行啟動監(jiān)視器的功能,并使用主機和單板計算機之間的相同物理接口捆綁了許多其他功能和選項。
您應(yīng)該選擇基于a的開發(fā)和調(diào)試工具。記錄穩(wěn)定和經(jīng)過驗證的性能,而不是使用最近才發(fā)布的高度復(fù)雜版本。您應(yīng)該仔細(xì)選擇硬件和軟件的混合,以便開發(fā)可靠,緊湊和優(yōu)化的代碼。如果您正在使用新設(shè)計的單板計算機的第一個原型,用于幫助檢測硬件錯誤的總線分析器可能是一項寶貴的投資。
執(zhí)行新的板級支持包代碼在一臺新的單板計算機上,即使您認(rèn)為代碼沒有錯誤,也可能并且經(jīng)常會帶來意想不到的結(jié)果。掛起,神秘的中斷和數(shù)據(jù)傳輸錯誤只是可能困擾新的電路板支持包的令人不快的行為的幾個例子。
首次測試
始終使用書面且明確標(biāo)識的測試規(guī)范測試新的電路板支持包。規(guī)范應(yīng)涵蓋系統(tǒng)和總線速度,高速緩存打開和關(guān)閉,數(shù)據(jù)大小和傳輸速度,輪詢和中斷模式以及錯誤檢查的所有可能組合。軟件,特別是為新硬件平臺開發(fā)時,很少沒有錯誤;堅實的測試規(guī)范將幫助您識別并及時解決問題。
除了“基本”測試規(guī)范外,通常建議開發(fā)壓力測試或應(yīng)用程序,特別是如果該板是用于軍隊或通信市場,可靠性至關(guān)重要。一系列精心設(shè)計的壓力測試可以幫助您和您的客戶放心,該板的設(shè)計具有足夠的安全裕度,能夠承受最惡劣的預(yù)期工作條件。正如本文開頭所指出的,在選擇單板計算機供應(yīng)商時,優(yōu)先支持是第1號標(biāo)準(zhǔn)。新板與測試規(guī)范(基本和壓力)的一致性是提供此類支持的基本要素。
許多供應(yīng)商和獨立組織也提供驗證服務(wù)。例如,WindRiver提供源代碼形式的驗證測試套件及其Tornado板支持包Developer's Kit。一旦您的電路板支持包成功通過工具包中的測試套件,WindRiver將為為VxWorks RTOS編寫的電路板支持包提供付費驗證和合規(guī)性認(rèn)證。在大多數(shù)情況下,RTOS供應(yīng)商至少提供了一個移植指南,以及類似于WindRiver提供的工具。
后PC時代的一個明顯趨勢是系統(tǒng)等領(lǐng)域的設(shè)計復(fù)雜性日益增加片上(SoC),網(wǎng)絡(luò)處理器,便攜式系統(tǒng)以及數(shù)據(jù)通信和電信應(yīng)用。供應(yīng)商正忙于通過將多種功能集成到一塊電路板上來提供經(jīng)濟高效的解決方案。
例如,Cirrus Logic的MSP(市場專用處理器)Maverick EP72111將ARM720T內(nèi)核與音頻接口,LCD控制器集成在一起,DRAM控制器,同步串行,ROM,SDRAM,UART,紅外,通用I/O,以太網(wǎng),鍵盤和PCMCIA。英特爾的IXP1200架構(gòu)將StrongARM內(nèi)核與另外六個稱為微引擎的特定內(nèi)核相結(jié)合。在諸如此類的系統(tǒng)中,固件的大小與OS加上應(yīng)用程序映像相當(dāng)甚至超過它并不罕見。
新面孔
在世界范圍內(nèi)SoC設(shè)計,新的接口 - 包括通用串行總線(USB)和FireWire(IEEE 1394) - 正在從PC世界遷移。新PC中包含的USB端口很有可能成為事實上的首選接口,采用新的USB 2.0規(guī)范,其速度遠遠高于目前常用的USB 1.1。
內(nèi)置-in support
許多RTOS供應(yīng)商,包括Microware和WindRiver,已經(jīng)在其操作系統(tǒng)中構(gòu)建了USB支持; Microware聲稱USB 2.0兼容性。在單板計算機中USB替換或與以太網(wǎng)共存只是時間問題。當(dāng)然,對于開發(fā)人員來說,這意味著在板級支持包中增加了USB支持。 FireWire目前提供400-Mbit/秒的實時性能,為那些處理視頻信息的應(yīng)用程序提供了極具吸引力的解決方案。
在電信市場中,對熱插拔應(yīng)用的需求強勁。增加熱插拔支持,特別是對于CompactPCI系統(tǒng),可以使您的電路板支持包對服務(wù)于該市場的開發(fā)人員更具吸引力。有幾種工具可以簡化熱插拔感知驅(qū)動程序的開發(fā)。
最靈活,最強大的電路板支持包解決方案將包括一個能夠與應(yīng)用程序交互的設(shè)備管理器,操作系統(tǒng)核心和用戶,除了提供動態(tài)加載和卸載驅(qū)動程序,系統(tǒng)模塊或服務(wù)的請求外。
總體信息很明確:現(xiàn)在在板支持包的設(shè)計概念上進行的投資將極大地塑造未來單板計算機。無論是通過協(xié)作方式還是由個別公司制定,此類投資都應(yīng)為在此環(huán)境中工作的所有開發(fā)人員創(chuàng)造優(yōu)勢。
-
電路板設(shè)計
+關(guān)注
關(guān)注
1文章
130瀏覽量
16904 -
PCB打樣
+關(guān)注
關(guān)注
17文章
2977瀏覽量
22398 -
華強PCB
+關(guān)注
關(guān)注
8文章
1831瀏覽量
28493 -
華強pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
43797
發(fā)布評論請先 登錄
為什么DSP對音頻設(shè)計至關(guān)重要?
天線系統(tǒng)在NFC設(shè)備中至關(guān)重要
電鍍對印制電路板的重要性有哪些?
pcb電路板常見的用途有哪些?
PCB電路板散熱技巧是怎樣的?
pcb電路板螺紋的重要性
電路板檢測工具都有什么
電路板檢修用什么檔位好
電路板上的熱敏電阻有什么作用
耐壓絕緣測試儀在電路板應(yīng)用

電路板元件保護用膠

評論