概述
對(duì)于AT32 MCU不同的系列,因?yàn)楣δ芨倪M(jìn)等原因,安全庫(kù)區(qū)的配置使用可能有所差異。用戶使用OTP功能主要目的是需要將一些特殊數(shù)據(jù)保存其中,在需要時(shí)可以讀取,并且不允許修改和擦除。目前AT32 MCU的安全庫(kù)區(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總線訪問(wèn)的區(qū)域,其特點(diǎn)就是允許讀取數(shù)據(jù),不允許擦除或者修改(除非原應(yīng)用設(shè)計(jì)者輸入自定義秘鑰KEY解除slib進(jìn)行全部擦除),達(dá)到OTP功能的效果。所以只要設(shè)計(jì)者將需使用OTP功能的數(shù)據(jù)保存在允許D-Code總線訪問(wèn)的安全庫(kù)區(qū)域,就能達(dá)到只允許讀取,不允許擦除和修改的目的。
操作說(shuō)明
根據(jù)AT32 MCU的安全庫(kù)區(qū)結(jié)構(gòu)劃分,必須將要保存的OTP數(shù)據(jù)放置在允許D-Code總線訪問(wèn)的區(qū)域(D-BUS area或者READ-ONLY area)。
通過(guò)代碼操作
Demo中403A的AT-START開(kāi)發(fā)板上,演示如何開(kāi)啟slib,并將數(shù)據(jù)放在slib的D-Code區(qū)域。
執(zhí)行流程及說(shuō)明: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) 寫(xiě)入OTP數(shù)據(jù)到slib的D-code區(qū)域;5) LED2/3/4會(huì)同時(shí)亮起;6) 按RESET鍵復(fù)位,重新執(zhí)行流程步驟1;7) 此時(shí)OTP功能生效,因?yàn)閟lib已開(kāi)啟,無(wú)法再次配置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,程序無(wú)法再繼續(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各系列安全庫(kù)區(qū)(SLIB)應(yīng)用指南。
- 演示完成后,關(guān)閉slib是為了方便后續(xù)MCU調(diào)試使用。真實(shí)應(yīng)用時(shí)slib OTP功能開(kāi)啟會(huì)不再disable。
通過(guò)ICP/ISP等工具操作
通過(guò)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ù),開(kāi)始下載;
圖2. ICP下載配置
3)驗(yàn)證OTP功能:執(zhí)行主存儲(chǔ)擦除,擦除后讀取OTP數(shù)據(jù)存儲(chǔ)位置,數(shù)據(jù)無(wú)法擦除,仍然有效。
圖3. 驗(yàn)證結(jié)果關(guān)于雅特力雅特力科技于2016年成立,是一家致力于推動(dòng)全球市場(chǎng)32位微控制器(MCU)創(chuàng)新趨勢(shì)的芯片設(shè)計(jì)公司,專(zhuān)注于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ī)、光流無(wú)人機(jī)、熱成像儀、激光雷達(dá)、工業(yè)縫紉機(jī)、伺服驅(qū)控、電競(jìng)周邊市場(chǎng)、斷路器、ADAS、T-BOX、數(shù)字電源、電動(dòng)工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G、物聯(lián)網(wǎng)、消費(fèi)、商務(wù)及工控等領(lǐng)域。
-
mcu
+關(guān)注
關(guān)注
146文章
17178瀏覽量
351680
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論