📄 disk2.lst
字号:
C51 COMPILER V7.02b DISK2 03/16/2006 13:52:41 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE DISK2
OBJECT MODULE PLACED IN .\output\disk2.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE disk2.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\output\disk2.lst) OBJECT(.\
-output\disk2.obj)
stmt level source
1 /*
2 **********************************************************************************************
3 * Project: T8Lib
4 * File: crc.c
5 * Contents:
6 * The crc c file
7 *
8 * $Date: 10/13/05 Michal T8R01LIB v0.1 initial
9 * $Date: 11/29/05 Michal T8R01LIB v0.2 test finish both 51 and MCF5249
10 * $Date: 11/30/05 Michal T8R01LIB v0.3 make lib OK on MCF5249
11 * $Date: 12/01/05 Michal T8R01LIB v0.4 Add HW_IIC ,HW_SPI macro
12 * $Date: 12/02/05 Michal T8R01LIB v0.5 Add function below
13 * static void DoXX(BYTE* out ,BYTE* in,BYTE len,BOOL mode)
14 * static BOOL DoComunication(BYTE* array, BYTE len,BOOL mode)
15 *
16 * BOOL GetCustomIdWriteStatusCmd();
17 * BOOL GetCustomIdResponseCmd();
18 * BOOL ChallengeCustomIdCmd(BYTE * CId,BYTE len,BYTE Nvmoffset);
19 * BOOL IsCustomIdResponseCmd();
20 * BOOL WriteCustomIdCmd(BYTE * CId,BYTE len,BYTE Nvmoffset) ;
21 * BOOL IsWriteCustomIdReadyCmd();
22 * BOOL IsWriteCustomIdNotReadyCmd();
23 *
24 * Moidfy some *Cmd Fuction and Reply() function
25 * $Date: 12/05/05 Michal T8R02LIB v0.1 Add errcode1 to identify T8 off i2c bus state
26 * $Date: 12/29/05 Michal T8R02LIB v0.2
27 Modify InitezT8(BOOL mode ) to BOOL InitezT8Lib(BOOL ComMod,BYTE I2cSlvAdr,BOOL I2cIsHigh,B
-YTE SpiCLkMod,WORD SpiRate,BYTE *key);
28 void I2c_Init( ); void I2c_Sel( BYTE SlvAdr, BOOL isHigh) to void I2c_Init(BYTE
- SlvAdr, BOOL isHigh);
29 void Spi_Init();BOOL Spi_ClkSel(BYTE mode, WORD rate); To void Spi_Init(BYTE m
-ode, WORD rate);
30 Delete void SpiClkSelOpr(BYTE mode, WORD rate) ;
31 void I2c_Sel( BYTE SlvAdr, BOOL isHigh);
32 void SetXXKey(BYTE* key);
33 * $Date: 12/29/05 Michal T8R02LIB v0.5 test communiction at 400khz speed is OK
34 * Copyright (c) 2005 Fameg, Inc. All rights reserved
35 ***********************************************************************************************
36 */
37
38 #include "ezT8i.h"
39 //-----------------------------------------------------------------------------
40 // Calculate crc
41 // return: crc value
42 //
43 //-----------------------------------------------------------------------------
44 WORD uCal(BYTE *dat, BYTE len){
45 1
46 1 data UNCRCWORD c;
47 1 data UNCRCWORD r;
48 1 data UNCRCBYTE x;
49 1 data UNCRCBYTE d;
50 1 int i;
51 1
C51 COMPILER V7.02b DISK2 03/16/2006 13:52:41 PAGE 2
52 1 c.wCrcVal = 0xffff;
53 1
54 1 for( i = 0; i < len; i ++){
55 2
56 2 //calculate one byte
57 2 d.bCrcVal = *(dat + i);
58 2
59 2 x.bCrc.d8 = c.wCrc.d9 ^ d.bCrc.d8 ;
60 2 x.bCrc.d7 = c.wCrc.d10 ^ d.bCrc.d7 ;
61 2 x.bCrc.d6 = c.wCrc.d11 ^ d.bCrc.d6 ;
62 2 x.bCrc.d5 = c.wCrc.d12 ^ d.bCrc.d5 ;
63 2 x.bCrc.d4 = c.wCrc.d13 ^ d.bCrc.d4 ;
64 2 x.bCrc.d3 = c.wCrc.d14 ^ d.bCrc.d3 ;
65 2 x.bCrc.d2 = c.wCrc.d15 ^ d.bCrc.d2 ;
66 2 x.bCrc.d1 = c.wCrc.d16 ^ d.bCrc.d1 ;
67 2
68 2 r.wCrc.d16 = c.wCrc.d8 ^ x.bCrc.d8 ^ x.bCrc.d7 ^ x.bCrc.d6 ^ x.bCrc.d5 ^ x.bCrc.d4 ^ x.bCrc.d3 ^ x.
-bCrc.d2 ^ x.bCrc.d1 ;
69 2 r.wCrc.d15 = c.wCrc.d7 ;
70 2 r.wCrc.d14 = c.wCrc.d6 ;
71 2 r.wCrc.d13 = c.wCrc.d5 ;
72 2 r.wCrc.d12 = c.wCrc.d4 ;
73 2 r.wCrc.d11 = c.wCrc.d3 ;
74 2
75 2 r.wCrc.d10 = c.wCrc.d2 ^ x.bCrc.d1 ;
76 2 r.wCrc.d9 = c.wCrc.d1 ^ x.bCrc.d2 ^ x.bCrc.d1 ;
77 2 r.wCrc.d8 = x.bCrc.d3 ^ x.bCrc.d2 ;
78 2 r.wCrc.d7 = x.bCrc.d4 ^ x.bCrc.d3 ;
79 2 r.wCrc.d6 = x.bCrc.d5 ^ x.bCrc.d4 ;
80 2 r.wCrc.d5 = x.bCrc.d6 ^ x.bCrc.d5 ;
81 2 r.wCrc.d4 = x.bCrc.d7 ^ x.bCrc.d6 ;
82 2 r.wCrc.d3 = x.bCrc.d8 ^ x.bCrc.d7 ;
83 2 r.wCrc.d2 = x.bCrc.d7 ^ x.bCrc.d6 ^ x.bCrc.d5 ^ x.bCrc.d4 ^ x.bCrc.d3 ^ x.bCrc.d2 ^ x.bCrc.d1 ;
84 2 r.wCrc.d1 = x.bCrc.d8 ^ x.bCrc.d7 ^ x.bCrc.d6 ^ x.bCrc.d5 ^ x.bCrc.d4 ^ x.bCrc.d3 ^ x.bCrc.d2 ^ x.b
-Crc.d1 ;
85 2
86 2 c.wCrcVal = r.wCrcVal;
87 2 }
88 1
89 1 c.wCrc.d16=~r.wCrc.d1;
90 1 c.wCrc.d15=~r.wCrc.d2;
91 1 c.wCrc.d14=~r.wCrc.d3;
92 1 c.wCrc.d13=~r.wCrc.d4;
93 1 c.wCrc.d12=~r.wCrc.d5;
94 1 c.wCrc.d11=~r.wCrc.d6;
95 1 c.wCrc.d10=~r.wCrc.d7;
96 1 c.wCrc.d9=~r.wCrc.d8;
97 1 c.wCrc.d8=~r.wCrc.d9;
98 1 c.wCrc.d7=~r.wCrc.d10;
99 1 c.wCrc.d6=~r.wCrc.d11;
100 1 c.wCrc.d5=~r.wCrc.d12;
101 1 c.wCrc.d4=~r.wCrc.d13;
102 1 c.wCrc.d3=~r.wCrc.d14;
103 1 c.wCrc.d2=~r.wCrc.d15;
104 1 c.wCrc.d1=~r.wCrc.d16;
105 1
106 1 return (c.wCrcVal);
107 1 }
108
109
110 /*main(){
111 WORD retVal;
C51 COMPILER V7.02b DISK2 03/16/2006 13:52:41 PAGE 3
112
113 BYTE aa[]={0x87,0x7e ,0xae ,0xa2 ,0x25 ,0x95 ,0x80 ,0x29 , 0x33,0x1c}; //33 1c OK
114 BYTE ff[]={0x52 ,0x03 ,0x08 ,0x04 ,0x17 ,0xc4 ,0x44 ,0x4a
115 ,0x48 ,0xa5 ,0x5d ,0x49 ,0xd7 ,0x61 ,0xe3 ,0xc6
116 ,0xf8 ,0x5d ,0x3e ,0xf3 ,0x3b ,0x3b ,0xeb ,0x66
117 ,0xd6 ,0x9c ,0x1a ,0xce ,0x5b ,0x76 ,0x50 ,0x82 ,0x3b}; //3f 7a
118
119
120 BYTE cc[]= {0x00, 0x01 , 0xF6 , 0x7F , 0x00 , 0x00 , 0x02 , 0x00,0xaf,0x08}; //f5 10
121 BYTE dd[]= {0x00, 0x80 , 0x6F , 0xFE , 0x00 , 0x00 , 0x40 , 0x00};
122 BYTE ee[]= {0x00, 0x40 ,0xFF,0xBF};//, 0x00 , 0x00 , 0xFE , 0x6F , 0x80 , 0x00};
123
124 BYTE bb[]={0x3a,0x43,0xbc ,0xa4 ,0x4f ,0xaf ,0xf3 ,0xba,0xc6,0xc8}; //c2 58
125
126
127 // InitCRC();
128 while(1)
129 {
130 retVal=0;
131 retVal=uCalCRC(bb,sizeof(bb)-2);
132 retVal=uCalCRC(bb,sizeof(bb));
133
134 retVal=uCalCRC(aa,8);
135 retVal=uCalCRC(aa,10);
136
137 retVal=uCalCRC(ff,sizeof(ff)-2);
138 retVal=uCalCRC(ff,sizeof(ff));
139
140 retVal=uCalCRC(cc,8);
141 retVal=uCalCRC(cc,10);
142
143 retVal=uCalCRC(ee,2);
144 retVal=uCalCRC(ee,4);
145 }
146 }*/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1789 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 6
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
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 + -