設計中軟件開發(fā)首要搜羅啟動代碼的編寫、操作系統(tǒng)的移植、硬件驅動軌范和語音編、解碼和IP封裝、解封裝應用軌范。篇幅有限,本文僅介紹BSP移植。BSP即板級撐持包,其功能為硬件、軟件初始化、工程影像的下載和設備驅動等。
2.1 BSP的定制
無論是BootRom仍是VxWorks都要使用BSP代碼,BSP定制需要按照硬板設置裝備擺設、系統(tǒng)設計需求、軟件功能等現(xiàn)實情形?,F(xiàn)實開發(fā)過程中,為了縮短產(chǎn)物開發(fā)周期,凡是以WINDRIVER公司的BSP模板或者第三方公司供給的可供參考的BSP為基本,按照軟硬件具體設置裝備擺設進行改削,添加新的軌范驅動新增硬件和功能。本課題中先把APC860開發(fā)板的BSPMPC860TEVB拷貝到installdir:\Tornado\target\collfig\ppcs860目錄下,首要做下列改削。
2.1.1 config.h文件
按照現(xiàn)實情形,需要改削啟動行,內(nèi)存地址、容量等設置裝備擺設.?
??
2.1.3 romInit文件改削
romlnit.s模塊包含了VxWorks在ROM中的進口點romlnit(),它是單板上電往后最先執(zhí)行的匯編軌范代碼。該函數(shù)功能搜羅措置器的復位、內(nèi)存的初始化以及其他的最根基和需要的初始化工作。
??????? 需要改削的內(nèi)容有:內(nèi)部存儲器映射寄放器IMMR。該寄放器用來標識內(nèi)部地址空間的基址,將該寄放器設置為“FF000000”。
SIU模式設置裝備擺設寄放器SIUMCR。搜羅有外部總線仲裁器設置裝備擺設,外部master的撐持,DEBUG調試端口設置裝備擺設,系統(tǒng)接口引腳設置裝備擺設以及奇偶校驗撐持,將該寄放器設置為“00E10000”。
BSP中談判SDRAM的初始化過程,首先對MAMR寄放器的初始化,再獲得UPM的RAM陣列表的地址,然后將RAM陣列表地址中的值寫入MPC860 RAM WORDS ARRAY中,最后初始化OR以及BR寄放器。
2.1.4 ppcs860.h
ppcs860.h是參數(shù)設置裝備擺設頭文件,該文件包含年夜量宏界說,為使MPC860T正常運行且SCC串口工作在QMC和談透明模式,按照現(xiàn)實需要做了如下設置裝備擺設:
(1)改削系統(tǒng)常量對應的宏界說:SCCx參數(shù)在雙端口RAM中存儲的肇端地址、緩沖區(qū)描述符(BD)的基地址、緩沖區(qū)和BD的數(shù)目等;
(2)串口和時隙分配表的初始化,首要搜羅時隙分配、引腳分配等,經(jīng)由過程設置SI RAM參數(shù),劃定了每個邏輯通道對應的時隙和數(shù)據(jù)路由,本系統(tǒng)中選擇SCC2和TDMB接口實現(xiàn)QMC通信,引腳設置裝備擺設如下:
PC6 RSYNC,PA2 RXC,PA10 RXD,PA0 TXC。PA11 TXD
(3)SCC2初始化:設置SCC2工作在QMC模式;
(4)QMC全局參數(shù)初始化:MCBASE(多通道基地址指針),初始化為SCC2對應外部BD表的基地址,MRBLR(最年夜領受緩沖區(qū)長度),領受、發(fā)送時隙分配表肇端地址的指針(Rx S PTR,Tx S PTR),領受、發(fā)送時隙分配表當前時隙的指針(Rx PTR,TxPTR),間斷輪回表基地址(INTBASE),間斷輪回表下一可用進口的指針(INTPTR)等;
(5)QMC特定通道參數(shù)初始化:TBASE,RBASE(該邏輯通道的緩沖區(qū)描述符的肇端地址),TBPTR,RBPTR(當前發(fā)送、領受緩沖區(qū)描述符指針),TMR-BLR(最年夜領受幀長度)等。
2.1.5 驅動軌范
驅動軌范直接對硬件操作,實現(xiàn)硬件和操作系統(tǒng)、應用軌范之間的交互。需要自行編寫MPC860 SCC串口驅動軌范ppcs860QmcSio.c,通信平臺中SCC工作在QMC Transparent模式。ppcs860QmcSio.c文件中包含SIO_DRV_FUNCS結構體中界說的5個函數(shù)和間斷措置函數(shù)ppc860QmcInt()、Qmc邏輯通道復位函數(shù)ppc860QmcChannelReset()。ppc860SccIoctl()供給了一些設備節(jié)制選項,搜羅遏制數(shù)據(jù)傳送、察看當前通信狀況(余暇仍是忙)、輪詢或間斷模式選擇等;ppc860sccInt()措置QMC通道的間斷請求,經(jīng)由過程間斷體例實現(xiàn)數(shù)據(jù)的收發(fā)功能;ppc860SccStartuP()函數(shù)啟動一個發(fā)送周期;ppc860SccCallbackInstall()安裝回調函數(shù)。間斷措置函數(shù)的功能有:
(1)供給領受、發(fā)送間斷措置函數(shù),挪用回調函數(shù)完成設備和較高層和談之間的數(shù)據(jù)傳送。
(2)措置數(shù)據(jù)領受過程中呈現(xiàn)的領受數(shù)據(jù)過長,數(shù)據(jù)傳送被迫終止等異常。因為不需要QMC的輪詢模式,是以ppc860SccPollInput()和ppc860SccPollOutput()以NULL函數(shù)的形式實現(xiàn)。同時還要編寫sysSccSeri-al.c文件,改削sysLib.c文件和usrConfig.c文件。在sysSccQmc.c中供給SCC設備描述符的初始化例程、SCC間斷毗連例程等;經(jīng)由過程改削sysLib.c和usrCon-fig.c文件以實現(xiàn)VxWorks對QMC驅動軌范
?
電子發(fā)燒友App












評論