📄 main.lst
字号:
C51 COMPILER V8.01 MAIN 04/17/2008 09:54:43 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\Debug\main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main\main.c LARGE OPTIMIZE(9,SIZE) REGFILE(.\Debug\VA4010_SDK_V2.ORC) BROWS
-E NOINTPROMOTE INCDIR(.\common;.\e2prom;.\file;.\fmtx;.\ir;.\keyboard;.\lcm;.\led;.\main;.\matrixkey;.\mp3ctrl;.\sd;.\us
-bhost;.\include;.\lib) DEBUG OBJECTEXTEND PRINT(.\Debug\main.lst) OBJECT(.\Debug\main.obj)
line level source
1 /****************************************************************
2 * Viaon Technology (Suzhou) Co.,Ltd
3 *
4 * Copyright 2007, Viaon Technology (Suzhou) Co.,Ltd,Suzhou,China
5 * All rights reserved.
6 *
7 *
8 * Filename: main.c
9 *
10 * Programmer: Greg
11 *
12 * Created: 1/2/2008
13 *
14 * Description: public functions
15 *
16 *
17 * Change History (most recent first): 2008.1.2
18 ****************************************************************/
19 //#include <stdio.h>
20 //#include <intrins.h>
21 //#include <string.h>
22
23 #include "utiltypedef.h"
24 #include "va4010reg.h"
25 #include "common.h"
26 #include "timer.h"
27 #include "halmp3dec.h"
28 #include "hali2c.h"
29 #include "hallcm.h"
30 #include "halir.h"
31 #include "halfm.h"
32 #include "libfatif.h"
33 #include "4010UI.h"
34 #include "halvol.h"
35 #include "halsdif.h"
36 #include "halusbhif.h"
37 #include "halinfo.h"
38 #include "halrunled.h"
39 #include "haldevchk.h"
40 #include "display.h"
41
42 BYTE data FSMState;
43 BYTE DBUF[SECT_LEN]; // 512B data buffer
44 STREAM *fd_mp3;
45 BYTE volatile data keystatus;
46 BYTE volatile data mp3status = MP3STATUS_IDLE;
47 ST_SEARCH_INFO Mp3SearchInfo;
48 ST_MP3_SREQ data Mp3SReq;
49 //extern BYTE code MyCarDot[];
50
51 #ifdef SDENUM_RETRY_ENABLE
extern BYTE data bDEVFlag;
#endif
C51 COMPILER V8.01 MAIN 04/17/2008 09:54:43 PAGE 2
54 static void _VA4010Reset(void)
55 {
56 1 //HW reset
57 1 MP3_DEC_DISABLE();//Mp3Ctrl = 0x04; //Disable and mute MP3 dec
58 1
59 1 //global variable clear
60 1 FSMState = FSMSTATE_USB;
61 1 keystatus = KEY_STATUS_NOKEY;
62 1 fd_mp3 = NULL;
63 1 //mp3status = MP3STATUS_IDLE;
64 1
65 1 #ifdef ENABLE_PLAYMODE_KEY
bPMode = MP3_PMODE_REPEAT; // Default Repeat All
#endif
68 1
69 1 return;
70 1 }
71
72 static void _halDevInit(void)
73 {
74 1 UartOutText("-I-: halDevInit() \r\n");
75 1
76 1 #if (UART_DEBUG == UART_DEBUG_ENABLE)
SCON = SCON_BLAZE; // set UART speed 115200bps
#endif
79 1
80 1 P3_DDR &= 0xf7;//P3^3 IR input direc.
81 1 MUTE_HW();
82 1 UartOutText("----MUTE_HW----\r\n");
83 1 halINTInit();
84 1 DispInit();
85 1 halLEDInit();
86 1 return;
87 1 }
88
89 /*------------------------------------------------------------------------------------*/
90 void main(void)
91 {
92 1 BYTE devid;
93 1 DISABLE_INTERRUPTS;
94 1
95 1 halCheckInfo1();
96 1 _halDevInit();
97 1 _VA4010Reset();
98 1
99 1 #ifdef SDENUM_RETRY_ENABLE
//ReadE2PRom((BYTE*)&bDEVFlag, sizeof(bDEVFlag), SDENUM_PAGE_ADDR<<E2PROM_PAGE_SIZEEXP);
Read_N_Bytes((BYTE*)&bDEVFlag, sizeof(bDEVFlag), SDENUM_PAGE_ADDR<<E2PROM_PAGE_SIZEEXP);
if(bDEVFlag == SD_ENUMGOING_FLAG){
UartOutText("\rread SD_ENUMGOING_FLAG\t\n");
FSMState = FSMSTATE_SD;
}
#endif
107 1
108 1 while(1){
109 2 //usb Attach detect
110 2 if(FSMState==FSMSTATE_USB){
111 3 UartOutText("-----FSMSTATE_USB\r\n");
112 3 SysTicks = 0;
113 3 while(SysTicks < 10);
114 3 if(halUsbInit() == TRUE){
115 4 halLCMClear(0, 3);
C51 COMPILER V8.01 MAIN 04/17/2008 09:54:43 PAGE 3
116 4 halLCMWriteData(32, 1,"USB", 3);
117 4 if(halUsbEnum()){
118 5 DelayMs(2000);
119 5 UartOutText("-I-: USB_DISK \r\n");
120 5 devid = USB_DISK;
121 5 FSMState = FSMSTATE_ATTACHED;
122 5 }
123 4 }else{
124 4 DelayMs(200);
125 4 #ifdef ENABLE_SD_CARD
126 4 FSMState = FSMSTATE_SD;
127 4 #endif
128 4 }
129 3 }
130 2
131 2 #ifdef ENABLE_SD_CARD
132 2 //sd Attach detect
133 2 if(FSMState == FSMSTATE_SD){
134 3 UartOutText("-----FSMSTATE_SD\r\n");
135 3 SysTicks = 0;
136 3 while(SysTicks < 10);
137 3 if(halSDCheck()){
138 4 halLCMClear(0, 3);
139 4 halLCMWriteData(40,1, "SD", 2);
140 4 halSDInit();
141 4 UartOutText("-I-: SD_DISK \r\n");
142 4 devid = SD_DISK;
143 4 FSMState = FSMSTATE_ATTACHED;
144 4 }else
145 3 FSMState = FSMSTATE_USB;
146 3 }
147 2 #endif
148 2 //File System Init
149 2 if(FSMState == FSMSTATE_ATTACHED){
150 3 FileSystemInit();
151 3 DriveAdd(devid);
152 3 UartOutText("\r\n\r\n------------------\r\n");
153 3 Mp3SReq.bySType = SEARCH_MP3_TOTALCNT;// Search through the whole disk for total mp3 counter.
154 3 FileSearch(&Mp3SearchInfo, &Mp3SReq);
155 3 halCheckMp3Info();
156 3 keystatus = KEY_STATUS_PLAYPAUSE;
157 3 mp3status = MP3STATUS_WAKEUP;
158 3 FSMState = FSMSTATE_INIT;
159 3 }
160 2
161 2 if(FSMState == FSMSTATE_INIT){
162 3 if(halMp3Req(fd_mp3) == MP3_DATREQ_OVER){
163 4 MP3_DEC_DISABLE();
164 4 UartOutText("\r\n/*---------OV--------------*/\r\n");
165 4 #if 0
//Check Device Disattachment
if(halDevCheck(devid, DEV_CHECK_CUR) == FALSE){
UartOutText("Current device removed\r\n");
//FSMState = FSMSTATE_USB;
//FSMState = FSMSta[drv->DevID];
keystatus = KEY_STATUS_DEVCHG;
}else{
#endif
174 4 #ifdef ENABLE_PLAYMODE_KEY
if(bPMode == MP3_PMODE_REPEAT1){
mp3status = MP3STATUS_WAKEUP;
keystatus = KEY_STATUS_PLAYPAUSE;
C51 COMPILER V8.01 MAIN 04/17/2008 09:54:43 PAGE 4
}else{
Mp3SReq.bySType = SEARCH_MP3_NEXT;
keystatus = KEY_STATUS_PLAYPAUSE;
mp3status = MP3STATUS_IDLE;
}
#else
184 4 Mp3SReq.bySType = SEARCH_MP3_NEXT;
185 4 keystatus = KEY_STATUS_PLAYPAUSE;
186 4 mp3status = MP3STATUS_IDLE;
187 4 #endif
188 4 //}
189 4 }
190 3 halVolSmthFSM();
191 3
192 3 halDevPnP();
193 3 }
194 2
195 2 halIRHandle();
196 2 halKeyFSM();
197 2 DispFSM();
198 2 halRunLED();
199 2 halKeyHandle(FSMState);
200 2
201 2 }
202 1
203 1 return;
204 1 }
205
206
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 232 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 523 1
PDATA SIZE = ---- ----
DATA SIZE = 10 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -