前言
客戶使用 STM32G070RBT6 給海外用戶開(kāi)發(fā)產(chǎn)品,由于當(dāng)?shù)匦滦枨螅a(chǎn)品需要增加安全啟動(dòng)的功能。 但是由于 X-Cube-SBSFU 包提供的示例中,只有基于 STM32G071 的示例。客戶因此詢問(wèn)該怎么移植。本文將講解這個(gè)移植過(guò)程。
基于 STM32G070 和 STM32G071 的 SBSFU 實(shí)現(xiàn)差異
在正式講解之前,我們首先來(lái)看一看 STM32G070 和 STM32G071 的 SBSFU 實(shí)現(xiàn)差異。STM32G070 是一個(gè) value line 產(chǎn)品,首先,我們要意識(shí)到,有一些安全特性,相比于STM32G071,它是沒(méi)有的,比如:PCROP,BOOT_LOCK 和 Secure User Memory。那么,缺少了這些安全特性的 STM32G070,是否還能實(shí)現(xiàn)安全啟動(dòng)的功能呢 ? 答案是肯定的。我們先來(lái)看 PCROP,BOOT_LOCK,以及 Secure User Memory 在 STM32G071 上的 SBSFU 實(shí)現(xiàn)中所扮演的角色是什么?
開(kāi)始移植
第一步 : 確保原始工程運(yùn)行正常
第二步 : 將與 BOOT_LOCK, PCROP, Secure User Memory 相關(guān)的宏全部關(guān)閉
第三步 : 移植到 STM32G070RB
測(cè)試安全保護(hù)特性
后述
本文旨在通過(guò)一個(gè)相對(duì)容易的移植, 讓讀者對(duì) SBSFU 的移植過(guò)程有一個(gè)大概了解以起到參考和示范作用。