mtk源程序解读.docx
上传人:王子****青蛙 上传时间:2024-09-13 格式:DOCX 页数:8 大小:1.5MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

mtk源程序解读.docx

mtk源程序解读.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

遥控接收在文件8302\[NECformat][DFSM_NEW_REMOTE]。键功能码在文件8032\keydef.h。注意:mtk系列处理器的操作都是以命令形式动作的,该demo里原有什么功能都可以在此处找到,只要给相应的功能码就可以;但是要新功能的话,就要另外编写处理程序[?]。按键/遥控功能执行在文件play_non.c文件02227:BYTEbNONKeyMap(BYTEbKey)largevTFTBackLightEnable();在Timer.c00174和Init.c文件中;vTFTBackLightDisable()在Play-com.c02553和Init.c文件中。DVD新手ABC写这篇文档是为以前没有接触过dvd项目的工程师提供一些咨询,让你们能够在最短的时间里上手。在这篇文档里面包括以下内容:一、DVD的软件/硬件平台二、配置样机三、程序的调试四、程序的DownLoad五、系统的软件流程六、点亮dvd上的显示屏七、按键的定义八、UI(UserInterface)修改九、工程中常见问题解答DVD的软件/硬件平台我们使用的芯片是MTK(联发科技)的芯片,MTK系列的芯片有:1389B,1389C,1389D,1389F,1389HD等。怎样从芯片上看出目前使用的芯片的型号了?如果一个芯片的编号为:MT1389DE0421-CWSD14JJ,数字1389+横杠后的字母“C”就是它的型号,这是一款1389C系列的芯片。MTK视频解码,侍服等集成在芯片里面,音频DAC有的芯片有集成,有的没有。MTK主要的外围芯片有:flash,内存dram,控制loader(光驱)移动的芯片,eeprom;flash是用来保存目标文件target.bin;在配置样机的时候,我们需要了解的是内存dram的大小;eeprom芯片用来保存dvd中菜单里面的设置;如果是一款高清的平台,它的构成将是一款1389B/HD+MT1392的芯片。MTK芯片是基于C51单片机,程序使用的是c51的编译器,如果把c51的编译器放在C盘,在设置环境变量的时候设置为:C:\C51;现在我们来看软件部分:软件部分可以看成有两大块构成,在8032文件夹里面的文件属于应用层的,是我们可以看到并做修改的;另一部分是底层的risc,这部分的修改,我们是动不了的,需要有MTK自己去做修改。2.配置样机在做这个项目之前,我们先要拿到对应的公版软件;样机不同,公版软件的设置也不一样。如果只是要简单的让机器跑起来,我们对样机的配制主要是在vendor.h这个文件中进行修改:一、如果你的主芯片是1389c的,你需要打开下面的宏定义:#defineMT1389_REV_C二、根据dram的大小来定义dram,如果你的dram是8m的:#defineDRAM_SZDRAM_8M如果你的dram是由两块2m的芯片组成还需要打开下面的定义:#defineDRAM_CASCADE三、关于声音的定义如果芯片内置D/A,则需要打开以下定义:#defineINT_ADAC如果是外置的则需要关掉这个定义,接下来要打开makefile文件,进行AudioDACConfig的配置:关掉ADAC_DEF=_NPADAC_这个语句:#ADAC_DEF=_NPADAC_接下来根据声音是左对齐、右对齐、I2S等格式,打开相应的一个定义,如果声音是I2S格式,则可以打开:ADAC_DEF=_CS4340_接下来就是要选择risc,点亮dvd上的显示屏和按键的定义在后面的章节中将会讲到;选择完正确的risc后就可以进行到接下来的工作:编译调试。3、程序的调试程序是通过使用dos命令,调用批处理文件进行编译连接的,首先要进入到8032文件所在的路径,如果我的8032的文件在以下路径:D:\test_vfd\sample_3\ver5048\ver5048\8032如果你的flash大小是2m的,请使用do2这个命令,如果是其他大小的直接使用do这个命令。怎样查看编译结果了?一是直接在dos里面查看,这样的编译信息是不详细的。二是在8032文件下面的文件名为a的里面查看,可以以文本文件的形式打开,这个文件里面的编译信息,这里面的信息是很详细的。在编译的过程中会出现L15,L16这样的警告,这样警告的出现是有的函数或是变量写出来后没有被使用所出现的警告,这类警告是不需要管的;如果出现L1,L2之类的警告,就必须找出问题,消除这样的警告。这类问题主要是由于bank的地址空间不够造成的,需要把多出的目标文件移到较大的bank中去。那么怎么样知道哪个bank的空间有溢出了?在编译完后,我们可以查看8