This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM2634:我必须添加一些源代码、然后哈希比较就可以了

Guru**** 2376610 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1535078/am2634-i-have-to-add-some-source-code-and-then-the-hash-comparing-can-be-right

器件型号:AM2634

工具/软件:

我必须添加一些源代码(用红色标记),然后哈希比较可能是正确的,如果不是哈希比较将是错误的。 我们启用缓存 (CacheP_ENABLE (CacheP_TYPE_ALL);)、然后我们使用 TI Clang v2.1.3.LTS

#define Cur_Sig ADDR.INFO_BASEADDR   0x300000

define Cur_Sha 2Hash_IFBADDR   (BATESO_BASEADDR + Cur_Sig)

UINT8 FOTA_void (Status_Copying_Manage)

  SHA256_STATE sha2Cur;
   静态 SHA256_STATE sha2Backup;

   RET = ReadBackupSwAndCalcSHA2 (&sha2Backup);/*使用内核 0 软件执行哈希而不是 HSM 硬件*/
   if (ret == E_OK)
   
     memcpy (&(sha2Cur.h[0])、(void *)(Cur_Sha 2Hash_IFBADDR|0x60000000)、32);
      Data[0]= sha2Backup.h[0]>> 24;
      Data[1]= sha2Backup.h[0]>> 16;
      Data[2]= sha2Backup.h[0]>> 8;
      Data[3]= sha2Backup.h[0]>> 0;

      Data[4]= sha2Cure.h[0]>> 24;
      Data[5]= sha2Cur.h[0]>> 16;
      Data[6]= sha2Cure.h[0]>> 8;
      Data[7]= sha2Cur.h[0]>> 0;

      RET = Compare_hash_value (sha2Cur、sha2Backup);
      if (ret == E_NOT_OK)
      
         DCM_FOTA_ErrCodeSet (ERR_CODE_SIGNATION);
      }
   }

}

UINT8 Compare_hash_value(SHA256_STATE 源、SHA256_STATE 目标)

  uint8 ret = E_OK;

   for (uint8 i = 0;i < 8;i++)
   
      if (source.h[i]!= target.h[i])
      
         RET = E_NOT_OK;
         休息;
      }
   }

   返回 ret;
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Fan:

    我并不完全理解这里的问题。

    此致、
    Shaunak

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果没有使用红色标记的源代码、 Compare_hash_value 将返回 E_NOT_OK。  使用红色标记源代码后、 Compare_hash_value 将返回 E_OK。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好了、Rick、我会将查询分配给合适的专家。

    此致、
    Shaunak

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rick:

    此代码是在 HSM 还是 R5 上运行?

    如果启用了缓存并且缓存了该区域、您能否在检查哈希值之前进行缓存写回并使其失效?

    谢谢。此致、

    Nikhil Dasan