MTK MT1389软件从这里开始:
MT1389培训文档专用术语:
A,4+2,8+4,8+8,8+2,16+8方案中的前后NUMBER的意义
A+B: A指用FLASH容量,以M BITS来计算
B指用SDRAM容量,以M BYTES来计算
2M是指用1片1X16 SDRAM
4M是指用2片1X16 SDRAM
8M是指用1片4X16 SDRAM
B,89B/89C/89D/89E/89HD
指MT1389B/MT1389C/MT1389D/MT1389E/MT1389HD
C,B版本/C版本/D版本/E版本/HD版:
指CHIPS为MT1389B/MT1389C/MT1389D/MT1389E/MT1389HD方案
SDRAM在软件版本中的定义(VENDOR。H)
#define DRAM_2M 0x200000
#define DRAM_4M 0x400000
#define DRAM_8M 0x800000
#define DRAM_16M 0x1000000
// DRAM size selection
#define DRAM_SZ DRAM_4M //SDRAM容量大小
//#define RISC_OVERLAY
#if defined(MT1389_REV_C) || defined(MT1389_REV_D) || defined(MT1389_REV_E )
#if (DRAM_SZ == DRAM_4M) //2片SDRAM在硬件上共用16位数据线
#define DRAM_CASCADE //hhq close 1t 2004-11-18
#endif
#endif
关于编译批处理命令:
DO。BAT //4M和8M flash时用的编译COMMAND
DO2。BAT //16M FLASH时用的编译COMMAND
编译OK后操作MG。BAT,最后生成的是TARGET。BIN文档。
关于SERVO LIB加载方式:
SERVO LIB文档放在8032下的SERVOLIB子目录中,含LIB和H两个文件。
这是NUI-5B。BAT或NUI-5B-2F。BAT文档:
。。。。。。。
copy /y custom\demo\userdata\nui_rom.bin custom\demo\userdata\datarom0.bin
copy /y custom\demo\userdata\nui_rom.lst custom\demo\userdata\datarom0.lst
copy /y custom\demo\userdata\nui_logo.txt custom\demo\userdata\mlogo0.txt
copy /y custom\demo\userdata\snd.bin custom\demo\userdata\snd0.bin
IF "%1" == "hi" goto MAKE_HITACHI_SRV
IF "%1" == "HI" goto MAKE_HITACHI_SRV //日立光头
IF "%1" == "so" goto MAKE_SONY_SRV
IF "%1" == "SO" goto MAKE_SONY_SRV //SONY
IF "%1" == "khm310" goto MAKE_KHM310_SRV
IF "%1" == "KHM310" goto MAKE_KHM310_SRV
IF "%1" == "sa" goto MAKE_SANYO_SRV
IF "%1" == "SA" goto MAKE_SANYO_SRV //SANYO
IF "%1" == "mi" goto MAKE_MITSUMI_SRV
IF "%1" == "MI" goto MAKE_MITSUMI_SRV
IF "%1" == "dl2s" goto MAKE_DL2S_SRV
IF "%1" == "DL2S" goto MAKE_DL2S_SRV
IF "%1" == "none" goto MAKE_NO_SRV
IF "%1" == "NONE" goto MAKE_NO_SRV
ECHO HD62_2307 LOADER Version //如DO。BAT或DO2。BAT后无SERVO参数,会自动编译此SERVO LIB。
%C51PATH%\bin\make C51PATH=%C51PATH% SRV_LIB=2307 DO_NUI=1 BANK_NO=%BANK_NO% FLASH_SZ=%FLASH_SZ% all > a
goto MAKE_GENERIC
:MAKE_HITACHI_SRV
ECHO HITACHI LOADER Version
%C51PATH%\bin\make C51PATH=%C51PATH% SRV_LIB=hitachi DO_NUI=1 BANK_NO=%BANK_NO% FLASH_SZ=%FLASH_SZ% all > a
goto MAKE_GENERIC
。。。。。。
关于8032部分的BANK连接问题。
我们用的BANK连接文件是BL5-NUI。DAT文档:
common{ //此处定义公调文件,不可更改
l51bank8.obj,
isr.obj,
startup.obj,
timer.obj
},
bank0{ //BANK0中不易溢出,如溢出可将READ。OBJ调至其它BANK中
ir_recv.obj,
cdvdcmd.obj,
discinfo.obj,
flash.obj,
gpioctrl.obj,
init.obj,
init1.obj,
main.obj,
post.obj,
mem.obj,
misc.obj,
power.obj,
miscasm.obj,
read.obj,
servo.obj,
servo.lib,
i2c.obj
},
bank1{
adac.obj,
spi.obj,
ado_in.obj,
custom\demo\usrcfg.obj,
custom\demo\sys_ctrl.obj,
custom\demo\vid_ctrl.obj,
custom\demo\module\drm.obj,
custom\demo\module\zoom.obj,
custom\demo\play\play_ain.obj,
custom\demo\play\show_ain.obj,
custom\demo\play\play_ini.obj,
custom\demo\play\play_dvd.obj,
custom\demo\play\play_vcd.obj,
custom\demo\play\play_iso.obj,
custom\demo\play\show_dvd.obj,
custom\demo\play\show_vcd.obj,
custom\demo\play\show_iso.obj,
custom\demo\play\play_cda.obj,
custom\demo\play\show_cda.obj,
custom\demo\fslist\flmain.obj,
custom\demo\fslist\flcmd.obj,
custom\demo\fslist\flmenu.obj,
custom\demo\fslist\fljview.obj,
custom\demo\fslist\flmpeg.obj,
custom\demo\fslist\flhelp.obj,
custom\demo\fslist\flctrl.obj,
custom\demo\fslist\flipshow.obj,
custom\demo\fslist\flutil.obj
},
bank2{
mv.obj,
custom\demo\play\play_com.obj,
custom\demo\play\play_pcd.obj,
custom\demo\play\show_pcd.obj,
custom\demo\module\digest.obj,
custom\demo\module\selmenu.obj,
custom\demo\module\bookmark.obj,
custom\demo\module\eq.obj,
custom\demo\module\vremote.obj,
custom\demo\setupmn\stpmain.obj,
custom\demo\setupmn\stppage.obj,
custom\demo\setupmn\stpcheck.obj,
custom\demo\setupmn\stpadsp.obj,
custom\demo\setupmn\stposdfn.obj,
custom\demo\setupmn\stprisc.obj,
custom\demo\setupmn\stppass.obj,
custom\demo\show\avshow.obj,
custom\demo\show\vcdshow.obj,
custom\demo\show\nonshow.obj,
custom\demo\show\ainshow.obj
},
bank3{
drs232.obj,
osd8032.obj,
eeprom.obj,
tve.obj,
servopin.obj,
custom\demo\module\scan.obj,
custom\demo\osdshow.obj,
custom\demo\osdcore.obj,
custom\demo\show\dvdshow.obj,
custom\demo\show\isoshow.obj,
custom\demo\show\progshow.obj,
custom\demo\show\markshow.obj,
custom\demo\show\dgstshow.obj,
custom\demo\module\mic_rec.obj,
custom\demo\module\logo_cap.obj,
custom\demo\aud_ctrl.obj,
custom\demo\player.obj,
custom\demo\combine.obj,
custom\demo\uopmap.obj,
custom\demo\num_proc.obj,
custom\demo\ss\ssrect.obj,
custom\demo\ss\ssbmp.obj,
custom\demo\ss\scrsav.obj
},
bank4{
shareinf.obj,
custom\demo\module\upg.obj,
custom\demo\osdcmpnt.obj,
custom\demo\vfd_pub.obj,
custom\demo\vfd\vfd_hw.obj,
custom\demo\module\goto.obj,
custom\demo\keyproc.obj
}
to 8032B.OMF DS DL NOSY NOLI RS(256) XDATA(0FB00h-0FDFFh) &
OL(vFlMnHiliItem ~ ?CO?FlMenu, &
vFlMnHiliOn ~ ?CO?FlMenu, &
vFlMnHiliOff ~ ?CO?FlMenu, &
vFlMnClrPage ~ ?CO?FlMenu, &
vFlMnDrawItem ~ ?CO?FlMenu, &
fgFlMnIrCmdDoneHdr ~ ?CO?FlMenu, &
bFlMnGetIconIdx ~ ?CO?FlMenu, &
bNormalVdo ~ ?CO?STPMAIN, &
vDelayLine ~ ?CO?STPMAIN, &
RISCIsrCmd ~ ReturnMain) &
common(?PR?TIMER0?SERVO_F1, ?PR?_DRS232LOGS?DRS232, ?PR?_DRS232LOGB?DRS232) &
bank0(?CO?INIT(0220h), ?CO?DISCINFO(01400h), ?CO?MEM, ?CO?INIT1, ?CO?POWER, &
?CO?IR_RECV, ?CO?MISC, &
?CO?SRV_COEF, ?CO?SERVO_F1, ?CO?TIME2TRK, ?CO?SERVO_F3, &
?CO?CAL_FUNC, ?CO?SECT2TRK, &
?PR?RESTART8032?MISCASM(0F000h), ?PR?FLASHUPGRADECODE?FLASH, ?PR?_FGFLASHBLOCKWRITE?FLASH, &
?PR?_FGFLASHERASE?FLASH, ?PR?FLASHWRITELOGOCODE?FLASH, ?PR?_FLASHLOGB?FLASH, &
?PR?FGMOVERISCDRAMCODE?INIT) &
bank1( ?CO?SHOW_DVD(02900h), ?CO?SHOW_VCD, ?CO?SHOW_CDA, ?CO?FLIPSHOW, ?CO?USRCFG, ?CO?FLMENU, &
?CO?SHOW_ISO, ?CO?PLAY_DVD, ?CO?PLAY_ISO, ?CO?PLAY_CDA) &
bank2(?CO?STPMAIN(02900h), ?CO?STPPAGE, ?CO?DIGEST, ?CO?SELMENU, &
?CO?AVSHOW, ?CO?NONSHOW, ?CO?PLAY_COM, ?CO?MV, ?CO?PLAY_PCD, ?CO?STPRISC) &
bank3(?CO?OSDSHOW(02900h), ?CO?OSDCORE, ?CO?EEPROM , ?CO?AUD_CTRL, ?CO?TVE, &
?CO?NUM_PROC, ?CO?SSBMP, ?CO?COMBINE, ?CO?PROGSHOW, ?CO?OSD8032, ?CO?UOPMAP, ?CO?PLAYER) &
bank4(?CO?VFD_HW(02900h), ?CO?GOTO)
//每个BANK固定为64K代码,有时应打开一些功能,会引起相应BANK中的代码超出64K而
溢出,此时要手动调整相关BANK中的OBJ文档。其基本原则是:
BANK1,2,3,4中bank2(?CO?STPMAIN(02900h)加有定位地址的文件一定不宜动,尽量下面BANK中
无?CO?PLAY_COM标注的文件。
如各个BANK都已经加载到了最大而无法MOVE,可开出一个新的BANK4或BANK5出来。这样的
结果是最后生产的BIN文档会变大(以牺牲FLASH空闲空间为代价的)
6, SETUP MENU中的相关DEFAULT设置:见VENDOR。H中的:
#ifdef _SETUP_C
#ifdef PREFERENCE_CHINESE
#define TV_SYSTEM_DEFAULT SV_PAL
#define OSD_LANG_DEFAULT EV_OSD_CHINESE
#define AUDIO_LCD_DEFAULT EV_CHINESE
#define SP_LCD_DEFAULT EV_CHINESE
#define MENU_LCD_DEFAULT EV_CHINESE
#define REGION_DEFAULT EV_CHINA
#define ASPECT_DEFAULT SV_4_3_PS
#else /* original default */
#define TV_SYSTEM_DEFAULT SV_NTSC
#define OSD_LANG_DEFAULT EV_OSD_ITALIAN
#define AUDIO_LCD_DEFAULT EV_ITALIAN
#ifdef ENABLE_USER_LANG_CODE
#define SP_LCD_DEFAULT EV_ITALIAN
#else
#define SP_LCD_DEFAULT EV_ITALIAN
#endif
#define MENU_LCD_DEFAULT EV_ITALIAN
#define REGION_DEFAULT EV_USA
#define ASPECT_DEFAULT SV_4_3_PS
#endif /* original default */
#ifdef N22_CERTIFICATION
#define GLOBAL_SPDIF_DEFAULT EV_PCM
#define SPEAKER_SET_DEFAULT EV_DOWN_OFF
#define CNTR_SPK_DEFAULT EV_LARGE
#define REAR_SPK_DEFAULT EV_LARGE
#define POST_DRC_DEFAULT EV_POST_DRC_OFF
#else /* normal default */
#define GLOBAL_SPDIF_DEFAULT EV_RAW
#define SPEAKER_SET_DEFAULT EV_DOWN_LORO
#define CNTR_SPK_DEFAULT EV_LARGE
#define REAR_SPK_DEFAULT EV_LARGE
#define POST_DRC_DEFAULT EV_POST_DRC_AUTO
#endif /* normal default */
#endif /* _SETUP_C */
相关工具的使用:
相关工具为:C51,GETOSD,OSDEDIT,MTKTOOL,BMP2LOGO
各有相关的使用文档供参考。
8, SW VERSION INFORMATION: (VERSION.H)
#ifdef MT1379
#ifdef PLAYER_NUI
#define MAJOR_VER 5
#else
#define MAJOR_VER 2
#endif
#else
#define MAJOR_VER 0
#endif
#if (!defined(MT1379) && defined(PLAYER_2_CHANNEL))
#define MINOR_VER 0x0B
#else
#define MINOR_VER 0
#endif
#define VER_FIRMWARE {MAJOR_VER, MINOR_VER, 4, 8} //VER5048
//===================================================================
//=============== UI version ===============
//===================================================================
#define VER_UI {MAJOR_VER, MINOR_VER, 4, 8}
#ifndef EEPROM_MAGIC0
#define EEPROM_MAGIC0 'M' //改变此两个值,则开机会自动对EEPROM重新写一次
#define EEPROM_MAGIC1 'T'
#endif
#ifdef PLAYER_2_CHANNEL
#define EEPROM_VERSION0 '1'
#define EEPROM_VERSION1 '7'
#elif defined(MT1379)
#ifdef PLAYER_NUI
#define EEPROM_VERSION0 '3'
#define EEPROM_VERSION1 '7'
#else
#define EEPROM_VERSION0 '2'
#define EEPROM_VERSION1 '7'
#endif
#else
#define EEPROM_VERSION0 '0'
#define EEPROM_VERSION1 '7'
#endif
星期三, 一月 07, 2009
订阅:
博文评论 (Atom)
没有评论:
发表评论