0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AT32講堂012 | 如何使用帶安全庫功能的AT32 MCU,來實現(xiàn)類似OTP寄存器的功能

雅特力 AT32 MCU ? 2022-07-22 10:44 ? 次閱讀

概述

對于AT32 MCU不同的系列,因為功能改進等原因,安全庫區(qū)的配置使用可能有所差異。用戶使用OTP功能主要目的是需要將一些特殊數(shù)據(jù)保存其中,在需要時可以讀取,并且不允許修改和擦除。目前AT32 MCU的安全庫區(qū)根據(jù)內(nèi)部結(jié)構(gòu)可以分為以下幾種區(qū)域

僅允許I-Code總線讀取指令的區(qū)域(I-BUS area)

僅允許D-Code總線讀取數(shù)據(jù)的區(qū)域(D-BUS area)

允許I-Code和D-Code總線讀取的唯讀區(qū)域(READ-ONLY area)

只要包含允許D-Code總線訪問的區(qū)域,其特點就是允許讀取數(shù)據(jù),不允許擦除或者修改(除非原應(yīng)用設(shè)計者輸入自定義秘鑰KEY解除slib進行全部擦除),達到OTP功能的效果。所以只要設(shè)計者將需使用OTP功能的數(shù)據(jù)保存在允許D-Code總線訪問的安全庫區(qū)域,就能達到只允許讀取,不允許擦除和修改的目的。

操作說明

根據(jù)AT32 MCU的安全庫區(qū)結(jié)構(gòu)劃分,必須將要保存的OTP數(shù)據(jù)放置在允許D-Code總線訪問的區(qū)域(D-BUS area或者READ-ONLY area)。

通過代碼操作

Demo中403A的AT-START開發(fā)板上,演示如何開啟slib,并將數(shù)據(jù)放在slib的D-Code區(qū)域。

執(zhí)行流程及說明:1) 按USER鍵觸發(fā);2) 如果程序首次執(zhí)行(MCU處于slib disable狀態(tài)),順序往下執(zhí)行步驟3,如果程序非首次運行(MCU處于slib enable狀態(tài)),跳轉(zhuǎn)到流程步驟7進行;3) 配置slib,包括password和range;4) 寫入OTP數(shù)據(jù)到slib的D-code區(qū)域;5) LED2/3/4會同時亮起;6) 按RESET鍵復位,重新執(zhí)行流程步驟1;7) 此時OTP功能生效,因為slib已開啟,無法再次配置slib,也不能擦除或者修改對應(yīng)區(qū)域數(shù)據(jù),LED2亮起;8) 按USER鍵觸發(fā);9) 關(guān)閉slib(當程序在flash運行時,執(zhí)行該步驟會觸發(fā)flash mass erase,程序無法再繼續(xù)運行),執(zhí)行系統(tǒng)復位,結(jié)束演示。

注意事項:

  • demo中定義256字節(jié)數(shù)據(jù)作為OTP數(shù)據(jù),選擇的slib D-Code區(qū)域是對應(yīng)系列MCU可設(shè)置slib范圍的最后一個sector。關(guān)于不同系列MCU的slib可設(shè)置范圍,可以參看對應(yīng)的AT32各系列安全庫區(qū)(SLIB)應(yīng)用指南。
  • 演示完成后,關(guān)閉slib是為了方便后續(xù)MCU調(diào)試使用。真實應(yīng)用時slib OTP功能開啟會不再disable。

通過ICP/ISP等工具操作

通過Artery的ICP/ISP等上位機軟件可以更方便的實現(xiàn)該功能,在燒錄項目文件時,將需保存的OTP數(shù)據(jù)一起燒錄,完成slib OTP功能。

以ICP工具在線燒錄為例,步驟如下:

1)添加對應(yīng)燒錄文件:LED.bin為項目文件,OTP_DATA.bin為需要保存的OTP數(shù)據(jù);圖1. ICP添加文件e24a229c-0395-11ed-9ade-dac502259ad0.png

2)配置對應(yīng)slib參數(shù),開始下載;

圖2. ICP下載配置e2720d84-0395-11ed-9ade-dac502259ad0.png

3)驗證OTP功能:執(zhí)行主存儲擦除,擦除后讀取OTP數(shù)據(jù)存儲位置,數(shù)據(jù)無法擦除,仍然有效。

圖3. 驗證結(jié)果e29a3fe8-0395-11ed-9ade-dac502259ad0.png關(guān)于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創(chuàng)新趨勢的芯片設(shè)計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內(nèi)核,締造M4業(yè)界最高主頻288MHz運算效能,并支持工業(yè)級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當多元的終端產(chǎn)品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業(yè)縫紉機、伺服驅(qū)控、電競周邊市場、斷路器、ADAS、T-BOX、數(shù)字電源、電動工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G、物聯(lián)網(wǎng)、消費、商務(wù)及工控等領(lǐng)域。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16809

    瀏覽量

    349406
收藏 人收藏

    評論

    相關(guān)推薦

    雅特力AT32 MCU的隨機數(shù)生成

    概述產(chǎn)品和生態(tài)系統(tǒng)安全性的需求比以往任何時候都更加重要。真隨機數(shù)是所有安全系統(tǒng)的核心,其質(zhì)量會影響設(shè)計的安全性。因此在沒有內(nèi)置硬件TRNG的AT32的微控制
    的頭像 發(fā)表于 08-30 12:26 ?353次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的隨機數(shù)生成

    AT32講堂085 | 雅特力AT32 MCU HICK時鐘校準

    簡介AT32系列MCU內(nèi)部都有提供適合運行的內(nèi)部高速時鐘(HICK),其本質(zhì)就是內(nèi)置于芯片的RC振蕩。在25℃下,其典型值頻率8MHz的精度由工廠校準到±1%,在-40到105℃,該內(nèi)部高速時鐘
    的頭像 發(fā)表于 08-30 12:26 ?414次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | 雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK時鐘校準

    如何使用AT32 MCU WDT和WWDT?

    如何使用AT32 MCU WDT和WWDT?
    的頭像 發(fā)表于 11-10 18:26 ?1746次閱讀
    如何使用<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> WDT和WWDT?

    Segger Jscope波形軟件在AT32 MCU的使用

    Segger Jscope波形軟件在AT32 MCU的使用
    的頭像 發(fā)表于 11-10 18:24 ?2087次閱讀
    Segger Jscope波形軟件在<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的使用

    如何在AT32 MCU上使用FPU功能

    如何在AT32 MCU上使用FPU功能
    的頭像 發(fā)表于 11-01 17:18 ?3941次閱讀
    如何在<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>上使用FPU<b class='flag-5'>功能</b>

    如何使用雅特力AT32 MCU定時進行PWM輸入測試

    如何使用雅特力AT32 MCU定時進行PWM輸入測試
    的頭像 發(fā)表于 10-27 14:20 ?2296次閱讀
    如何使用雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>定時<b class='flag-5'>器</b>進行PWM輸入測試

    關(guān)于AT32 MCU溫度傳感的應(yīng)用

    關(guān)于AT32 MCU溫度傳感的應(yīng)用
    的頭像 發(fā)表于 10-27 09:44 ?638次閱讀
    關(guān)于<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>溫度傳感<b class='flag-5'>器</b>的應(yīng)用

    AT32 MCU Printf的功能使用方法

    AT32 MCU Printf的功能使用方法
    的頭像 發(fā)表于 10-27 09:27 ?960次閱讀
    <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> Printf的<b class='flag-5'>功能</b>使用方法

    AT32 MCU如何使用USB MSD 進行IAP升級?

    AT32 MCU如何使用USB MSD 進行IAP升級?
    的頭像 發(fā)表于 10-27 09:23 ?1038次閱讀
    <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>如何使用USB MSD 進行IAP升級?

    AT32 MCU DMA通道的靈活配置

    AT32 MCU DMA通道的靈活配置
    的頭像 發(fā)表于 10-26 17:51 ?1010次閱讀
    <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> DMA通道的靈活配置

    AT32 MCU如何使用OTA通過USART實現(xiàn)對固件的在線升級更新

    AT32 MCU如何使用OTA通過USART實現(xiàn)對固件的在線升級更新
    的頭像 發(fā)表于 10-26 17:09 ?2311次閱讀
    <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>如何使用OTA通過USART<b class='flag-5'>實現(xiàn)</b>對固件的在線升級更新

    使用Arduino IDE搭建AT32 MCU開發(fā)環(huán)境

    使用Arduino IDE搭建AT32 MCU開發(fā)環(huán)境旨在幫助使用Arduino IDE開發(fā)AT32的用戶,快速建立開發(fā)環(huán)境并進行開發(fā)。
    發(fā)表于 10-26 07:48

    AT32實現(xiàn)關(guān)鍵詞語音識別(KWS)

    AT32實現(xiàn)關(guān)鍵詞語音識別(KWS)本文基于此開源模型和代碼,在AT32 MCU 上對KWS 效果進行展示。
    發(fā)表于 10-26 07:45

    VSCode EIDE的AT32 MCU

    AT32 MCU With VSCode EIDE描述了VSCode開發(fā)環(huán)境中,使用Embedded IDE管理AT32項目。
    發(fā)表于 10-26 07:38

    使用CAN的AT32 IAP

    AT32微控制上創(chuàng)建IAP應(yīng)用程序的一般準則。AT32微控制可以運行用戶特定的固件對微控制
    發(fā)表于 10-26 06:39