<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 關(guān)于ST MCU的UID詳細說明

          關(guān)于ST MCU的UID詳細說明

          作者: 時間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
          ST MCU芯片中的絕大部分都內(nèi)置一串96位唯一標(biāo)識碼【unique ID】。時不時有人問起這個東西,尤其最近感,覺詢問它的人甚是熱鬧。這里跟大家一起簡單分享下。

          上面說了ST MCU芯片中的絕大部分都帶UID,也就是說并非所有ST MCU芯片都帶它。到底誰帶誰不帶,從各自芯片數(shù)據(jù)手冊的首頁即可確認。如果首頁沒有明確寫明,就表示該芯片沒有UID或者說即使相應(yīng)地址有數(shù)據(jù)但不保證其唯一性。

          本文引用地址:http://www.ex-cimer.com/article/201611/315707.htm

          比方在STM8系列中,STM8S0XX、STM8L0XX系列芯片就不帶UID的。

          STM32家族中,STM32F0系列中的STM3F030子系列、STM32F070子系列也是不帶UID的【如果此處說錯,遵照數(shù)據(jù)手冊所言】,而STM32F042、STM32F071、STM32F031、STM32F051等是帶UID的。這點也不用太花心思記它,知道去芯片數(shù)據(jù)手冊首頁核查就好。

          該UID對用戶來講是只讀的,在一些對數(shù)據(jù)具有唯一性要求、數(shù)據(jù)加密操作等場合可以派上用場。ST MCU芯片中的這個UID 是對整串92位數(shù)據(jù)保證唯一性,如果你截取其中一部分就不保證唯一性了。

          STM32芯片UID的詳細描述是在各系列的參考手冊里。比方,STM32F0系列UID介紹如下。

          大致內(nèi)容就是芯片WAFER的坐標(biāo)信息、編號信息、產(chǎn)品批號信息等多個數(shù)據(jù)組合在一起的。關(guān)于UID的描述,在STM8數(shù)據(jù)手冊里描述更為直觀點,截圖如下:

          至于對該UID數(shù)據(jù)的讀取,沒啥特別的。先從ST MCU參考手冊中找到UID的地址信息,從相關(guān)地址中取出數(shù)據(jù),用幾條賦值語句即可完成。

          最后順便提一下,不要把這個UID跟STM32芯片器件ID【DEVICE ID】混為一談,STM32芯片往往還有DEVICE ID,該ID主要包含芯片料號信息和晶圓DIE版本等信息。它可以通過調(diào)試接口訪問或被用戶軟件訪問。當(dāng)我們用STLINK UTILITY通過STLINK調(diào)試器連接STM32目標(biāo)板時就可看到有關(guān)DEVICE ID的信息。

          下圖就是使用STLINK UTILITY通過STLINK連接STM32F072目標(biāo)板時看到的有關(guān)DEVICE ID的信息。

          此外,對于STM32芯片,除了上面提到的UID,DEVICE ID外,還有其它基于內(nèi)部調(diào)試組件的JTAG ID,有興趣的話可以自行繼續(xù)了解。



          關(guān)鍵詞: STMCUUI

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();