最新mtk-源程序解读.doc
《最新mtk-源程序解读.doc》由会员分享,可在线阅读,更多相关《最新mtk-源程序解读.doc(81页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datemtk-源程序解读mtk-源程序解读1、 按键扫描在文件8302customdemovdfVfd_hw.c。2、 遥控接收在文件8302ir_recv.cNEC format,更换遥控键功能在文件8032customdemoIrkey.cDFSM_NEW_REMOTE。3、 键功能码在文件8032keydef.h。注意:mtk系列处理器的操作都是以命令形式动作的,该d
2、emo里原有什么功能都可以在此处找到,只要给相应的功能码就可以;但是要新功能的话,就要另外编写处理程序?。4、 按键/遥控功能执行在文件play_non.c文件02227:BYTE bNONKeyMap(BYTE bKey) large5、 vTFTBackLightEnable();在Timer.c 00174和Init.c文件中;vTFTBackLightDisable()在Play-com.c 02553 和Init.c文件中。6、 写E2PROM:fgEepromWriteByte(WORD waddr,BYTE bDdata)large;在文件Eeprom.c-00451行读E2PR
3、OM:bEepromWriteByte(WORD waddr)large;在文件Eeprom.c-00405行DVD新手ABC 写这篇文档是为以前没有接触过dvd项目的工程师提供一些咨询,让你们能够在最短的时间里上手。在这篇文档里面包括以下内容:一、DVD的软件/硬件平台二、配置样机三、程序的调试四、程序的DownLoad五、系统的软件流程六、点亮dvd上的显示屏七、按键的定义八、UI(User Interface)修改九、工程中常见问题解答1、 DVD的软件/硬件平台1.1DVD的主芯片我们使用的芯片是MTK(联发科技)的芯片,MTK系列的芯片有:1389B,1389C,1389D,1389
4、F,1389HD等。怎样从芯片上看出目前使用的芯片的型号了?如果一个芯片的编号为:MT1389DE0421-CWSD14JJ,数字1389+横杠后的字母“C”就是它的型号,这是一款1389C系列的芯片。MTK视频解码,侍服等集成在芯片里面,音频DAC有的芯片有集成,有的没有。1.2MTK的其他外围芯片MTK主要的外围芯片有:flash,内存dram,控制loader(光驱)移动的芯片,eeprom;flash是用来保存目标文件target.bin;在配置样机的时候,我们需要了解的是内存dram的大小; eeprom芯片用来保存dvd中菜单里面的设置;如果是一款高清的平台,它的构成将是一款138
5、9B/HD+MT1392的芯片。1.3构建DVD的软件平台MTK芯片是基于C51单片机,程序使用的是c51的编译器,如果把c51的编译器放在C盘,在设置环境变量的时候设置为:C:C51;现在我们来看软件部分:软件部分可以看成有两大块构成,在8032文件夹里面的文件属于应用层的,是我们可以看到并做修改的;另一部分是底层的risc,这部分的修改,我们是动不了的,需要有MTK自己去做修改。2配置样机在做这个项目之前,我们先要拿到对应的公版软件;样机不同,公版软件的设置也不一样。如果只是要简单的让机器跑起来,我们对样机的配制主要是在vendor.h这个文件中进行修改:一、如果你的主芯片是1389c的,
6、你需要打开下面的宏定义:#define MT1389_REV_C二、根据dram的大小来定义dram,如果你的dram是8m的:#define DRAM_SZ DRAM_8M如果你的dram是由两块2m的芯片组成还需要打开下面的定义:#define DRAM_CASCADE三、关于声音的定义如果芯片内置D/A,则需要打开以下定义:#define INT_ADAC如果是外置的则需要关掉这个定义,接下来要打开makefile文件,进行Audio DAC Config的配置:关掉ADAC_DEF = _NPADAC_这个语句:#ADAC_DEF = _NPADAC_接下来根据声音是左对齐、右对齐、I
7、2S等格式,打开相应的一个定义,如果声音是I2S格式,则可以打开:ADAC_DEF = _CS4340_接下来就是要选择risc,点亮dvd上的显示屏和按键的定义在后面的章节中将会讲到;选择完正确的risc后就可以进行到接下来的工作:编译调试。3、程序的调试程序是通过使用dos命令,调用批处理文件进行编译连接的,首先要进入到8032文件所在的路径,如果我的8032的文件在以下路径:D:test_vfdsample_3ver5048ver50488032如果你的flash大小是2m的,请使用do2这个命令,如果是其他大小的直接使用do这个命令。怎样查看编译结果了?一是直接在dos里面查看,这样的
8、编译信息是不详细的。二是在8032文件下面的文件名为a的里面查看,可以以文本文件的形式打开,这个文件里面的编译信息,这里面的信息是很详细的。在编译的过程中会出现L15,L16这样的警告,这样警告的出现是有的函数或是变量写出来后没有被使用所出现的警告,这类警告是不需要管的;如果出现L1,L2之类的警告,就必须找出问题,消除这样的警告。这类问题主要是由于bank的地址空间不够造成的,需要把多出的目标文件移到较大的bank中去。那么怎么样知道哪个bank的空间有溢出了?在编译完后,我们可以查看8032文件里面的8032B.M51文件,那里面有各种变量的详细信息,每个bank的空间是64k的大小,举个
9、例子:在C O D E B A N K 1中,如果最后一个文件的起始地址是:FFF8H文件的大小是0009H,则bank1有溢出,需要把bank1中的目标文件移到别的bank中去!在8032文件里面有一个bl5_nui.dat文件,打开这个文件移动bank里面的obj文件。如果移动了上面bank中的obj文件,下面bank数组里的文件要跟着移动,在选择要移动的obj文件时,bank0里面的文件一般是不移动的。移动bank里的文件可能会出现不可预知的问题,移动成功后要测试样机,看看是否有新的问题出现!还有其他在程序中自己造成的语法编译错误,则需要根据编译提示去自己消除这样错误!编译通过后,在80
10、32文件里面会生成一个target.bin文件,我们接下来做的事情就是把这个文件DownLoad到dvd样机里面去。4、程序的DownLoad要把编译好的程序Doawload到dvd样机里面去,需要使用MTK提供的mtktool,它的界面如下:其中bin file的路径是指向target.bin的,而backup file是上传dvd里面target.bin的路径。程序通过串口download到dvd机里面去,所有的准备工作做好了以后按upgrade进行程序的download。程序download完以后,要给样机断电,然后重新启动,样机才会开始工作。如果打开了RS232_LOG这个宏定义,还需
11、要按一下上面的那个reset的红色箭头才能启动!5、系统的软件流程:系统的软件流程可以分为四大部分:启动流程、按键处理流程、UOP处理流程、OSD刷新显示流程。1、启动流程:样机启动后首先进行初始化,如果系统是待机状态要等待按键来唤醒机器,如果不是则会进入主循环。main()STANDBYGetInitState() /取初始化状态 Y NPowerDownResetHardware() SetDRAMType()/设置dramMpegPowerDown() ResetHardware()/Reset Hardwarewhile (_bIRKey != IR_POWER) mainloop()
12、/主循环& (_bIRKey != IR_EJECT)等待power/eject键唤醒2、按键处理流程:系统每隔20ms会发生一次中断,dvd的OSD刷新,按键处理,碟片播放的处理等都会在20ms内处理完成!vTimer20ms(void)这个函数是在Timer.c里面的!vTimer20msvUITimer() SmTimer /UOP处理 vOSDCoreTimer/OSD刷新 vGetCurrKey()/有没有遥控器按下 vIrTimer()/有按键则处理它 vPlayerKeyProc()/分类处理fgSCRSAVKeyProc 、屏保状态 vUpdateInputState fgIS
13、OKeyProc 输入状态 ISO碟 fgGotoState fgInitKeyProc Goto状态 Init状态 fgComKeyProc ComKey处理3、UOP处理流程UOP是用户操作(user operation)的缩写,用户发送操作命令,当这个命令被执行完后会返回一个信息bCOMHandleUopRet()、bDVDHandleUopRet()等等,接着去更新共享区的信息vHandleInfoUpdate(),dvd机根据这些信息再去执行后面的操作用户操作及处理的流程如下:SmTimer vHandleSm() bCOMHandleUopRet() vSmUpdate() bDV
14、DHandleUopRet() bHandleUOPRet() bVCDHandleUopRet() vHandleInfoUpdate() bISOHandleUopRet() 、SI_PBC_GRP SI_NV_GRP SI_STREAM_STATUS_GRP 、vGroupPbcUpdate vGroupNvUpdate vGroupStreamUpdate4、OSD刷新显示流程:vOsdCoreTimer() vOsdCoreRefresh() vOsdCorelayer2Refresh() vOsdLayer1Refresh() 六、点屏使用工具VFD TOOL“ ”。首先,连接PC
15、 Com1与DVD之间的RS232 cable,同时打开vendor.h里的定义:#define TEST_VFD,然后将程序重新编译,把生成的target.bin文件dowenload到flash里,等到dowenload完毕,重新开机后我们就可以开始点屏了。如果电脑屏幕显示: Please check is “Rs232 Com has been used”,请重新运行VFD TOOL。运行工具VFD TOOL,显示出一个界面,如下:利用工具VFD TOOL可以取得vfd屏,面板按键,遥控按键的码值,但不用每一项都调试,可根据需要选择。首先,在Select Serial Port栏里选择C
16、OM1(一般情况)。“Test VFD” :点击进入vfd屏设置。“Test VFD Key” :点击进入vfd面板按键设置。“Test IR Key” :点击进入遥控按键设置。如果需要保存文件(*.vfd),点击按钮“Save to File” ,然后根据提示操作。平时最好养成保存文件的习惯,防止在点屏时出现意外,文件丢失后又要重新点屏。如果需要打开已经保存的文件(*.vfd),点击按钮“Load from File” ,然后根据提示进行查找。点屏完毕后,保存生成的(*.vfd)文件,同时点击“Make Data File”可以生成两个文件vfd_cut.h 和vfd_func.h。把它们拷
17、贝到usedater(8032customdemouserdata)目录下,替换掉原来的。注意:点屏完毕后应该先关掉定义/#define TEST_VFD,再重新编译生成“target.bin” ,download完成后,重新开机即可。“Reset RS232” :用来重新连接COM口。“Close Tool” :点击该按钮,退出工具VFD TOOL。1、 vfd显示Test VFD选择Test VFD后,会出现以下界面:首先根据vfd的驱动IC(16311、16322等)选择工作模式:选定一个工作模式后,点击按钮“Turn all on” ,检查vfd屏上的每一个segment是否都被点亮。
18、如果没有完全被点亮,则需要重新选择工作模式,直到全部点亮,再进行点屏。(1) 设置FortA. 在Fort Size一栏选择需要点亮的fort的数目,默认为9,一般把不需要的fort清零,不要随意删除不需要的Fort,并且不要随意更改Fort的排序;B. 在Seg number一栏选择vfd segment的段数(8/14);C. Fort Pos的数字表示每个Fort的顺序,都是默认值,可以不用选择;D. 在右边的小方格里打勾来选择地址;E. 在InRamBit一栏可以看到选中的当前地址;F. 在Segment List选择每一个需要点亮的segment(AR);G. 按Assign键更新该
19、segment的地址;H. 按Clean键清空该segment的地址,然后可以重新指给它新的地址;I. 按ShowFort在vfd屏上显示已经点好的fort或segment。(2) 设置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.
20、Show Icon:把已经点好的Icon在vfd屏上显示出来。(3) 字母设定页 在该页可以对26个英文字母(包括大小写)和10个阿拉伯数字进行设定。一般都采用工具已经编辑好的,但如果有特殊需要,可以通过点击“Add Char”键进行添加。(4)设置TextA.在Char List中选择Seg_Char(8/14);B.在Text List中选择需要的text,根据Char Array中的位置从Char List选择相应的字母,按Updata Char键,当前选中的字字母就被赋予了新的地址;注意:这个过程是一个字母一个字母进行的。C. Clear Char:清空选中的Char;DClear T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 mtk 源程序 解读
限制150内