在SWM系列MCU產(chǎn)品中有多種加密手段保護(hù)用戶程序。在這里我們以SWM190為例給大家簡(jiǎn)單介紹一下MCU的加密功能。
我們程序加密的目的是防止芯片中的程序被他人讀出使用,現(xiàn)主要介紹的加密方法有:
1、讀 保 護(hù)
2、SWD封鎖
以上加密方法通過(guò)在用戶程序中將0x1C偏移地址初始化為指定關(guān)鍵字,即可實(shí)現(xiàn)以下指定級(jí)別的加密。
程序下載后再次上電,芯片將處于指定加密級(jí)別的狀態(tài)。
SWM190——加密操作函數(shù)配置
以SWM190為例,我們打開(kāi)工程文件中的startup_SWM190.s文件,找到__Vectors,以其為0x00地址,找到0x1c地址處,此處默認(rèn)值為0,默認(rèn)FLASH讀正常。
正常讀寫具體配置函數(shù)如下圖所示:
SWD讀取加密時(shí),將0x1c處寫0x43211234,編譯程序并下載,重新上電后芯片處于SWD讀加密狀態(tài),無(wú)法訪問(wèn)FLASH,但可以讀取RAM中的數(shù)據(jù),可通過(guò)擦除FALSH并復(fù)位解除SWD讀鎖定。
具體操作如下:
SWD封鎖加密時(shí),將0x1c處寫0xABCD1234,編譯程序并下載,重新上電后無(wú)法通過(guò)仿真器訪問(wèn)芯片,不能執(zhí)行讀寫擦除操作。
此時(shí)SWD端口切換為通用IO。只能通過(guò)ISP進(jìn)行單向訪問(wèn)。具體操作如下:
以SWM190為例
我們需要將ISP引腳(B0)接高,當(dāng)芯片重新上電后檢測(cè)到B0引腳持續(xù)1ms以上的高電平后,將會(huì)進(jìn)入ISP(在應(yīng)用編程)模式。
通用ISP程序使用串口進(jìn)行通信,默認(rèn)為UART0,引腳為A0(RX),A1(TX),硬件連接完成后打開(kāi)我司提供的上位機(jī)軟件,選擇SWM190芯片型號(hào),可執(zhí)行擦除或下載操作來(lái)更新程序以解除加密。
以上是本次介紹的加密手段,如果用戶想更多了解SWM的加密手段請(qǐng)聯(lián)系華芯微特技術(shù)人員。詳情可登錄華芯微特官網(wǎng):http://www.synwit.cn/
來(lái)源:華芯微特32位MCU
-
芯片
+關(guān)注
關(guān)注
456文章
50889瀏覽量
424226 -
mcu
+關(guān)注
關(guān)注
146文章
17171瀏覽量
351454 -
程序
+關(guān)注
關(guān)注
117文章
3788瀏覽量
81099 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4333瀏覽量
62694
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論