intiial commit
Dependencies: MAX8614X USBDevice max32630hsp_test
Diff: main.cpp
- Revision:
- 13:97854f761347
- Parent:
- 12:fc888315e5fd
- Child:
- 14:1939758a03cf
diff -r fc888315e5fd -r 97854f761347 main.cpp
--- a/main.cpp Thu Aug 16 20:44:08 2018 +0000
+++ b/main.cpp Thu Aug 16 21:06:58 2018 +0000
@@ -61,29 +61,20 @@
{
#define CHALLENGE_SZ_NO_SECRET 20
uint8_t challenge_1[CHALLENGE_SZ_NO_SECRET] = { // 160 bit
-#if 0
- 0x24, 0x35, 0x81, 0x5e,
- 0x09, 0xd6, 0x63, 0x56,
- 0x0d, 0x7b, 0x8d, 0x99,
- 0x65, 0x84, 0x12, 0x52,
- 0x01, 0xe3, 0x0d, 0xcd
-#endif
-#if 1
0x5e, 0x81, 0x35, 0x24,
0x56, 0x63, 0xd6, 0x09,
0x99, 0x8d, 0x7b, 0x0d,
0x52, 0x12, 0x84, 0x65,
0xcd, 0x0d, 0xe3, 0x01
-#endif
-#if 0
-1, 0, 0, 0,
-0, 0, 0, 0,
-0, 0, 0, 0,
-0, 0, 0, 0,
-0, 0, 0, 0
-#endif
};
+ uint8_t challenge_2[CHALLENGE_SZ_NO_SECRET] = { // 160 bit
+ 0xd2, 0xaa, 0x84, 0xc5,
+ 0x72, 0x77, 0xf7, 0xe5,
+ 0xdb, 0x8f, 0xd6, 0x12,
+ 0x96, 0xce, 0x69, 0xf2,
+ 0x4e, 0xc5, 0x7a, 0xe8
+ };
#define MAC_SZ 32
@@ -101,9 +92,11 @@
// printf("device id should be 0x24, reg %02X = %02X\r\n", MAX8614X::MAX8614X_PART_ID_REG, data[0]);
executeSha256(m, challenge_1, CHALLENGE_SZ_NO_SECRET, 1);
- //● Compare MAC from MAX86140 wth Host's precalculated MAC.
- //● Check PASS or FAIL.
- //● Disable SHA_EN bit ( Write 0 to SHA_EN bit).
+ executeSha256(m, challenge_2, CHALLENGE_SZ_NO_SECRET, 1);
+ executeSha256(m, challenge_2, CHALLENGE_SZ_NO_SECRET, 0);
+ //- Compare MAC from MAX86140 wth Host's precalculated MAC.
+ //- Check PASS or FAIL.
+ //- Disable SHA_EN bit ( Write 0 to SHA_EN bit).
while(1) {
gLED = !gLED;
wait(1.0);
@@ -154,15 +147,15 @@
const unsigned int responseLen32 = 8;
uint8_t data[5];
- //● Enable SHA_DONE Interrupt
+ //- Enable SHA_DONE Interrupt
m.writeRegister(MAX8614X::MAX8614X_INT_ENABLE2_REG, MAX8614X::MAX8614X_IE_SHA_DONE_EN);
m.writeRegister(MAX8614X::MAX8614X_INT_ENABLE1_REG, 0); // Disable all other interrupts
- //● Enable SHA_EN bit.
+ //- Enable SHA_EN bit.
m.writeRegister(MAX8614X::MAX8614X_SHA_CFG_REG,MAX8614X::MAX8614X_SHACFG_SHA_EN);
- //● Write 160-bit random challenge value to RAM using registers MEM_IDX and MEM_DATA.
+ //- Write 160-bit random challenge value to RAM using registers MEM_IDX and MEM_DATA.
// Enable Memory Write, Select Bank 0, address 0x00 to 0xFF
m.writeRegister(MAX8614X::MAX8614X_MEMORY_CONTROL_REG, MAX8614X::MAX8614X_MEMCNTRL_WR_EN_MASK | MAX8614X::MAX8614X_MEMCNTRL_BANK0_MASK);
@@ -204,17 +197,17 @@
// The message block consists of a 160-bit secret, a 160-bit challenge and 192 bits of constant data. Optionally, the 64-bit
// ROM ID replaces 64 of the 192 bits of constant data used in the hash operation. 16 bits out of the 160-bit secret and 16
// bits of ROM ID are programmable–8 bits each in metal and 8 bits each in OTP bits
- //● Write command, with ROM ID (0x35) or without ROM ID (0x36), to SHA_CMD register
+ //- Write command, with ROM ID (0x35) or without ROM ID (0x36), to SHA_CMD register
if (romID) {
printf("ROMID \r\n");
- m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG, MAX8614X::MAX8614X_SHACMD_MAC_ROM_ID);
+// m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG, MAX8614X::MAX8614X_SHACMD_MAC_ROM_ID);
m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG, MAX8614X::MAX8614X_SHACMD_MAC_ROM_ID);
wait(1);
}
else
{
printf("no ROMID \r\n");
- m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG,MAX8614X::MAX8614X_SHACMD_MAC_NO_ROM_ID);
+// m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG,MAX8614X::MAX8614X_SHACMD_MAC_NO_ROM_ID);
m.writeRegister(MAX8614X::MAX8614X_SHA_CMD_REG,MAX8614X::MAX8614X_SHACMD_MAC_NO_ROM_ID);
wait(1);
}