Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

PSoC™ 4 と PSoC™ 6 MCU : アプリケーションからシリコンIDを取得する方法は? – KBA235796

PSoC™ 4 と PSoC™ 6 MCU : アプリケーションからシリコンIDを取得する方法は? – KBA235796

Infineon_Team
Employee
Employee
50 replies posted 25 likes received 25 replies posted

Translated by: 

Original KBA:  PSoC™ 4 and PSoC™ 6 MCUs: How to get the Silicon ID from the application? – KBA235796


バージョン: **


シリコンIDには、シリコンID、およびレビジョンID、ファミリIDが含まれます。 IDEとPSoC™プログラマは、シリコンIDを使用して各デバイスを識別します。次のレジスタを使用して、PSoC™4およびPSoC™6MCUのシリコンIDを取得します。

PSoC™ 4 MCU :

  • SFLASH_SILICON_ID レジスタ : シリコンIDを含む
  • MSB nibble of the ROMTABLE_PID2 レジスタ : メジャーレビジョンIDを含む
  • MSB nibble of the ROMTABLE_PID3 レジスタ : マイナーレビジョンIDを含む
  • ROMTABLE_PID0 レジスタ : ファミリIDを含む

次のサンプルコードセグメントを参照してください。

コードリスト 1     PSoC™ 4 MCUのシリコンIDを取得するためのサンプルコード

    uint32_t siliconID      = CY_GET_REG32(CYREG_SFLASH_SILICON_ID);

    uint8_t majorRevisionID = (CY_GET_REG8(CYREG_ROMTABLE_PID2) >> 4);   

    uint8_t minorRevisionID = (CY_GET_REG8(CYREG_ROMTABLE_PID3) >> 4);   

    uint16_t familyID       = (CY_GET_REG16(CYREG_ROMTABLE_PID0) & 0x0FFF);   

    printf("\r\n Silicon ID: 0x%X Major Revision: 0x%X Minor Revision: 0x%X Family ID: 0x%X \r\n", siliconID, majorRevisionID, minorRevisionID, familyID );

 

PSoC™ 6 MCU :

  • SFLASH_SILICON_ID レジスタ : 16ビットのシリコンIDを含む
  • SFLASH_SI_REVISION_ID レジスタ : レビジョンを含む
  • SFLASH_FAMILY_ID レジスタ : ファミリIDを含む

次のサンプルコードセグメントを参照してください。

コードリスト 2     PSoC™ 6 MCUのシリコンIDを取得するためのサンプルコード

   uint8_t revisionID = CY_GET_REG8(SFLASH_BASE + 0x01); 

   uint16_t siliconID = CY_GET_REG16(SFLASH_BASE + 0x02); 

   uint16_t familyID  = (CY_GET_REG16(SFLASH_BASE + 0x0c) & 0x0FFF); 

   printf("\r\n Silicon ID: 0x%X Revision: 0x%X Family ID: 0x%X \r\n", siliconID, revisionID, familyID);

0 件の賞賛
128 件の閲覧回数