|
|
@ -4,44 +4,12 @@ |
|
|
|
#include "../msp/msp_id.h" |
|
|
|
|
|
|
|
struct global_param G; |
|
|
|
struct ts_eeprom_param eep_param; |
|
|
|
struct ts_eeprom_enc eep_enc; |
|
|
|
|
|
|
|
#define EEP_SECTOR_SIZE 0x200 |
|
|
|
#define EEP_PARAM_ADDR (EEP_SECTOR_SIZE * 0) |
|
|
|
#define EEP_ENC_ADDR (EEP_SECTOR_SIZE * 0) |
|
|
|
#define ENC_KEY 0x01010101 |
|
|
|
|
|
|
|
#if 0 |
|
|
|
void L3_eeprom_read(void) |
|
|
|
{ |
|
|
|
U8 dlen = 0; |
|
|
|
L0_Iap_Read_array(EEP_PARAM_ADDR, (U8*)&eep_param, 2 + EEPROM_PARAM_DATA_MAX + 2); |
|
|
|
if(eep_param.filter == EEPROM_PARAM_FILTER) |
|
|
|
{ |
|
|
|
dlen = eep_param.len - 2; |
|
|
|
crc16(eep_param.crc,(U8*)&eep_param,2+dlen); |
|
|
|
if(eep_param.crc[0] == eep_param.buf[dlen] && eep_param.crc[1] == eep_param.buf[dlen+1]) |
|
|
|
{ |
|
|
|
L0_uart0_uc('#'); |
|
|
|
Lc_buf_copy_uc((U8*)&G.p,(U8*)eep_param.buf,dlen); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
void L3_eeprom_persist(void) |
|
|
|
{ |
|
|
|
U8 dlen = MCU_ID_KEY_LEN + MCU_ID_LEN; |
|
|
|
eep_param.filter = EEPROM_PARAM_FILTER; |
|
|
|
eep_param.len = dlen + 2; |
|
|
|
Lc_buf_copy_uc((U8*)eep_param.enc_key,(U8*)&G.enc_key,MCU_ID_KEY_LEN); |
|
|
|
Lc_buf_copy_uc((U8*)eep_param.enc_val,(U8*)&G.mcu_enc_id,MCU_ID_LEN); |
|
|
|
crc16(eep_param.crc, &eep_param, 2+dlen); |
|
|
|
|
|
|
|
L0_Iap_Erase(EEP_PARAM_ADDR); |
|
|
|
L0_Iap_Program_array(EEP_PARAM_ADDR, (U8*)&eep_param, 2 + dlen + 2); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void L3_chip_encrypt_main(void) |
|
|
|
{ |
|
|
|
U8 i = 0; |
|
|
@ -57,8 +25,14 @@ void L3_chip_encrypt_main(void) |
|
|
|
//2.ID加密
|
|
|
|
Lc_encrypt_id(G.mcu_enc_id,G.mcu_id, ENC_KEY, MCU_ID_LEN); |
|
|
|
|
|
|
|
//3.写入EEPROM
|
|
|
|
L3_eeprom_persist(); |
|
|
|
//3.构造数据结构
|
|
|
|
Lc_buf_copy_uc((U8*)eep_enc.enc_key,(U8*)&G.enc_key,MCU_ID_KEY_LEN); |
|
|
|
Lc_buf_copy_uc((U8*)eep_enc.enc_val,(U8*)&G.mcu_enc_id,MCU_ID_LEN); |
|
|
|
crc16(eep_enc.crc, &eep_enc, MCU_ID_KEY_LEN + MCU_ID_LEN); |
|
|
|
|
|
|
|
//4. 写入EEPROM
|
|
|
|
L0_Iap_Erase(EEP_ENC_ADDR); |
|
|
|
L0_Iap_Program_array(EEP_ENC_ADDR, (U8*)&eep_enc, MCU_ID_KEY_LEN + MCU_ID_LEN + 2); |
|
|
|
|
|
|
|
L0_uart0_uc('Y'); |
|
|
|
} |
|
|
|