|
@@ -126,6 +126,52 @@ BootLoaderDataCheck_st MBIC_FileDataCheck(uint8_t* data){
|
126
|
126
|
}
|
127
|
127
|
|
128
|
128
|
|
|
129
|
+uint8_t* MBIC_HeaderMergeFunction(uint8_t* data, uint32_t CrcIndex)
|
|
130
|
+{
|
|
131
|
+ byte[] ret = new byte[data.Length + 22 + 3];
|
|
132
|
+ UInt16 CRCData = CRC16_Generate(data,data.Length);
|
|
133
|
+
|
|
134
|
+ ret[(int)MBICProt_st.MBIC_PAYLOADSTART + CrcIndex + 0] = Convert.ToByte((CRCData & 0xFF00) >> 8);
|
|
135
|
+ ret[(int)MBICProt_st.MBIC_PAYLOADSTART + CrcIndex + 1] = Convert.ToByte((CRCData & 0x00FF));
|
|
136
|
+ ret[(int)MBICProt_st.MBIC_PAYLOADSTART + CrcIndex + 2] = 0x03;
|
|
137
|
+
|
|
138
|
+ ret[(int)MBICProt_st.MBIC_PREAMBLE_0] = MBIC_PREAMBLE0;
|
|
139
|
+ ret[(int)MBICProt_st.MBIC_PREAMBLE_1] = MBIC_PREAMBLE1;
|
|
140
|
+ ret[(int)MBICProt_st.MBIC_PREAMBLE_2] = MBIC_PREAMBLE2;
|
|
141
|
+ ret[(int)MBICProt_st.MBIC_PREAMBLE_3] = MBIC_PREAMBLE3;
|
|
142
|
+
|
|
143
|
+ ret[(int)MBICProt_st.MBIC_SUBUID_0] = MBIC_SUBUID0;
|
|
144
|
+ ret[(int)MBICProt_st.MBIC_SUBUID_1] = MBIC_SUBUID1;
|
|
145
|
+
|
|
146
|
+ ret[(int)MBICProt_st.MBIC_RCODE_0] = 0;
|
|
147
|
+
|
|
148
|
+ ret[(int)MBICProt_st.MBIC_TRID_0] = 0;
|
|
149
|
+ ret[(int)MBICProt_st.MBIC_TRID_1] = 0;
|
|
150
|
+
|
|
151
|
+ ret[(int)MBICProt_st.MBIC_SEQSUM_0] = 0;
|
|
152
|
+
|
|
153
|
+ ret[(int)MBICProt_st.MBIC_TTL_0] = 0;
|
|
154
|
+
|
|
155
|
+ ret[(int)MBICProt_st.MBIC_TIME_0] = 0;
|
|
156
|
+ ret[(int)MBICProt_st.MBIC_TIME_1] = 0;
|
|
157
|
+ ret[(int)MBICProt_st.MBIC_TIME_2] = 0;
|
|
158
|
+ ret[(int)MBICProt_st.MBIC_TIME_3] = 0;
|
|
159
|
+ ret[(int)MBICProt_st.MBIC_TIME_4] = 0;
|
|
160
|
+ ret[(int)MBICProt_st.MBIC_TIME_5] = 0;
|
|
161
|
+ ret[(int)MBICProt_st.MBIC_ERRRESPONSE_0] = MBIC_ERRRESPONSE;
|
|
162
|
+
|
|
163
|
+ ret[(int)MBICProt_st.MBIC_CMD_0] = MBIC_ERRRESPONSE;
|
|
164
|
+
|
|
165
|
+ ret[(int)MBICProt_st.MBIC_LENGTH_0] = MBIC_ERRRESPONSE;
|
|
166
|
+ ret[(int)MBICProt_st.MBIC_LENGTH_1] = MBIC_ERRRESPONSE;
|
|
167
|
+
|
|
168
|
+ ret[(int)MBICProt_st.MBIC_HEADERCHECKSUM_0] = Chksum_Create(ret);
|
|
169
|
+
|
|
170
|
+ for(int i = 0; i < data.Length; i ++)
|
|
171
|
+ ret[(int)MBICProt_st.MBIC_PAYLOADSTART + i] = data[i];
|
|
172
|
+
|
|
173
|
+ return ret;
|
|
174
|
+}
|
129
|
175
|
|
130
|
176
|
void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
|
131
|
177
|
uint8_t datatype = data[MBIC_PAYLOADSTART];
|
|
@@ -143,11 +189,11 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
|
143
|
189
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
144
|
190
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
145
|
191
|
};
|
146
|
|
- MBIC_FileDataCheck(dataTest);
|
147
|
192
|
|
148
|
193
|
#endif // PYJ.2020.06.04_END --
|
|
194
|
+ MBIC_FileDataCheck(&data[MBIC_PAYLOADSTART]);
|
149
|
195
|
|
150
|
|
-
|
|
196
|
+
|
151
|
197
|
// printf("RX");
|
152
|
198
|
// for(int i = 0; i < 128; i++)
|
153
|
199
|
// printf("%c",*data++);
|