Re: 關於 APP-ESS18-2 EVB 的 Crypto 相關問題請於此討論串發問及回覆

作者 Libra 於 2018年12月21日 17:18:42
Example code implement.
以下範例用來讀回EVB上已經provision完成的ECC608的Configure zone 前面32個Byte. I2C_Address 須為 0x68

1. 在main()外面宣告外部參照
extern COMMAND_PACKAGE cmd_READ32_CFG;

2. 在TODO 0之後加入以下代碼
// 註冊Hardware interface為 I2C, 並使用 0x68位置來通信
ECCx08_Interface(INTERFACE_I2C, ECC608_I2C_ADDRESS);

// 傳送讀取Configure Zone前面32Byte的命令給ECC608
// ECC608會將結果傳回, 將結果存到SysBuffer[]中
// 終端機會印出傳回的結果
ECCx08_Send(&cmd_READ32_CFG, (uint8_t*)"(ReadCFG32 I2C 608)");

while(1);

3. 讀回的結果會印出來到終端機
Start CryptoAuth

>>I2C(Host)

Wake-up ACK:
- 04 11 33 43

READ (ReadCFG32 I2C 608):
- 03
- 07 02 80 00 00
- 09 AD

- Response :
- 23
- 01 23 98 10 00 00 60 02
- 60 93 C0 87 EE 01 39 00
- D0 00 55 00 87 20 80 80
- 83 20 8F 8F 8F 8F C3 C4
- 04 19

4. ECC508 的 I2C_Addres byte在第0x10個Byte
D0 = 1101 0000 最後一個bit忽視
所以當前ECC608的I2C Address為 110 1000 = 0x68
(當然! 不然也讀不回來)

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=17&topic_id=22499&post_id=79096