概述
對(duì)于AT32 MCU不同的系列,因?yàn)楣δ芨倪M(jìn)等原因,安全庫區(qū)的配置使用可能有所差異。用戶使用OTP功能主要目的是需要將一些特殊數(shù)據(jù)保存其中,在需要時(shí)可以讀取,并且不允許修改和擦除。目前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ū)域,其特點(diǎn)就是允許讀取數(shù)據(jù),不允許擦除或者修改(除非原應(yīng)用設(shè)計(jì)者輸入自定義秘鑰KEY解除slib進(jìn)行全部擦除),達(dá)到OTP功能的效果。所以只要設(shè)計(jì)者將需使用OTP功能的數(shù)據(jù)保存在允許D-Code總線訪問的安全庫區(qū)域,就能達(dá)到只允許讀取,不允許擦除和修改的目的。
操作說明
根據(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,如果程序非首次運(yùn)行(MCU處于slib enable狀態(tài)),跳轉(zhuǎn)到流程步驟7進(jìn)行;3) 配置slib,包括password和range;4) 寫入OTP數(shù)據(jù)到slib的D-code區(qū)域;5) LED2/3/4會(huì)同時(shí)亮起;6) 按RESET鍵復(fù)位,重新執(zhí)行流程步驟1;7) 此時(shí)OTP功能生效,因?yàn)閟lib已開啟,無法再次配置slib,也不能擦除或者修改對(duì)應(yīng)區(qū)域數(shù)據(jù),LED2亮起;8) 按USER鍵觸發(fā);9) 關(guān)閉slib(當(dāng)程序在flash運(yùn)行時(shí),執(zhí)行該步驟會(huì)觸發(fā)flash mass erase,程序無法再繼續(xù)運(yùn)行),執(zhí)行系統(tǒng)復(fù)位,結(jié)束演示。
注意事項(xiàng):
- demo中定義256字節(jié)數(shù)據(jù)作為OTP數(shù)據(jù),選擇的slib D-Code區(qū)域是對(duì)應(yīng)系列MCU可設(shè)置slib范圍的最后一個(gè)sector。關(guān)于不同系列MCU的slib可設(shè)置范圍,可以參看對(duì)應(yīng)的AT32各系列安全庫區(qū)(SLIB)應(yīng)用指南。
- 演示完成后,關(guān)閉slib是為了方便后續(xù)MCU調(diào)試使用。真實(shí)應(yīng)用時(shí)slib OTP功能開啟會(huì)不再disable。
通過ICP/ISP等工具操作
通過Artery的ICP/ISP等上位機(jī)軟件可以更方便的實(shí)現(xiàn)該功能,在燒錄項(xiàng)目文件時(shí),將需保存的OTP數(shù)據(jù)一起燒錄,完成slib OTP功能。
以ICP工具在線燒錄為例,步驟如下:
1)添加對(duì)應(yīng)燒錄文件:LED.bin為項(xiàng)目文件,OTP_DATA.bin為需要保存的OTP數(shù)據(jù);圖1. ICP添加文件
2)配置對(duì)應(yīng)slib參數(shù),開始下載;
圖2. ICP下載配置
3)驗(yàn)證OTP功能:執(zhí)行主存儲(chǔ)擦除,擦除后讀取OTP數(shù)據(jù)存儲(chǔ)位置,數(shù)據(jù)無法擦除,仍然有效。
圖3. 驗(yàn)證結(jié)果
關(guān)于雅特力雅特力科技于2016年成立,是一家致力于推動(dòng)全球市場32位微控制器(MCU)創(chuàng)新趨勢的芯片設(shè)計(jì)公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進(jìn)工藝及ARM Cortex-M4高效能或M0+低功耗內(nèi)核,締造M4業(yè)界最高主頻288MHz運(yùn)算效能,并支持工業(yè)級(jí)別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當(dāng)多元的終端產(chǎn)品成功案例:如微型打印機(jī)、掃地機(jī)、光流無人機(jī)、熱成像儀、激光雷達(dá)、工業(yè)縫紉機(jī)、伺服驅(qū)控、電競周邊市場、斷路器、ADAS、T-BOX、數(shù)字電源、電動(dòng)工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G、物聯(lián)網(wǎng)、消費(fèi)、商務(wù)及工控等領(lǐng)域。
-
mcu
+關(guān)注
關(guān)注
147文章
18935瀏覽量
398574
發(fā)布評(píng)論請(qǐng)先 登錄
RDMA設(shè)計(jì)39:寄存器功能驗(yàn)證與分析
RDMA設(shè)計(jì)38:寄存器功能驗(yàn)證與分析
系統(tǒng)寄存器的應(yīng)用?如何實(shí)現(xiàn)中英文模式下的不同屏保頁功能?定時(shí)功能?背光等級(jí)查看?
AT32硬件除法器應(yīng)用指南
請(qǐng)問如何實(shí)現(xiàn)C語言訪問MCU寄存器?
請(qǐng)問硬件實(shí)現(xiàn)GPIO狀態(tài)保持功能有哪些電路或寄存器?
雅特力AT32 MCU推動(dòng)低空經(jīng)濟(jì)發(fā)展
嵌入式系統(tǒng)必懂的 20 個(gè)寄存器
新手必備:LuatOS MCU核心庫功能測試與實(shí)踐指南
大彩講堂:VisualHMI-LUA教程-連續(xù)寫多個(gè)寄存器函數(shù)的應(yīng)用
NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)32:寄存器功能驗(yàn)證與分析2
?TLC6C5816-Q1 16位移位寄存器LED驅(qū)動(dòng)器技術(shù)文檔總結(jié)
AT32講堂012 | 如何使用帶安全庫功能的AT32 MCU,來實(shí)現(xiàn)類似OTP寄存器的功能
評(píng)論