版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、寫這篇文檔是為以前沒有接觸過dvd項目的工程師提供一些咨詢,讓你們能夠在最短的時間里上手。在這篇文檔里面包括以下內(nèi)容:一、DVD的軟件/硬件平臺二、配置樣機三、程序的調(diào)試四、程序的DownLoad五、系統(tǒng)的軟件流程六、點亮dvd上的顯示屏七、按鍵的定義八、UI(User Interface)修改九、工程中常見問題解答1、 DVD的軟件/硬件平臺我們使用的芯片是MTK(聯(lián)發(fā)科技)的芯片,MTK系列的芯片有:1389B,1389C,1389D,1389F,1389HD等。怎樣從芯片上看出目前使用的芯片的型號了?如果一個芯片的編號為:MT1389DE0421-CWSD14JJ,數(shù)字1389+橫杠后的
2、字母“C”就是它的型號,這是一款1389C系列的芯片。MTK視頻解碼,伺服等集成在芯片里面,音頻DAC有的芯片有集成,有的沒有。MTK主要的外圍芯片有:flash;內(nèi)存dram;控制loader(光驅(qū))動作的驅(qū)動芯片;eeprom;flash是用來保存目標文件target.bin;在配置樣機的時候,我們需要了解的是內(nèi)存dram的大??; eeprom芯片用來保存dvd中菜單里面的設(shè)置;如果是一款高清的平臺,它還需要一顆MT1392的芯片。MTK芯片是由RISC、DSP、C51以及時鐘、接口等部分組成。其中C51主要完成UI部分的工作,包括OSD、VFD、IR及IR的處理等。下面所說的程序都是指C
3、51程序。程序使用的是c51的編譯器,如果把c51的編譯器放在C盤,在設(shè)置環(huán)境變量的時候設(shè)置為:C:C51;現(xiàn)在我們來看軟件部分:軟件部分可以看成有兩大塊構(gòu)成,在8032文件夾里面的文件屬于應(yīng)用層的,是我們可以看到并做修改的;另一部分是底層的risc,這部分的修改,我們是動不了的,需要有MTK自己去做修改。2配置樣機在做這個項目之前,我們先要拿到對應(yīng)的公版軟件;樣機不同,公版軟件的設(shè)置也不一樣。如果只是要簡單的讓機器跑起來,我們對樣機的配制主要是在vendor.h這個文件中進行修改:一、如果你的主芯片是1389c的,你需要打開下面的宏定義:#define MT1389_REV_C二、根據(jù)dra
4、m的大小來定義dram,如果你的dram是8m的:#define DRAM_SZ DRAM_8M如果你的dram是由兩塊2m的芯片組成還需要打開下面的定義:#define DRAM_CASCADE三、關(guān)于聲音的定義如果芯片內(nèi)置D/A,則需要打開以下定義:#define INT_ADAC如果是外置的則需要關(guān)掉這個定義,接下來要打開makefile文件,進行Audio DAC Config的配置:關(guān)掉ADAC_DEF = _NPADAC_這個語句:#ADAC_DEF = _NPADAC_接下來根據(jù)聲音是左對齊、右對齊、I2S等格式,打開相應(yīng)的一個定義,如果聲音是I2S格式,則可以打開:ADAC_D
5、EF = _CS4340_接下來就是要選擇risc,點亮dvd上的顯示屏和按鍵的定義在后面的章節(jié)中將會講到;選擇完正確的risc后就可以進行到接下來的工作:編譯調(diào)試。3、程序的調(diào)試程序是通過使用dos命令,調(diào)用批處理文件進行編譯連接的,首先要進入到8032文件所在的路徑,如果我的8032的文件在以下路徑:D:test_vfdsample_3ver5048ver50488032調(diào)用批處理進行編譯,如果編譯出來的CODE超過1M,需要把批處理中的set FLASH_SZ=1改成set FLASH_SZ=2,再重新編譯。怎樣查看編譯結(jié)果了?一是直接在dos里面查看,這樣的編譯信息是不詳細的。二是在8
6、032文件下面的文件名為a的里面查看,可以以文本文件的形式打開,這個文件里面的編譯信息,這里面的信息是很詳細的。在編譯的過程中會出現(xiàn)L15,L16這樣的警告,這樣警告的出現(xiàn)是有的函數(shù)或是變量寫出來后沒有被使用所出現(xiàn)的警告,這類警告是不需要管的;如果出現(xiàn)L1,L2之類的警告,就必須找出問題,消除這樣的警告。還有其他在程序中自己造成的語法編譯錯誤,則需要根據(jù)編譯提示去自己消除這樣錯誤!編譯通過后,需要再調(diào)用批處理MERGE79來對8032 CODE和RISC CODE進行合并,最后在8032文件夾里面會生成一個target.bin文件,我們接下來做的事情就是把這個文件DownLoad到dvd樣機里
7、面去。4、程序的DownLoad要把編譯好的程序Doawload到dvd樣機里面去,可以使用專用燒寫工具,也可以使用MTK提供的mtktool,它的界面如下:其中bin file的路徑是指向target.bin的,而backup file是上傳dvd里面target.bin的路徑。程序通過串口download到dvd機里面去,所有的準備工作做好了以后按upgrade進行程序的download。程序download完以后,要給樣機斷電,然后重新啟動,樣機才會開始工作。如果打開了RS232_LOG這個宏定義,還需要按一下上面的那個reset的紅色箭頭才能啟動!5、系統(tǒng)的軟件流程:系統(tǒng)的軟件流程可以
8、分為四大部分:啟動流程、按鍵處理流程、UOP處理流程、OSD刷新顯示流程。1、啟動流程:樣機啟動后首先進行初使化,如果系統(tǒng)是待機狀態(tài)要等待按鍵來喚醒機器,如果不是則會進入主循環(huán)。main()STANDBYGetInitState() /取初始化狀態(tài)YNPowerDownResetHardware()SetDRAMType()/設(shè)置dramMpegPowerDown()ResetHardware()/Reset Hardwarewhile (_bIRKey != IR_POWER) mainloop()/主循環(huán)&& (_bIRKey != IR_EJECT)等待power/eje
9、ct鍵喚醒2、按鍵處理流程:系統(tǒng)每隔20ms會發(fā)生一次中斷,dvd的OSD刷新,按鍵處理,碟片播放控制命令的處理等都會在20ms內(nèi)處理完成!vTimer20ms(void)這個函數(shù)是在Timer.c里面的!vTimer20msvUITimer() SmTimer /UOP處理 vOSDCoreTimer/OSD刷新 vGetCurrKey()/有沒有遙控器按下 vIrTimer()/有按鍵則處理它 vPlayerKeyProc()/分類處理fgSCRSAVKeyProc 、屏保狀態(tài) vUpdateInputState fgISOKeyProc 輸入狀態(tài) ISO碟 fgGotoState fgI
10、nitKeyProc Goto狀態(tài) Init狀態(tài) fgComKeyProc ComKey處理3、UOP處理流程UOP是用戶操作(user operation)的縮寫,用戶發(fā)送操作命令,當這個命令被執(zhí)行完后會返回一個信息bCOMHandleUopRet()、bDVDHandleUopRet()等等,接著去更新共享區(qū)的信息vHandleInfoUpdate(),dvd機根據(jù)這些信息再去執(zhí)行后面的操作用戶操作及處理的流程如下:SmTimer vHandleSm() bCOMHandleUopRet() vSmUpdate() bDVDHandleUopRet() bHandleUOPRet() bV
11、CDHandleUopRet() vHandleInfoUpdate() bISOHandleUopRet() 、SI_PBC_GRPSI_NV_GRPSI_STREAM_STATUS_GRP 、vGroupPbcUpdatevGroupNvUpdatevGroupStreamUpdate4、OSD刷新顯示流程:vOsdCoreTimer() vOsdCoreRefresh() vOsdCorelayer2Refresh() vOsdLayer1Refresh() 六、點屏使用工具VFD TOOL“”。首先,連接PC Com1與DVD之間的RS232 cable,同時打開vendor.h里的定
12、義:#define TEST_VFD,然后將程序重新編譯,把生成的target.bin文件dowenload到flash里,等到dowenload完畢,重新開機后我們就可以開始點屏了。如果電腦屏幕顯示: Please check is “Rs232 Com has been used”,請關(guān)掉所有使用串口的程序并重新運行VFD TOOL。運行工具VFD TOOL,顯示出一個界面,如下:利用工具VFD TOOL可以取得vfd屏,面板按鍵,遙控按鍵的碼值,但不用每一項都調(diào)試,可根據(jù)需要選擇。首先,在Select Serial Port欄里選擇COM1(一般情況)。“Test VFD” :點擊進入v
13、fd屏設(shè)置?!癟est VFD Key” :點擊進入vfd面板按鍵設(shè)置?!癟est IR Key” :點擊進入遙控按鍵設(shè)置。如果需要保存文件(*.vfd),點擊按鈕“Save to File” ,然后根據(jù)提示操作。平時最好養(yǎng)成保存文件的習(xí)慣,防止在點屏?xí)r出現(xiàn)意外,文件丟失后又要重新點屏。如果需要打開已經(jīng)保存的文件(*.vfd),點擊按鈕“Load from File” ,然后根據(jù)提示進行查找。點屏完畢后,保存生成的(*.vfd)文件,同時點擊“Make Data File”可以生成兩個文件vfd_cut.h 和vfd_func.h。把它們拷貝到usedater(8032customdemous
14、erdata)目錄下,替換掉原來的。注意:點屏完畢后應(yīng)該先關(guān)掉定義/#define TEST_VFD,再重新編譯生成“” ,download完成后,重新開機即可。“Reset RS232” :用來重新連接COM口?!癈lose Tool” :點擊該按鈕,退出工具VFD TOOL。1、 vfd顯示Test VFD選擇Test VFD后,會出現(xiàn)以下界面:首先根據(jù)vfd的驅(qū)動IC(16311、16322等)選擇工作模式:選定一個工作模式后,點擊按鈕“Turn all on” ,檢查vfd屏上的每一個segment是否都被點亮。如果沒有完全被點亮,則需要重新選擇工作模式,直到全部點亮,再進行點屏。(1
15、) 設(shè)置FortA. 在Fort Size一欄選擇需要點亮的fort的數(shù)目,默認為9,一般把不需要的fort清零,不要隨意刪除不需要的Fort,并且不要隨意更改Fort的排序;B. 在Seg number一欄選擇vfd segment的段數(shù)(8/14);C. Fort Pos的數(shù)字表示每個Fort的順序,都是默認值,可以不用選擇;D. 在右邊的小方格里打勾來選擇地址;E. 在InRamBit一欄可以看到選中的當前地址;F. 在Segment List選擇每一個需要點亮的segment(AR);G. 按Assign鍵更新該segment的地址;H. 按Clean鍵清空該segment的地址,然后
16、可以重新指給它新的地址;I. 按ShowFort在vfd屏上顯示已經(jīng)點好的fort或segment。(2) 設(shè)置IconA. Updata Icon:更新當前選中的Icon的地址;B. Delete Icon:刪除當前選中的Icon;C. Add Icon:添加新的Icon,位置在Icon List的最后;D. Clear Icon:清空當前選中的Icon的地址;E. Clear All:清空所有的Icon的地址;F. Insert Icon:插入一個新的Icon位置在Icon List的當前選中的Icon的后面;G. Show Icon:把已經(jīng)點好的Icon在vfd屏上顯示出來。(3) 字母
17、設(shè)定頁 在該頁可以對26個英文字母(包括大小寫)和10個阿拉伯數(shù)字進行設(shè)定。一般都采用工具已經(jīng)編輯好的,但如果有特殊需要,可以通過點擊“Add Char”鍵進行添加。(4)設(shè)置TextA.在Char List中選擇Seg_Char(8/14);B.在Text List中選擇需要的text,根據(jù)Char Array中的位置從Char List選擇相應(yīng)的字母,按Updata Char鍵,當前選中的字字母就被賦予了新的地址;注意:這個過程是一個字母一個字母進行的。C. Clear Char:清空選中的Char;DClear Txt:清空選中的Text;E. Clear All:清空所有的Text;F
18、. Show Txt:在vfd屏上顯示一個Text;G .Add Txt:添加一個新的Text。(5)設(shè)置Wheel A.在右邊的小方格內(nèi)打勾,相應(yīng)的地址就會在InRamBit內(nèi)顯示,在Wheel List中選擇相應(yīng)的地址,按Updata Point鍵,被選中的碼值就被新的碼值所替換了;注意:根據(jù)Wheel的葉片顯示順序進行點屏。B. Insertr Point:插入一個Point;CClear Point:清空選中的Point;D. Clear All:清空所有的Point;E. Show Point:在vfd屏上顯示點好的Point;F .Add Point:添加一個新的Point。2面板
19、首先,你要選擇vfd 驅(qū)動IC的型號(16311或16312) ,然后點擊Connect Key 按鈕。選擇VFD key,給DVD發(fā)送命令,工具準備接收面板上的鍵值,鍵值將顯示在Receive Key Value。在Key List上選擇按鍵的名字,按Assigned鍵,按鍵的名字將會顯示在右上角的方框里??梢杂肅lear Key清空選中的按鍵碼值??梢酝ㄟ^Make Key File保存寫好的碼值。具體面板操作如下圖:3遙控首先選擇Connect Key按鈕,然后按遙控上的按鍵,向DVD發(fā)出命令,工具將要接受按鍵的碼值、客戶碼等,他們將分別顯示在Key Value、Custom Code和C
20、ustom Sub Code方框里。在Key define List上選擇按鍵的名字,點擊Assigned鍵,按鍵的名字將會顯示在右上角的方框里??梢杂肅lear Key清空選中的按鍵碼值。可以通過Make Key File保存寫好的碼值。具體面板操作如下圖:七、按鍵定義 所有的按鍵定義都可以在keydef.h文件里找到;按鍵執(zhí)行可以從keyproce.c文件里往下看;遙控器的定義在irkey.c文件里。除了用第六點中所說方法可以取得按鍵碼值外,還可以利用工具MTK TOOL“” 。在download程序后,選擇工具欄 “” 的“” ,就可以對按鍵進行控制了,這樣可以在沒有遙控器的時候替代遙控
21、,保證工作正常進行。由于60XX和70XX軟件的特殊性,不能直接通過VFD TOOL進行點屏,可以通過以下方法取值:把vfd屏掛到可以用89C或者其他支持tool的平臺上去,我們可以直接用89C軟件中的vfd_cus.h和vfd_func.h(ver50488032customdemouserdata)文件,然后把這兩個文件中的碼值按照一定的順序填入6027軟件中的vfdspec.h(ver60278032customdemouserdata)文件里,填的時候注意按鍵碼值與位置一一對應(yīng)。 此外,要獲得遙控或者面板的碼值,我們可以在軟件中添加“debug”信息,利用工具MTK TOOL進行打印。
22、將打印出來VFD碼值信息填入vfdspec.h文件里的相應(yīng)位置,Irkey的碼值信息填入irkey.c中的相應(yīng)位置就可以了。具體操作如下。Debug信息:DRS232LogS(char *pcStr);DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);(1)獲取VFD按鍵碼值:static void vVfdKeyScan(BOOL fgPwrDown) large if(_bVfdKeyScan != IR_NONE) / the Key scan haven't been processed return; #ifdef RS23
23、2_LOG DBGLogS("n vfdkey = "); DBGLogB(i, 0, 0, 0);#endif _bVfdKeyScan = _pbVfdKeyScani;(2)獲取Irkey按鍵碼值:void vIrRecv(BYTE bIRH) switch (_bIRBitCnt) case 32: _bIRStatus = IR_WAIT_NEW_CODE; if (_bIRKeyBuf != (_bIRKeyBufInv) return; #ifdef RS232_LOGDRS232LogS("nIR_KEY_VALUME = 0x");DR
24、S232LogB(_bIRKeyBuf, 0, 0, 0);#endif#if (IR_KEY_GAP_SIZE > 0) if (_bIRKeyBuf >= IR_KEY_GAP_START) _bIRKeyBuf -= IR_KEY_GAP_SIZE; #endif(3)記錄碼值信息將寫好的程序重新編譯,生成的target.bin文件download到flash里后,我們運行工具MTK TOOL。重啟(斷點再上電)DVD機后會發(fā)現(xiàn)DVD機沒有任何反應(yīng)!此時,選擇工具欄 “” 的“”一項,DVD機就可以啟動了,然后點擊“”按鈕,會出現(xiàn)一個文檔形式的界面。隨后每按面板或是遙控上的一
25、個按鍵,就會出現(xiàn)一個相應(yīng)的碼值。把碼值信息記錄下來,然后填入軟件里對應(yīng)的文件就可以了。注意:選擇“debug”打印信息獲取碼值時,應(yīng)該打開vendor.h里的定義:define RS232_LOG。八、UI修改UI修改主要包括屏保、開機畫面、菜單,下面將分別進行介紹。1、屏保關(guān)于顯示客戶自己的屏保圖案:(1)準備一個16色,大小為158×94象素的BMP圖;(2)用osdedit工具軟件打開nui_rom.bin,添加準備好的BMP圖片;(3)修改ssbmp.c文件的函數(shù):void vBmpScrSaveInit(void) large.#ifdef SS_USE_ONE_BMPpb
26、Bmp0 = 1;#ifdef ALL_WB_USE_TRUECOLORpbBmp1 = BMP_DVD2; #elsepbBmp1 = BMP_DVD;#endif#else.(4)重新編譯生成“” ,download完成后,重新開機即可。2、 開機畫面(1) 先使用畫圖工具制作logo圖片(bmp格式),圖片的大小有四種格式分別為:NTSC:720X480像素;PAL:720X576像素;NTSC HALF:352X240像素;PAL HALF:352X288像素;圖片size越大生成的logo文件size也越大,因此該工具設(shè)有NTCS / PAL HALF這兩種格式以用來處理size較小
27、的圖片;(2) 將logo圖片放于工具相同目錄下;(3) DOS下運行工具,參數(shù)設(shè)定格式如下:“bmp2logo TV-Type Quan-Level filename”,其中:bmp2logo 為工具名;TV-Type 有NTSC、PAL、NTSC HALF、PAL HALF 四種;每種格式對應(yīng)的logo圖片大小可參照步驟一;Quan-Level 為質(zhì)量參數(shù),數(shù)值越大則對圖片的壓縮率越大,若使用NTCS / PAL HALF格式時,推薦使用值為5;Filename 為BMP圖片文件名;(4) 運行工具后會生成logo文件“”,將logo文件放入“8032customdemouserdata”
28、目錄中,替換原來的“”。重新編譯生成“” ,download完成后,重新開機即可。3、 菜單按【SETUP】鍵進入設(shè)定菜單,按左右鍵移動光標可以進行“通用設(shè)定、音頻設(shè)定、視頻設(shè)定、初期設(shè)定頁、密碼設(shè)定”選擇。菜單總的來說是由很多子菜單選項構(gòu)成的,再一級一級的往下分。菜單中各個選項的定義都可以在stpmenu.h中找到(如果是兩聲道的則要在stpmenu1.h中修改)。菜單修改的方法是靈活多樣的,下面就幾種典型的修改方法做介紹:(1) 添加刪除選項如果想把通用設(shè)定頁中的選項“Screen Saver”添加到音頻設(shè)定頁,可以通過以下步驟實現(xiàn):首先在軟件中找到“Screen Saver”的定義:/
29、Screen Savercode sData _rOptSSOn = OSD_MSG_ON, OSD_MSG_SS_ON, OSD_MSG_ON, SV_ON;/ 表示屏保狀態(tài)“開”code sData _rOptSSOff = OSD_MSG_OFF, OSD_MSG_SS_OFF, OSD_MSG_OFF, SV_OFF;/ 表示屏保狀態(tài)“關(guān)”code sData *_prDataSS = &_rOptSSOn, &_rOptSSOff;/ 表示屏保選項有兩個狀態(tài)code sEntry _rEntrySS = ENTRY_TYPE_GROUPBUTTON, NULL_BMP
30、, OSD_MSG_SCREENSAVER,OSD_MSG_SCREEN_SAVER,SCR_SAVER_POSITION,SI_SCR_SAVE_SWITCH, TBL_SIZE(_prDataSS) - 1, SV_ON, _prDataSS, bNormalVdo;/ Screen Saver End看明白定義后,可以把Screen Saver 的整個定義“copy” ,照搬到VideoPage下(程序中的位置),此舉是為了保證在調(diào)用到Screen Saver 選項的時候,確保Screen Saver已經(jīng)定義了,然后在code sEntry *_prEntryVdoPage = ;中添加“&_rEntrySS” ,同時把codesEntry *_prEntryGeneal = &_rEntrySS ;中的“&_rEntrySS”選項注釋掉,以及原來的Screen Saver定義的部分注釋掉,避免重復(fù)定義。這樣我們就完成了在一個菜單頁面下添加一個選項,同時在另一個頁面下刪除一個選項。其他子菜單的修改方法也類同。(2)多國語言 添加多國語言,首先需要一個支持多國
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度牧業(yè)產(chǎn)業(yè)扶貧項目承包合同范本3篇
- 2025版農(nóng)產(chǎn)品溯源與質(zhì)量認證服務(wù)合同3篇
- 遼寧省朝陽市北票市2024-2025學(xué)年七年級上學(xué)期1月期末道德與法治試題(含答案)
- 2025年度個人公司股權(quán)結(jié)構(gòu)調(diào)整合同4篇
- 二零二五年度某局勞務(wù)分包結(jié)算與數(shù)字化轉(zhuǎn)型戰(zhàn)略合同2篇
- 天然氣在科技創(chuàng)新中的地位考核試卷
- 家禽飼養(yǎng)業(yè)質(zhì)量品牌提升與市場競爭策略考核試卷
- 供應(yīng)鏈協(xié)同采購與供應(yīng)商管理考核試卷
- 儀器儀表制造業(yè)的持續(xù)創(chuàng)新能力考核試卷
- 2025版二零二五年度美發(fā)店房東租賃合同范本:租賃合作協(xié)議4篇
- 中醫(yī)診療方案腎病科
- 2025年安慶港華燃氣限公司招聘工作人員14人高頻重點提升(共500題)附帶答案詳解
- 人教版(2025新版)七年級下冊數(shù)學(xué)第七章 相交線與平行線 單元測試卷(含答案)
- GB/T 44351-2024退化林修復(fù)技術(shù)規(guī)程
- 從跨文化交際的角度解析中西方酒文化(合集5篇)xiexiebang.com
- 中藥飲片培訓(xùn)課件
- 醫(yī)院護理培訓(xùn)課件:《早產(chǎn)兒姿勢管理與擺位》
- 《論文的寫作技巧》課件
- 空氣自動站儀器運營維護項目操作說明以及簡單故障處理
- 2022年12月Python-一級等級考試真題(附答案-解析)
- T-CHSA 020-2023 上頜骨缺損手術(shù)功能修復(fù)重建的專家共識
評論
0/150
提交評論