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

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

cross mob
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

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
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

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
IFX_Publisher2
Community Manager
Community Manager
Community Manager
25 likes received 1000 replies posted First like given

Hi Masashi san,

Confirm to work on this KBA.

Thanks,
Bindu

0 Likes
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

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
IFX_Publisher2
Community Manager
Community Manager
Community Manager
25 likes received 1000 replies posted First like given

Hi  Masashi san

Confirmed to receive this KBA.

Thank you for your contribution.

Thanks,
Bindu

0 Likes