📄 e2prom.lst
字号:
C51 COMPILER V8.05a E2PROM 01/05/2009 15:57:49 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE E2PROM
OBJECT MODULE PLACED IN .\OBJ\E2prom.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE e2prom\E2prom.c LARGE BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT(.\L
-ist\E2prom.lst) OBJECT(.\OBJ\E2prom.obj)
line level source
1
2 /******************************************************************************\
3 Project Version: MTKCARDVD()
4 ********************************************************************************
5 Filename: E2prom.c
6
7 Author: Alan Chan
8
9 Company: CoreTek/ACT Company
10
11 ********************************************************************************
12 File Version: 1.01
13 File Created: July 2007
14
15 Compiled Using: keil uVision2 Version 2.23
16
17 ********************************************************************************
18 Files Required:
19
20 ********************************************************************************
21 File Description:
22
23 ********************************************************************************
24 File History:
25
26 --------------------------------------------------------------------------------
27 Date Name Description
28 --------------------------------------------------------------------------------
29 Mar. 2007 Alan Chan File Created
30
31 \******************************************************************************/
32 #include "global.h"
33 #include "tv.h"
34
35 #include "e2prom.h"
36
37 extern void RadioLoadDefaultData(void);
38 extern void RadioStationSend2DVD(void);
39 #ifdef SUPPORT_UART_PRINTF //martin 16Oct08
40 extern void DRS232LogS(char *pcStr);
41 #endif
42 /****************************************************************************/
43 void vInitialI2C(void)
44 {
45 1 bNoAck = 0;
46 1 EEP_Wait = 0;
47 1 IIC_Stop(0);
48 1 IIC_Stop(1);
49 1 }
50
51 /****************************************************************************/
52 void WriteE2prom(WORD addr,BYTE *databuf,WORD length)
53 {
54 1 BYTE id,temp;
C51 COMPILER V8.05a E2PROM 01/05/2009 15:57:49 PAGE 2
55 1 union W_TEMP addr1;
56 1
57 1 addr1.valW = addr;
58 1
59 1 while( length > 0)
60 1 {
61 2 id = I2C_EEP_ADDR + (addr1.valB[0] << 1);
62 2 temp = EEPROM_PBYTE -(addr1.valB[1]&(EEPROM_PBYTE-1));
63 2 if( temp > length)
64 2 temp = length;
65 2
66 2 while(EEP_Wait > 0);
67 2
68 2 IICSW_Write(0,id,1,addr1.valB[1],databuf,temp);
69 2 EEP_Wait = EEPROM_PTIME;
70 2
71 2 length -= temp;
72 2 addr1.valW += temp;
73 2 databuf += temp;
74 2 }
75 1
76 1 }
77
78 /****************************************************************************/
79 void ReadE2prom(WORD addr,BYTE *databuf,WORD number)
80 {
81 1 BYTE id;
82 1 union W_TEMP addr1;
83 1
84 1 addr1.valW = addr;
85 1 id = I2C_EEP_ADDR + (addr1.valB[0] << 1);
86 1 while(EEP_Wait > 0);
87 1 IICSW_Read(0,id,1,addr1.valB[1],databuf,number);
88 1 }
89 /****************************************************************************/
90 BOOL fgEepromWriteByte(WORD wAddr,BYTE bData)
91 {
92 1 WriteE2prom(wAddr, &bData, 1);
93 1 return (TRUE);
94 1 }
95 BYTE bEepromReadByte(WORD wAddr)
96 {
97 1 BYTE bData;
98 1
99 1 ReadE2prom(wAddr, &bData,1);
100 1 return (bData);
101 1 }
102
103 void PowerDownSaveToE2prom(void)
104 {
105 1 WriteE2prom(SYSMODE_POS, &SysMode, 1);
106 1
107 1 WriteE2prom(TV_LAST_CH_POS, &bTvCurrChIndex, 1);
108 1 #ifdef MARTIN_SUPPORT_SHOW_TV_VERSION //31Jul08
109 1 WriteE2prom(TV_VERSION_POS, &fgTvVersion, 1);
110 1 #else
WriteE2prom(TV_LAST_CH_AUDIO_POS, &bTvCurrSound, 1);
#endif
113 1 WriteE2prom(TV_TOTAL_CH_POS, &bTvTotalCh, 1);
114 1 }
115
116 /****************************************************************************/
C51 COMPILER V8.05a E2PROM 01/05/2009 15:57:49 PAGE 3
117 void LoadE2promDefault(void)
118 {
119 1 BYTE bTmp[6];
120 1 #ifdef SUPPORT_UART_PRINTF
121 1 DRS232LogS(" E2prom is New.\n");
122 1 #endif
123 1
124 1 bTmp[0] = CORETEK_ID;
125 1 WriteE2prom(CORETEK_ID_ADDR, &bTmp, 1);
126 1 // system mode
127 1 bTmp[0] = DVD_MODE;
128 1 WriteE2prom(SYSMODE_POS, &bTmp, 1);
129 1
130 1 // tv
131 1 bTmp[0] = bTvTotalCh = 0;
132 1 WriteE2prom(TV_TOTAL_CH_POS, &bTmp, 1);
133 1 bTmp[0] = bTvCurrChIndex = 1; //01Sep09 0;
134 1 WriteE2prom(TV_LAST_CH_POS, &bTmp, 1);
135 1 #ifdef MARTIN_SUPPORT_SHOW_TV_VERSION //31Jul08
136 1 fgTvVersion= TV_VERSION_VALUE; //31Jul08
137 1 _bSearchPercent=fgTvVersion;
138 1 bTmp[0] = fgTvVersion;
139 1 WriteE2prom(TV_VERSION_POS, &bTmp, 1);
140 1 // bTvCurrSound = TV_SOUND_DEFAULT;
141 1 #else
bTmp[0] = bTvCurrSound = TV_SOUND_DEFAULT;//TV_SOUND_BG; martin 14May08
WriteE2prom(TV_LAST_CH_AUDIO_POS, &bTmp, 1);
#endif
145 1 #ifdef MARTIN_TUNER_TYPE_SELECT
146 1 fgTunerType=TV_TYPE_DEFAULT;
147 1 bTunerDeafultVal=(TV_TYPE_DEFAULT <<6)||(TV_SOUND_DEFAULT <<3) ||(TV_SYSTEM_DEFAULT);//0xd0; //PAL I
148 1 bTmp[0] = bTunerDeafultVal; // = bTunerVal; //05Aug08
149 1 WriteE2prom(TV_TUNER_TYPE_POS, &bTmp, 1);
150 1 #endif
151 1
152 1 sTvCurrChannel.wFreq =VHF_LOW_BOT; //martin 16Oct08
153 1 sTvCurrChannel.bSystem=(0xc0 | bTunerDeafultVal);//bTunerVal;
154 1 bTvCurrSound=(bTunerDeafultVal & 0x38 )>>3;
155 1 #ifdef SUPPORT_UART_PRINTF
156 1 DRS232LogS("New E2prom is ok.\n");
157 1 #endif
158 1
159 1 }
160
161 /****************************************************************************/
162 void vInitialE2prom(void)
163 {
164 1 BYTE bTmp;//, page;
165 1 #ifdef SUPPORT_UART_PRINTF
166 1 DRS232LogS("Initial E2prom Start.\n");
167 1 #endif
168 1
169 1 bTmp = 0;
170 1 ReadE2prom(CORETEK_ID_ADDR, &bTmp, 1);
171 1 if(bTmp!=CORETEK_ID)
172 1 {
173 2 LoadE2promDefault();
174 2 return;
175 2 }
176 1
177 1 /////////////// TV Software Version /////////////////////////////////////
178 1 #if 0 // #ifdef MARTIN_SUPPORT_SHOW_TV_VERSION //31Jul08
C51 COMPILER V8.05a E2PROM 01/05/2009 15:57:49 PAGE 4
bTmp=fgTvVersion;
WriteE2prom(TV_VERSION_POS, &bTmp, 1);
#endif
182 1 /////////////////////////////////////////////////////////////////////////
183 1
184 1 /////////////////////////////////////////////////////////////////////////
185 1 // Sysmode
186 1 /////////////////////////////////////////////////////////////////////////
187 1 ReadE2prom(SYSMODE_POS, &bTmp, 1);
188 1 SysMode = NextSysMode = bTmp;
189 1
190 1 /////////////////////////////////////////////////////////////////////////
191 1 // TV
192 1 /////////////////////////////////////////////////////////////////////////
193 1 LoadTVData();
194 1
195 1 return;
196 1 }
197
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 716 ----
CONSTANT SIZE = 59 ----
XDATA SIZE = ---- 29
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -