Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

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

MaMi_1205306
Level 6
50 solutions authored 25 likes received 250 sign-ins
Level 6

Dear Sirs and Madams,

 

I would like to translate KBA235796, please confirm to my work.

 

KBA235796 URL

https://community.infineon.com/t5/Knowledge-Base-Articles/PSoC-4-and-PSoC-6-MCUs-How-to-get-the-Sili...

 

Regards,

Masashi

0 Likes
1 Solution
MaMi_1205306
Level 6
50 solutions authored 25 likes received 250 sign-ins
Level 6

Bindo-san,

 

I translated KBA235796 into Japanese.

We would appreciate it if you could confirm.

 

Regards,

Masashi

/***************************************************************************/

 

 

PSoC™ 4 と PSoC™ 6 MCU : アプリケーションからシリコンIDを取得する方法は? – 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);

View solution in original post

0 Likes
3 Replies
BinduPriya_G
Community Manager
Community Manager 250 replies posted First like received 50 sign-ins
Community Manager

Hi Masashi san,

Confirm to work on this KBA.

Thanks,
Bindu

0 Likes
MaMi_1205306
Level 6
50 solutions authored 25 likes received 250 sign-ins
Level 6

Bindo-san,

 

I translated KBA235796 into Japanese.

We would appreciate it if you could confirm.

 

Regards,

Masashi

/***************************************************************************/

 

 

PSoC™ 4 と PSoC™ 6 MCU : アプリケーションからシリコンIDを取得する方法は? – 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 Likes
BinduPriya_G
Community Manager
Community Manager 250 replies posted First like received 50 sign-ins
Community Manager

Hi  Masashi san

Confirmed to receive this KBA.

Thank you for your contribution.

Thanks,
Bindu

0 Likes