AVOS Program Guide ver1.2 -...

49
1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007 Version Date Modified By Comments Ver1.1 070802 liym 1> [+ 0 bmp ᭛ӊ txt ᭛ӊᓎゟᯊⱘ⊼ᛣџ乍˗ 2> GPIOǃPWM pin ⱘՓ⫼ 3> 7228 MediaBox ⱘ㓪䆥ᮍ⊩ Ver1.2 070810 liym Ⳃᔩ⏏

Transcript of AVOS Program Guide ver1.2 -...

Page 1: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

1

AVOS Program Guide For AML 7XXX/6XXX

Version 1.2

August 10, 2007

Version Date Modified By Comments

Ver1.1 070802 liym 1> bmp txt

2> GPIO PWM pin 3> 7228 MediaBox

Ver1.2 070810 liym

Page 2: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

2

1 .......................................................................................3

1.1 Meta Development .................................................................................3 1.2 ........................................................................................................3 1.3 USB JTAG ..............................................................................................3

2 AVOS ............................................................................................................5 3 UI Awizard ..............................................................................................5

3.1 Awizard ...........................................................................................................5 3.2 UI ..................................................................................................14 3.3 .......................................................................................................14

4 .........................................................................................................................17 4.1 .......................................................................................................17 4.2 .......................................................................................................19

5 AVOS .............................................................................................................20 6 LOGO ....................................................................................................................21

6.1 LOGO .........................................................21 6.2 LOGO .........................................................................23

7 ICON ......................................................................................................................23 7.1 ..........................................................................................................................23 7.2 ...........................................................................................................................23

8 KEYBOARD ..................................................................26 9 BOOT .................................................................................................................26 10 ROM ................................................................................................................27 11 FAQ....................................................................................................................................27 12 API ..........................................................................................................32

12.1 ............................................................................................................32 12.2 LOGO .................................................................................................35 12.3 ........................................................................................................................37 12.4 ........................................................................................................................37 12.5 USB ........................................................................................................37 12.6 ............................................................................................................37 12.7 IO ................................................................................................39 12.8 APP .............................................................................................................40 12.9 MESSAGE ....................................................................................................43 12.10 ...............................................................................................................43 12.11 ...............................................................................................................47 12.12 ...................................................................................................49

Page 3: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

3

1

1.1 Meta Development

λ cygwin metadeveloper C:\

1.2

LD_LIB_PATH=C:/MetaDeveloper/HCARC/lib

Path C:/MetaDeveloper/HCARC/bin; C:\cygwin\bin;

1.3 USB JTAG

Install 1.05.rar usb 1> Install 1.05\GPIO\ C:\metadeveloper\hcarc\bin 2> Install 1.05\C_ROOT \ C:\

usb debug —>Install 1.05.rar USB_DRIVER

—> —>

Page 4: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

4

Page 5: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

5

2 AVOS

3 UI Awizard

3.1 Awizard

a) File\New Project”,

Page 6: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

6

APP

Page 7: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

7

APP

Page 8: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

8

NEC Nec Remote Config

Predefined Remote Type Input Key Translation Edit

Page 9: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

9

OSD

b)

Project , 3.1

c) GUI

Page 10: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

10

d) GUI\setting , ICON RESOURCE

ICON

ICONC C

H

Page 11: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

11

e)

Page 12: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

12

5

Page 13: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

13

λ CC

λ λ OSD BSP MEMMAP

λ Y λ string_dat.c DataType DT_STRING_DATA

icon_data.c icon DataType DT_RLE_BMP_DATA MsgChinese.Dat/MsgEnglish.Dat

DataType DT_RESOURCE_DATA λ Project .cfg

[Font List] Font Lib Dir= [Data File] DataFile[0]= ICON DataFile[1]= STRING [Resource File] ResourceID[x]= ID

Page 14: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

14

ResourcrFile[x]=

3.2 UI

Awizard guigui win Awizard

win A>

Project—>Build ProjectYes gui win

.c .h .c/ .h/ .des guiwin_ win_? UI

GUI B> Project Wintest

1> GUI—>Add Window Project—>Build Project win Wintest.c/Wintest.h/Wintest.des

2> Wintest.c/Wintest.h/Wintest.des gui win_winevent WintestEvent.c WintestEvent.h

3> string_dat.c/icon_date.cresource_?

4> menu.c GUICreateWindow() if(strcmp(pWindowName,"Wintest") == 0)

pHwnd = CreateMenuWintest(); // CreateMenuWintest() Awizard// Wintest.c

else menu.h #include "Wintest.h"

5> gui makefile.source $(WINDIR)/$(WIN_DIR)/wintest.c \ $(WINDIR)/$(EVENT_DIR_PUB)/wintestEvent.c \

Win_test

3.3

72XX 4/16/256 OSD

256 16 240 16 awizard4 0~3 0~0xfff 12 4~15 240 16~255 osdsettpval

0~0xf SetOSD240Color() level 3.3.1 16

AWSetForeground() AWSetBackground()AWSetBackground(0) AWSetForeground()

Page 15: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

15

0 15 16 Awizard ICON Generator

Tools-->Icon Generator

Baseline colors Color 0—15 16Blend Param 4 0~3

Page 16: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

16

Color0—15 Original RGB

Converted RGB Get Pelette Data Compress Icon Data

win .c Set Palettemask_para[4] palette_para[16] Icon Generator Compress Icon Data

palette_alpha_mask[4] palette_color[16] .cSet Palette 16

16 AWSetForeground() 16

3.3.2 240 240

osdsettpval LogoEvent.c used_palette_commontable ICON used_palette_common

used_palette_common table ICON

RGBTABLE colortable.tmp colortable.tmp 32

used_palette_common used_palette_common

Page 17: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

17

4

4.1

CNFontTool.exe

check BMP Setting Range CharSetBMP Setting CustomizeCharSet Range 16

16 0xBEA7 Start 0xBEA7 End 0xBEA8 Setting->Font

Page 18: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

18

File->LoadFont CheckBMP Setting LoadFont

LoadFont Check LoadFont LoadFontCheck

CNFontSrc.fnt

Match Width

Page 19: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

19

4.2

photoshop photoshop10

.bmp .txt bmp copytxt

UltraEditAWizard.exe Tools->Font Manager,

, Font Flie->Create New Font,

Font Bitmap Edit Page .bmp .txt

Page 20: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

20

Generate Font Data .fnt .fnt copy .fnt

Font Flie->Open Font Flie,.fnt Build Font Lib Data .h

5 AVOS

λ ..\EXTERN_RELEASE_DIR env.bat

1> set EXTERN_RELEASE_DIR=%CD% set AVOS_RELEASE_DIR=%CD%\..\AVOS_RELEASE_DIR set PATH=%CD%\bin;%CD%\mingw\bin;%PATH% set LD_LIB_PATH=C:\MetaDeveloper\hcarc\lib cd %CD%\..\CODEBASE\bld_8inch build cmd 2> 7228 MediaBox set EXTERN_RELEASE_DIR=%CD% set AVOS_RELEASE_DIR=%CD%/avos_dist set Path=%EXTERN_RELEASE_DIR%\bin;%PATH% cd mb_basic \mb_basic\trunk\bld_8mx2_ares build CODEBASE cmd ( LD_LIB_PATH PATH )

Page 21: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

21

λ Bsp CODEBASE 7228MediaBox

build makefile BSP_DIR bsp..\EXTERN_RELEASE_DIR\bsp OK

λ Debug 1> Debug a. env.bat DOS make dbgburner b. make prom down

F9 RUN image written

c. make offdown 2> Debug a. env.bat DOS make dbg b. make down down

F9 RUN 3> 7228 MediaBox Debug a. env.bat DOS make dbg b. make down down

F9 RUN λ ROM code

a. DOS make romburner rom code b. make prom down

F9 RUN image writtenrom code

6 LOGO

LOGO

6.1 LOGO

Page 22: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

22

Page 23: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

23

6.2 LOGO

λ JPEG LOGO 720X480 λ TMPEGEnc LOAD logo.mcf. λ video source LOGO JPEG λ START λ HEX WORKSHOP LOGO.M2V λ 00000100 2 5 4 0000 01B7

λ trans_logo.exe LOGO DAT

7 ICON

7.1

72XX 4/16/256 OSD

256 16 240 16 awizard4 0~3 0~0xfff 12 4~15 240 16~255 osdsettpval

0~0xf

7.2

Page 24: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

24

Page 25: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

25

Bmp

Page 26: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

26

λ 03

λ ICON

λ ICON_ ICON

ICON

λ 00 RGB 0 0 0 0 0

0 λ ICON 16

256

8 KEYBOARD

KEYBOARD inputdev.c

AWNecRemoteKeyTranslation // AWKeyboardTranslation //KEYBOARD

ID demo KeyboardNecIrKey[] KeyboardUOP[] Keyboard

9 BOOT

1> boot boot DOS 161.bat

F9 RUN image written

Page 27: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

27

DOS 162.bat FLASH BOOT

2> boot boot prom.bat

10 ROM

DOS make romburner ROMmake prom F9 RUN

image written FLASH ROM

11 FAQ

11.1 / make clean

11.2 APP

aw_user_init.c void RegisterAllUseApp() { AWApplicationRegister(GUI_MEDIA_TYPE, GUI_TASK_INIT_STATUS,GUI_AUTO_RUN_PRIORITY, GUI_TASK_KEY_PROCESS_PRIORITY, GUI_TASK_PRIORITY, GUI_TASK_MEM_MAP, GUI_TASK_STACK_SIZE, AWGUIMsgProcess, AWGUIGetInfo, AWWinMain); AWApplicationRegister(SYS_MEDIA_TYPE, SYS_TASK_INIT_STATUS,SYS_AUTO_RUN_PRIORITY, SYS_TASK_KEY_PROCESS_PRIORITY , SYS_TASK_PRIORITY, SYS_TASK_MEM_MAP, SYS_TASK_STACK_SIZE, AWSysMsgProcess, AWSysGetInfo, AWSysTaskProcess) ; AWApplicationRegister(AVI_MEDIA_TYPE,AVI_TASK_INIT_STATUS,AVI_AUTO_RUN_PRIORITY,AVI_TASK_KEY_PROCESS_PRIORITY, AVI_TASK_PRIORITY,AVI_TASK_MEM_MAP,AVI_TASK_STACK_SIZE,AWAVIMsgProcess,AVIGetInfo,AVITaskProcess); AWApplicationRegister(VOB_MEDIA_TYPE,VOB_TASK_INIT_STATUS,VOB_AUTO_RUN_PRIORITY,VOB_TASK_KEY_PROCESS_PRIORITY, VOB_TASK_PRIORITY,VOB_TASK_MEM_MAP,VOB_TASK_STACK_SIZE,AWVOBM

Page 28: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

28

sgProcess,VOBGetInfo,VOBTaskProcess); AWApplicationRegister(PIC_MEDIA_TYPE,PIC_TASK_INIT_STATUS,PIC_AUTO_RUN_PRIORITY,PIC_TASK_KEY_PROCESS_PRIORITY, PIC_TASK_PRIORITY,PIC_TASK_MEM_MAP,PIC_TASK_STACK_SIZE,AWPICMsgProcess,PICAppGetInfo,PICTaskProcess); AWApplicationRegister(GPLAYER_MEDIA_TYPE,GPLAYER_TASK_INIT_STATUS,GPLAYER_AUTO_RUN_PRIORITY,GPLAYER_TASK_KEY_PROCESS_PRIORITY, GPLAYER_TASK_PRIORITY,GPLAYER_TASK_MEM_MAP,GPLAYER_TASK_STACK_SIZE,AWGPLAYERMsgProcess,gPlayerAppGetInfo,gPlayerTaskProcess); AWApplicationRegister(TXT_MEDIA_TYPE,TXT_TASK_INIT_STATUS,TXT_AUTO_RUN_PRIORITY,TXT_TASK_KEY_PROCESS_PRIORITY, TXT_TASK_PRIORITY,TXT_TASK_MEM_MAP,TXT_TASK_STACK_SIZE,AWTXTMsgProcess,TxtAppGetInfo,TxtTaskProcess); return; }

APP APPAPP LIB

11.3 USB HOST SLAVE BSP BSP.h

#define USB_DMA_MASK (0xffffffff) #define USB_DMA1_MASK (0xffffffff)

USB HOST SLAVEOTG 0

aw_init_display.c static struct platform_device USB_controller = { USB_CHIP_NAME, USB_CHIP_BASE_ADDR, USB_CHIP_IRQ , USB_INT_TYPE, USB_DMA_MASK, { USB_PORT_TYPE_HOST, //Config Port }, NULL };

6 HOST USB_PORT_TYPE_SLAVEUSB_PORT_TYPE_SW_OTG

OTG

Page 29: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

29

11.4 USB aw_init_display.c USB_start_all

dwc_otg_probe(&USB_controller1); dwc_otg_probe(&USB_controller);

USB USB

11.5 DEBUG SDRAM

aw_user_init.c #include "font_chinese_hei_24.h" void InitFont(void) { AWSetForeground(3); AWSetBackground(0); AWRegisterFont(&gChineseFontH24) ; return; }

#include "font_english_20.h"

void InitFont(void)

{

AWSetForeground(3);

AWSetBackground(0);

AWRegisterFont(&gEnglishFont20) ;

return;

} 11.6

user.h #define ENABLE_CARD_READER BSP bsp.c void bsp_init(void) { … card_module_enable(CARD_MODULE_CF); card_module_enable(CARD_MODULE_SD_MMC); card_module_enable(CARD_MODULE_MS_MSPRO); card_module_enable(CARD_MODULE_XD);

card_module_enable(CARD_MODULE_SM); …

}

Page 30: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

30

H C LIB

11.7 480P

aw_init_display.c Display_Logo video_appmode_t video_appmode = { DISPCTL_MODE_720P, VIDEO_APPVMODE_480_480, VIDEO_APPHMODE_720, 0, DISPCTL_MODE_720P

};

DISPCTL_MODE_720P------720P DISPCTL_MODE_1080P-----1080I DISPCTL_MODE_480P------480P DISPCTL_MODE_720I------480I

11.8 AWSetHDScreen 1 0 TV FILTER

TV 720P 480POSD 1 OSD FILTER

OSD 0OSD FILTER OSD FILTER

OSD

11.9 8M SDRAM 16M

1. debugrom\boot.s ; DRAM_CTRL_REG1 mov r10, 0x01101c00 mov r11, 0x0500 st.di r11, [r10] mov r10, 0x01000590 //590 mov r11, 0x00004100 // SDRAM1 st.di r11, [r10] sleep_loop:

BOOT BOOT

2. bsp.c set_memory_config(SDRAM1_8Mx16, SDRAM2_NONE, 0x3800000);

Page 31: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

31

3. memmap.c HEAP 0x3800000 #define MIN_HEAP_SIZE 0x380000 //#define MIN_HEAP_SIZE 0x700000 _phymem_node_t DEFAULT_HEAP[] = {{0x3800000+0x280000,

0x3800000+0x280000+MIN_HEAP_SIZE-1}, {0,0}}; _phymem_node_t DEFAULT_KHEAP[] =

{{0x3800000+0x280000+MIN_HEAP_SIZE, 0x3800000+0x280000+MIN_HEAP_SIZE+0x100000-1}};

_phymem_node_t DEFAULT_UHEAP[] = {{0x3800000+0x280000+MIN_HEAP_SIZE+0x100000, 0x3800000+0x280000+MIN_HEAP_SIZE+0x100000+0x100000-1}};

_phymem_node_t DEFAULT_SYS_DRAM[] = {{0x3800000,

0x3800000+(8*1024*1024)}};

4. makefile CODE 0x3800000 BSP_DIR =$(TOPDIR)/bsp/7213_sh_fullscreen LINK_ADDRESS = 0x03800000

5. DOWNLOAD scarc -jtag -hmem=0x3d00000 app_ATHENAdbg.out -OK

FLASH BOOT 8M BOOT 16M BOOT

!!Hostlink is not OK. Possibly corruption. Hostlink version detected is 0x0 !!Hostlink is not OK. Possibly corruption. Hostlink version detected is 0x0 !!Hostlink is not OK. Possibly corruption. Hostlink version detected is 0x0

LINK_ADDRESS = 0x0C00000, BOOT -hmem=0xC00000BOOT

LINK_ADDRESS = 0x3800000, BOOT -hmem=0x3800000BOOT

11.10 GPIO

GPIO chipsupport.h void _gpio_ctrl_mode_X X GPIO pin pin number chipsupport.h PREG_X_Pad_t , mode 10

GPIO gpio_m2_0_setgpio_m2_0_get

GPIO GPIO_M2_0 GPIO_M2_1

Page 32: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

32

GPIO_FEC GPIO_EGPIO GPIO_JTAG GPIO_M1_SCS GPIO_AUDIO GPIO_MIO GPIO_ATAPI

gpio_ctrl_mode_m2_0(PREG_M2_D0,0); //set M2_D0 as a output gpio gpio_m2_0_set(PREG_M2_D0,1); //we output high to this gpio gpio_ctrl_mode_m2_0(PREG_M2_D1,1); //set M2_D1 as a input gpio gpio_level = gpio_m2_0_get(PREG_M2_D1); //get the level of this gpio

11.11 PWM

12 API

12.1

void GUIShowWindow(char *pWindowName)

NAME

Logo

Page 33: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

33

GUIShowWindow(“WinLogo”) // name WinLogo NAME WINDOWS NAME

void GUIHideWindow(char *pWindowName)

NAME

GUIShowWindow INT32S AWShowWindowByName(CHARSTR *pWindowName, INT8U auto_focus_flag)

NAME 0 1

3 AWShowWindow(pHwnd, auto_focus_flag) AWShowWindowByName(“WinLogo”,1); // name WinLogo

// INT32S AWHideWindowByName(CHARSTR *pWindowName)

GUIHideWindow NAME

1 AWHideWindow(pHwnd) INT32S AWShowWindow(HWND *win_hwnd, INT8U auto_focus_flag)

GUIShowWindow AWShowWindowByName

Awizard

1 2 0 HWND *pHwnd = AWFindWinCtrlByName(“WinLogo”) ;

AWShowWindow(pHwnd, 1) ; // WinLogo

INT32S AWHideWindow(HWND *win_hwnd)

AWHideWindowByName

2 0 void AWShowWinControl(PHWND hwnd, INT8U focus_flag)

PHWND dir_hwnd ; // dir_hwnd = AWFindWinCtrlByName("WLogoTCSelect2") ;

AWShowWinControl(dir_hwnd, 0) ;// WLogoTCSelect2

Page 34: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

34

// void AWHideWinControl(PHWND hwnd)

PHWND AWFindWinCtrlByName(CHARSTR *lpCtrlName)

NAME NAME

PHWND dir_hwnd ; dir_hwnd = AWFindWinCtrlByName("WLogoTCSelect4") ;

AWShowWinControl(dir_hwnd, 0) ; AWSetFocus(dir_hwnd) ; // WLogoTCSelect2 ,

// PHWND AWSetFocus(PHWND hwnd)

void AWSetWinControlStyle(PHWND hwnd, INT32U new_style)

style CHILDWINODWS DISVISIBLEDISABLE

WS_DISVISIBLE WS_CHILDWS_DISABLED

PHWND AWGetTopWindow(PHWND hwnd)

if(AWGetTopWindow(gpFocusWin) != AWFindWinCtrlByName("WinFileList")) { AWHideWindow((PHWND)AWGetTopWindow(gpFocusWin)); ReloadLogo(Setup_Logo, sizeof(Setup_Logo)); GUIShowWindow("WinFileList") ;}

gpFocusWin WinFileListSetup_Logo logo WinFileList

INT32S AWIsVisibleWinControl(HWND *win_hwnd) Visible

Page 35: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

35

0 disvisble 1 visble

12.2 LOGO

void Display_Logo(const unsigned *logo_data, unsigned logo_length) logo

logo logo

Display_Logo(Main_Logo, sizeof(Main_Logo));

video_appmode_t video_appmode = {DISPCTL_MODE_480I, VIDEO_APPVMODE_480_480, VIDEO_APPHMODE_720, 0, DISPCTL_MODE_480I}; video_appmode_t video_appmode = {DISPCTL_MODE_480P, VIDEO_APPVMODE_480_480, VIDEO_APPHMODE_720, 0, DISPCTL_MODE_720P};

reloadlogo

target.cfg_table[0].size = logo_length + 0x500; logo logo target.cfg_table[0].size

9000 void ReloadLogo(const unsigned *logo_data, unsigned logo_length)

logo Display_Logo Display_Logologo

logo logo

ReloadLogo(Setup_Logo, sizeof(Setup_Logo)) ;// logo void AWSetHDScreen(int is_hd)

1 0

void AWFillRect(COORD x, COORD y, COORD width, COORD height) x y void AWPoint(COORD x, COORD y) x,y

Page 36: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

36

void AWLine(COORD x1, COORD y1, COORD x2, COORD y2)

x1,y1 x2,y2

void AWRect(COORD x, COORD y, COORD width, COORD height)

x y void AWRLEBitmap(COORD x, COORD y, const INT8U *imagebits) ICON x,y ICON void AWEllipse(COORD x, COORD y, COORD rx, COORD ry) void AWFillEllipse(COORD x, COORD y, COORD rx, COORD ry) void AWPoly(INT32S count, POINT *points)

2 void AWFillPoly(INT32S count, POINT *points)

2 void AWClearRect(COORD x, COORD y, COORD width, COORD height) x,y

Page 37: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

37

12.3

void set_bsp_mute(int on) GPIO TRUE FALSE int get_bsp_mute(void) MUTE MUTE

12.4

void AVTimeDly (INT16U ticks):

AVTimeDly(200);

12.5 USB

INT16U GetDriverNum() USB USB

0 1

12.6

PIXELVAL AWSetForeground(PIXELVAL fg)

0 15 16 Awizard ICON Generator

AWSetForeground(5);// 5

Page 38: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

38

PIXELVAL AWSetBackground(PIXELVAL bg)

0 15 16

AWSetBackground(0); // 0 PIXELVAL AWGetForeground(void)

PIXELVAL color ;// color

color = AWGetForeground() ;// color PIXELVAL AWGetBackground(void)

INT32S AWRegisterFont(PAWFONT new_font)

1 0 AWRegisterFont(&gChineseFont20) ;// ChineseFont20

void AWResourceInit(INT32U iMaxMemSize)

resource resource memory

AWResourceInit(0x80000);//

INT32S AWResourceRegister(INT16U res_file_id, CHARSTR *res_file_name,

CHARSTR *mem_res_file_addr) resource resource ID resource group ID resourceresource

0

AWResourceRegister((DIANXIN >> 16), "/dev/flash/MsgChinese.res",MsgChinese_mem); resource GROUP ID DIANXIN

void *AWGetResource(INT32U iResourceID, INT16U* pSourceLength) resource NULL

Page 39: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

39

p_str = (char *)AWGetResource(ERR_PRINT_73030300, &StrLen); resouce ERR_PRINT_73030300

12.7 IO

void gpio_set_dvi(DVI_HD_Pad_t pin, unsigned level) DVI GPIO gpio_set_dvi(DVI_HD_GP1, level);// DVI_HD_GP1 int gpio_get_dvi(DVI_HD_Pad_t pin) DVI GPIO void gpio_set_vd(unsigned pin, unsigned level) VD GPIO 0 7 int gpio_get_vd(unsigned pin) VD GPIO 0 7 AVOS IO aiclk csel

chipsupport.c IO int AVRegistryRead(unsigned short id, unsigned char *value, unsigned maxBytes)

ID ID

FALSE

AVRegistryRead(CONFIG_LANUAGE, addr, 1); int AVRegistryWrite(unsigned short id, unsigned char *value, unsigned numBytes) ID ID

FALSE AVRegistryWrite(CONFIG_LANUAGE, addr, 1) Int AVRegistryCreate(unsigned short id, unsigned numBytes)

Page 40: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

40

ID ID FALSE AVRegistryCreate(CONFIG_LANUAGE, 1)

12.8 APP

INT32S AWGetAppID(INT32U media_type,INT8U *app_id) APP ID *app_id APP MEDIA_SYSTEM MEDIA_GUI MEDIA_AVI ID

1 APP ID 0 pCmd = AWCommandSetMalloc() ; pCmd->command_num = 1 ; // pCmd->curr_executed_cmd_num = 0 ; // pCmd->commands[0] = CM_FILE_DEL ; // pCmd->commands_para[0] = (INT32U)pDelData; // pCmd->cmd_timeout_value[0] = 2 ; // 2S AWGetAppID(MEDIA_SYSTEM, &pCmd->app_id) ;// APP ID pCmd->app_id pCmd->ExecuteResultProcess = SystemCommandResponse ;// AWAddCommandSet(pCmd) ;// void AWAddCommandSet(PCMDSET pAddSet) APP cmd cmd INT32S AWAddCmdSet(INT8U iCmdNum, INT16U pCmds[], INT32U pCmdsParam[],

INT8U pCmdTimeOut[], INT8U iDestApp, CMDSETRESULTHANDLE pHandle) APP cmd AWAddCommandSetAWAddCommandSet cmd

AWAddCommandSet cmd APP ID

1 2 0 AWGetAppID(MEDIA_MP3, &my_app_id) ; pCmds = CM_QUIT ; pCmdsParam = 0 ; pCmdTimeOut = 2;

AWAddCmdSet(1, &pCmds, &pCmdsParam, &pCmdTimeOut, my_app_id, MP3PlayCmdResponse) ;

MP3 APP void AWAppSchedule(void)

Page 41: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

41

APP AWAppRunning INT32U *key_value = (INT32U *)msg_para ; switch(*key_value) { case UOP_END_PAUSE: AWAppSchedule() ; break ; case UOP_POWER: AWCloseAllRunningApp() ; break ; default: break; }

APP POWER APP INT8U AWGetAppStatus(INT8U app_id) APP APP ID APP ID 0xff void AWSetAppStatus(INT8U app_id, INT8U new_status) APP APP ID APP_IDLE APP_READY APP_RUNNING INT32S AWAppReady(INT8U app_id)

APP IDLE READY APP ID

0 1 ID APP IDLE INT32S AWAppRunning(INT8U app_id) APP APP ID 1 APP IDLE APP ID 0

APP void AWCloseRunningApp(INT8U app_id) APP APP ID void AWCloseAllRunningApp()

Page 42: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

42

APP AWCloseRunningApp int AWLoadVideoApp(int media_type, CMDSETRESULTHANDLE callback, char *file_name) CMD cmd 1 0

int PlayAVIFile(char *file_name){ AviInit() ; return AWLoadVideoApp(MEDIA_AVI, AviCmdResponse, file_name);

} AVI

int RunVOBPlayer(Playlist_t *playlist) VOB 1 0 if (RunVOBPlayer(playlist)) { AWPlaylistDelete2(playlist);

} // VOB int RunAVIPlayer(Playlist_t *playlist) int RunGPlayer(Playlist_t *playlist)

int RunPICPlayer(Playlist_t *playlist,unsigned char *logodata, unsigned logosize, unsigned flag) load logo Logo int PlayMP3File(char *file_name)

1 int PlayTxtFile(char *file_name, INT8U flag, INT16U line_interrupt, INT16U wide) TXT IMG 0 TXT 1 TXT TXT

1

if(item_type & MEDIA_TXT){ text = strrchr(item_name, '.') ; if(text) { if(strncmp(text,".IMG",4) == 0) { PlayTxtFile(item_name,TXT_PLAY_IMG, UPGRADE_OPEN_INTERRUPT, 0) ; GUIShowWindow("WinUpgrade") ; return 0 ; } }

PlayTxtFile(item_name, TXT_PLAY_TXT , TXT_DISPLAY_HIGH_IN_LINE, TXT_DISPLAY_WIDE_IN_PIXEL) ;

GUIShowWindow("WinDebug") ; }

Page 43: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

43

TXT IMG TXT

12.9 MESSAGE

INT32S AWSendMessage(PHWND hwnd, INT32U iMsgID,INT32S lpParam) 0 if(!(hwnd->style & WS_DISVISIBLE)) AWSendMessage(hwnd, WM_SHOWWINDOW, lpParam); BOOLEAN AWPostMessage(PHWND hwnd, INT32U iMsgID,INT32S lpParam) TRUE FALSE

INT32S WLogoTCSelect1OnLoseFocus(PHWND hwnd, INT32S lpParam){ focus_WLogoTCSelect1=0;

AWPostMessage(hwnd, WM_PAINT, 0) ; return 0 ; }

WLogoTCSelect1WM_PAINT OnPaint

12.10

INT32S FileNavCD(CHARSTR *pCDPath) 2

0 if(entry_pos == -1){ //back up dir return FileNavCD("..") ; } else{ FileNavSeek(entry_pos) ;

have_more_file = FileNavGetNextFileList(&file_list, &get_list_num, gGetFileType ) ;

if((get_list_num)&&(file_list.path_type & NAV_IS_DIR)){ return FileNavCD(file_list.short_name) ; }

Page 44: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

44

} entry_pos 1

INT32S FileNavGetNextFileList(PATHNODE *pDesList, INT32U *pListLength, INT32U iGetListFlag) 1 0

if(have_more_file){ /* Though "have more file", we need check if there is more file that has gGetFileType */

get_list_num=1; if(next_flag) FileNavGetNextFileList(&file_list, &get_list_num, gGetFileType ) ; else FileNavGetPrevFileList(&file_list, &get_list_num, gGetFileType ) ; if(get_list_num==0) have_more_file=0;

} next_flag

INT32S FileNavGetPrevFileList(PATHNODE *pDesList, INT32U *pListLength, INT32U iGetListFlag)

1 0 INT32S FileNavRefreshCurrentDir()

0 INT32S FileNavSeek(INT32U iPos) iRET FileNavSeek(entry_pos) ;// have_more_file = FileNavGetNextFileList(&file_list, &get_list_num, gGetFileType ) ; if((get_list_num)&&(file_list.path_type & NAV_IS_DIR)){ return FileNavCD(file_list.short_name) ; } CHARSTR* FileNavGetCurrDir(void):

Page 45: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

45

NULL if(pList->list_levels > 0){ dir_hwnd = AWFindWinCtrlByName("CurDir") ; if(dir_hwnd){ AWShowWinControl(dir_hwnd, 0) ; total_str_len = dir_hwnd->winrect.width - 40 ; dir_path = FileNavGetCurrDir() ; str_len = AWGetTextSize(&dir_path[5], 0,&total_str_len,&font_height,

&word_length, AWTF_ASCII) ; strncpy(gCurDirName, &dir_path[5], str_len) ; gCurDirName[str_len] = 0 ; AWPostMessage(dir_hwnd, WM_PAINT, 0) ; } }

0 CurDirgCurDirName

INT32U FileNavGetCurMediaType() INT32S FileNavCopy(const char *sur_file, const char *dst_file, INT8U copy_flag) 1 2

3 i_ret 0 file_name = strrchr(gCopyFilename, '/') ; name_len = strlen(file_name); file_path = FileNavGetCurrDir() ; name_len += strlen(file_path); gPasteFileName = (char *)AVMem_umalloc(name_len + 1) ; if(gPasteFileName){ snprintf(gPasteFileName, name_len, "%s%s", file_path, &file_name[1]) ; if(FileNavCopy(gCopyFilename, gPasteFileName, 1) == 0){ //success AWShowWinControl(AWFindWinCtrlByName("FileList"), 1) ; } AVMem_free(gPasteFileName) ; gPasteFileName = NULL; }

Page 46: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

46

INT32S FileNavDelete(const char *del_file) 1 2 0

INT32S FileNavMakeDir(const char *dir_name) 0 INT32S GetFileListCB(INT32S start_pos, INT8U get_num, TFILELISTITEM *entry_lists, INT8U next_flag) : FileNavGetNextFileList FileNavGetPrevFileList

1 0 have_more_file GetNextFileListCB GetPrevFileListCB

GetFileListCB GETFILEENTRYS get_next_entrysGETFILEENTRYS get_prev_entrys INT32S CDNewDir(INT32S entry_pos) FileNavCD FileNavCD

CDNEWENTRY cd_new_entry char *GetFullName(INT32S entry_pos , INT32U *entry_type) gCurFileName NULL gCurFileName

GETENTRYFULLNAMEANDTYPE get_entry_full_name INT32S CDRootDir(INT8U list_num, TFILELISTITEM *entry_lists) 8 1 FileNavCD("/mnt")

CDROOTENTRY cd_root_entry FileNavCD("/mnt")

Page 47: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

47

12.11

INT32S AWPlaylistInit(INT32S list_num, INT32U *list_media_type, INT16U *max_list_item_num)

1 memory -2 mutex 0

INT32U list_meida_type[2] = {AW_VIDEO_LIST|AW_PIC_LIST, AW_AUDIO_LIST} ; INT16U list_max_num[2] = {64, 256} ;

AWPlaylistInit(2,list_meida_type, list_max_num) ;

INT32S AWAddPlaylistItem(char *item_path, INT32U item_media_t, INT16U item_index) 1 2 0 if(!(file_list.path_type & NAV_IS_DIR)){ AWAddPlaylistItem(file_list.short_name, media_type , (INT16U)count) ;

}

char* AWGetFirstPlaylistItem(INT32U media_type) NULL file_name = AWGetFirstPlaylistItem(fsl->media_type); while (i-- > 0) { file_name = AWGetNextPlaylistItem(fsl->media_type); } char* AWGetNextPlaylistItem(INT32U media_type) NULL char* AWGetPrevPlaylistItem(INT32U media_type)

NULL char* AWGetCurrentPlaylistItem(INT32U media_type)

Page 48: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

48

NULL INT32S AWSetPlaylistPlayMode(INT32U list_media_type, INT16U play_mode)

PLAY_MODE_NORMAL PLAY_MODE_REPEAT_ALL PLAY_MODE_REPEAT_ONE PLAY_MODE_RANDOM PLAY_MODE_SUFFLE PLAY_MODE_DIR_REPEAT PLAY_MODE_ALL_MODE

1 0 INT16U AWGetPlaylistPlayMode(INT32U list_media_type)

0

INT32S AWClearPlaylist(INT32U list_media_type) 1 0 Playlist_t * fs_playlist_create(unsigned media_type, PlaylistType_t list_type, int starting_index) NULL if(item_type & AW_VIDEO_LIST){ //selected a VIDEO file, play it Playlist_t *playlist;// file_index = pList->filelist_items[pList->focused_item_index].filelist_item_id ; playlist = fs_playlist_create(AW_VIDEO_LIST & NAV_PATH_TYPE , PLAYLIST_TYPE_VIDEO,file_index); if(playlist) { if(item_type == MEDIA_MPEG1) { if (RunVOBPlayer(playlist)) { AWPlaylistDelete2(playlist); } } else if(item_type == MEDIA_AVI){ if (RunAVIPlayer(playlist)) { AWPlaylistDelete2(playlist);

Page 49: AVOS Program Guide ver1.2 - read.pudn.comread.pudn.com/downloads133/doc/567961/AVOS-Program-Guide-ver1.2.pdf · 1 AVOS Program Guide For AML 7XXX/6XXX Version 1.2 August 10, 2007

49

} } }

12.12

OnShow x draw_info ID hwnd->draw_info[x].draw_type |= DT_STRING_DATA_CENTER;

OnShow hwnd->draw_info[x].draw_type |= DT_STRING_DATA_WARP;

+ hwnd->draw_info[x].draw_type |= DT_STRING_DATA_WARP |

DT_STRING_DATA_CENTER ;

INT32S WinSetupMenuOnShow(PHWND hwnd, INT32S lpParam) {

hwnd->draw_info[x].draw_type |= DT_STRING_DATA_WARP; return 0;

}