mtk-源程序解读

上传人:hs****ma 文档编号:557497898 上传时间:2022-11-09 格式:DOCX 页数:19 大小:767.31KB
返回 下载 相关 举报
mtk-源程序解读_第1页
第1页 / 共19页
mtk-源程序解读_第2页
第2页 / 共19页
mtk-源程序解读_第3页
第3页 / 共19页
mtk-源程序解读_第4页
第4页 / 共19页
mtk-源程序解读_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《mtk-源程序解读》由会员分享,可在线阅读,更多相关《mtk-源程序解读(19页珍藏版)》请在金锄头文库上搜索。

1、细心整理1、 按键扫描在文件8302customdemovdfVfd_hw.c。2、 遥控接收在文件8302ir_recv.cNEC format,更换遥控键功能在文件8032customdemoIrkey.cDFSM_NEW_REMOTE。3、 键功能码在文件8032keydef.h。留意:mtk系列处理器的操作都是以叮嘱形式动作的,该demo里原有什么功能都可以在此处找到,只要给相应的功能码就可以;但是要新功能的话,就要另外编写处理程序?。4、 按键/遥控功能执行在文件play_non.c文件02227:BYTE bNONKeyMap(BYTE bKey) large5、 vTFTBack

2、LightEnable();在Timer.c 00174和Init.c文件中;vTFTBackLightDisable()在Play-com.c 02553 和Init.c文件中。6、 写E2PROM:fgEepromWriteByte(WORD waddr,BYTE bDdata)large;在文件Eeprom.c-00451行读E2PROM:bEepromWriteByte(WORD waddr)large;在文件Eeprom.c-00405行DVD新手ABC 写这篇文档是为以前没有接触过dvd工程的工程师供应一些询问,让你们能够在最短的时间里上手。在这篇文档里面包括以下内容:一、DVD的

3、软件/硬件平台二、配置样机三、程序的调试四、程序的DownLoad五、系统的软件流程六、点亮dvd上的显示屏七、按键的定义八、UI(User Interface)修改九、工程中常见问题解答1、 DVD的软件/硬件平台1.1DVD的主芯片我们运用的芯片是MTK(联发科技)的芯片,MTK系列的芯片有:1389B,1389C,1389D,1389F,1389HD等。怎样从芯片上看出目前运用的芯片的型号了?假如一个芯片的编号为:MT1389DE0421-CWSD14JJ,数字1389+横杠后的字母“C”就是它的型号,这是一款1389C系列的芯片。MTK视频解码,侍服等集成在芯片里面,音频DAC有的芯片

4、有集成,有的没有。1.2MTK的其他外围芯片MTK主要的外围芯片有:flash,内存dram,限制loader光驱移动的芯片,eeprom;flash是用来保存目标文件target.bin;在配置样机的时候,我们须要了解的是内存dram的大小; eeprom芯片用来保存dvd中菜单里面的设置;假如是一款高清的平台,它的构成将是一款1389B/HD+MT1392的芯片。1.3构建DVD的软件平台MTK芯片是基于C51单片机,程序运用的是c51的编译器,假如把c51的编译器放在C盘,在设置环境变量的时候设置为:C:C51;此时此刻我们来看软件局部:软件局部可以看成有两大块构成,在8032文件夹里面

5、的文件属于应用层的,是我们可以看到并做修改的;另一局部是底层的risc,这局部的修改,我们是动不了的,须要有MTK自己去做修改。2配置样机在做这个工程之前,我们先要拿到对应的公版软件;样机不同,公版软件的设置也不一样。假如只是要简洁的让机器跑起来,我们对样机的配制主要是在vendor.h这个文件中进展修改:一、假如你的主芯片是1389c的,你须要翻开下面的宏定义:#define MT1389_REV_C二、依据dram的大小来定义dram,假如你的dram是8m的:#define DRAM_SZ DRAM_8M假如你的dram是由两块2m的芯片组成还须要翻开下面的定义:#define DRAM

6、_CASCADE三、关于声音的定义假如芯片内置D/A,那么须要翻开以下定义:#define INT_ADAC假如是外置的那么须要关掉这个定义,接下来要翻开makefile文件,进展Audio DAC Config的配置:关掉ADAC_DEF = _NPADAC_这个语句:#ADAC_DEF = _NPADAC_接下来依据声音是左对齐、右对齐、I2S等格式,翻开相应的一个定义,假如声音是I2S格式,那么可以翻开:ADAC_DEF = _CS4340_接下来就是要选择risc,点亮dvd上的显示屏和按键的定义在后面的章节中将会讲到;选择完正确的risc后就可以进展到接下来的工作:编译调试。3、程序

7、的调试程序是通过运用dos叮嘱,调用批处理文件进展编译连接的,首先要进入到8032文件所在的路径,假如我的8032的文件在以下路径:D:test_vfdsample_3ver5048ver50488032假如你的flash大小是2m的,请运用do2这个叮嘱,假如是其他大小的干脆运用do这个叮嘱。怎样查看编译结果了?一是干脆在dos里面查看,这样的编译信息是不详细的。二是在8032文件下面的文件名为a的里面查看,可以以文本文件的形式翻开,这个文件里面的编译信息,这里面的信息是很详细的。在编译的过程中会出现L15,L16这样的警告,这样警告的出现是有的函数或是变量写出来后没有被运用所出现的警告,这

8、类警告是不须要管的;假如出现L1,L2之类的警告,就必需找出问题,消退这样的警告。这类问题主要是由于bank的地址空间不够造成的,须要把多出的目标文件移到较大的bank中去。那么怎么样知道哪个bank的空间有溢出了?在编译完后,我们可以查看8032文件里面的8032B.M51文件,那里面有各种变量的详细信息,每个bank的空间是64k的大小,举个例子:在C O D E B A N K 1中,假如最终一个文件的起始地址是:FFF8H文件的大小是0009H,那么bank1有溢出,须要把bank1中的目标文件移到别的bank中去!在8032文件里面有一个bl5_nui.dat文件,翻开这个文件移动b

9、ank里面的obj文件。假如移动了上面bank中的obj文件,下面bank数组里的文件要跟着移动,在选择要移动的obj文件时,bank0里面的文件一般是不移动的。移动bank里的文件可能会出现不行预知的问题,移动成功后要测试样机,看看是否有新的问题出现!还有其他在程序中自己造成的语法编译错误,那么须要依据编译提示去自己消退这样错误!编译通过后,在8032文件里面会生成一个target.bin文件,我们接下来做的事情就是把这个文件DownLoad到dvd样机里面去。4、程序的DownLoad要把编译好的程序Doawload到dvd样机里面去,须要运用MTK供应的mtktool,它的界面如下:其中

10、bin file的路径是指向target.bin的,而backup file是上传dvd里面target.bin的路径。程序通过串口download到dvd机里面去,全部的准备工作做好了以后按upgrade进展程序的download。程序download完以后,要给样机断电,然后重新启动,样机才会起先工作。假如翻开了RS232_LOG这个宏定义,还须要按一下上面的那个reset的红色箭头才能启动!5、系统的软件流程:系统的软件流程可以分为四大局部:启动流程、按键处理流程、UOP处理流程、OSD刷新显示流程。1、启动流程:样机启动后首先进展初始化,假如系统是待机状态要等待按键来唤醒机器,假如不是

11、那么会进入主循环。main()STANDBYGetInitState() /取初始化状态 Y NPowerDownResetHardware() SetDRAMType()/设置dramMpegPowerDown() ResetHardware()/Reset Hardwarewhile (_bIRKey != IR_POWER) mainloop()/主循环& (_bIRKey != IR_EJECT)等待power/eject键唤醒2、按键处理流程:系统每隔20ms会发生一次中断,dvd的OSD刷新,按键处理,碟片播放的处理等都会在20ms内处理完成!vTimer20ms(void)这个函

12、数是在Timer.c里面的!vTimer20msvUITimer() SmTimer /UOP处理 vOSDCoreTimer/OSD刷新 vGetCurrKey()/有没有遥控器按下 vIrTimer()/有按键那么处理它 vPlayerKeyProc()/分类处理fgSCRSAVKeyProc 、屏保状态 vUpdateInputState fgISOKeyProc 输入状态 ISO碟 fgGotoState fgInitKeyProc Goto状态 Init状态 fgComKeyProc ComKey处理3、UOP处理流程UOP是用户操作(user operation)的缩写,用户发送操作叮嘱,当这个叮嘱被执行完后会返回一个信息bCOMHandleUopRet()、bDVDHandleUopRet()等等,接着去更新共享区的信息vHandleInfoUpdate(),dvd机依据这些信息再去执行后面的操作用户操作及处理的流程如下:SmTimer vHandleSm() bCOMHandleUopRet() vSmUpdate() bDVDHandleUopRet() bHandleUOPRet() bVCDHandleUopRet() vHandleInfoUpdate() bISOHandleUopRet() 、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号