介紹
本文檔描述了基于STMicroelectronics Arm? Cortex??M55核心的STM32N6微控制器(MCU)集群的引導(dǎo)ROM代碼,主要從黑盒的角度進(jìn)行描述,并作為引導(dǎo)ROM代碼功能的用戶(hù)指南。
它提供了引導(dǎo)ROM代碼如何與系統(tǒng)中其他組件交互的描述,涵蓋了硬件和軟件接口。它還描述了引導(dǎo)ROM代碼支持的應(yīng)用程序引導(dǎo)鏡像格式。
本文檔適用于STM32N6 MCU設(shè)備。它側(cè)重于位于STM32N6 MCU引導(dǎo)ROM中的啟動(dòng)固件,該固件在Arm? Cortex??M55上執(zhí)行。
本規(guī)范遵循一種常用的語(yǔ)法來(lái)表示要求:關(guān)鍵字"MUST," "MUST NOT," "REQUIRED," "SHOULD," "SHOULD NOT," "RECOMMENDED," "MAY," 和 "OPTIONAL"的解釋如RFC 2119 [13]中所述。
? MUST:這個(gè)詞,或者術(shù)語(yǔ)"REQUIRED"或"SHALL",意味著定義是規(guī)范的絕對(duì)要求。
? MUST NOT:這個(gè)短語(yǔ),或者短語(yǔ)"SHALL NOT",意味著定義是規(guī)范的絕對(duì)禁止。
? SHOULD:這個(gè)詞,或者形容詞"RECOMMENDED",意味著在特定情況下可能有有效理由忽略某個(gè)特定項(xiàng)。然而,在選擇不同的做法之前,必須完全理解并仔細(xì)權(quán)衡其含義。
? SHOULD NOT:這個(gè)短語(yǔ),或者短語(yǔ)"NOT RECOMMENDED",意味著在特定情況下,當(dāng)特定行為是可接受的甚至是有用的時(shí),可能存在有效的理由。然而,在實(shí)施任何帶有此標(biāo)簽的行為之前,必須完全理解其含義并仔細(xì)權(quán)衡。
? MAY:這個(gè)詞,或者形容詞"OPTIONAL",意味著一個(gè)項(xiàng)目是真正可選的。一個(gè)供應(yīng)商可能會(huì)選擇包含該項(xiàng)目,因?yàn)樘囟ǖ氖袌?chǎng)需要它,或者因?yàn)楣?yīng)商認(rèn)為它增強(qiáng)了產(chǎn)品,而另一個(gè)供應(yīng)商可能會(huì)省略相同的項(xiàng)目。不包括特定選項(xiàng)的實(shí)現(xiàn)必須準(zhǔn)備
好與另一個(gè)確實(shí)包括該選項(xiàng)的實(shí)現(xiàn)進(jìn)行互操作,盡管可能功能有所減少。同樣,確實(shí)包括特定選項(xiàng)的實(shí)現(xiàn)必須準(zhǔn)備好與不包括該選項(xiàng)的另一個(gè)實(shí)現(xiàn)進(jìn)行互操作,當(dāng)然,除了該選項(xiàng)提供的功能外。
一般信息
本文件適用于基于Arm?的STM32N6微控制器。
STM32N6微控制器是基于Arm? Cortex?-M55的微控制器。
引導(dǎo)ROM功能和特性
在STM32N6微控制器或Arm? Cortex??M55上電或復(fù)位時(shí),首先執(zhí)行的代碼是Arm? Cortex??M55的引導(dǎo)ROM代碼。此引導(dǎo)ROM代碼位于STM32N6片上引導(dǎo)ROM IP中,并通常實(shí)現(xiàn)多階段引導(dǎo)序列的第一階段。
主要引導(dǎo)ROM代碼的功能和特性包括:
? 基本系統(tǒng)初始化
? 檢測(cè)復(fù)位源、特定復(fù)位條件和芯片模式
? 從附加的引導(dǎo)存儲(chǔ)設(shè)備引導(dǎo),支持各種類(lèi)型的存儲(chǔ)設(shè)備
? 通過(guò)串行引導(dǎo)接口下載代碼并跳轉(zhuǎn)到下載的代碼
? 根據(jù)USB 2.0 HS實(shí)現(xiàn)USB 2.0設(shè)備,支持DFU 1.1
? 處理生命周期
? 使用硬件加速器驗(yàn)證簽名圖像的加密功能
? 支持配置選項(xiàng)(定制),主要通過(guò)熔絲
? 支持ST密鑰供應(yīng)
? 支持SSP,OEM密鑰供應(yīng)
? 支持阻塞故障處理
有關(guān)更多詳細(xì)信息,請(qǐng)參閱以下小節(jié)。
適用的復(fù)位類(lèi)型
放置在STM32N6微控制器引導(dǎo)ROM功能中的引導(dǎo)ROM代碼通常在STM32N6微控制器中的Arm? Cortex??M55從復(fù)位中釋放時(shí)執(zhí)行。根據(jù)檢測(cè)到的復(fù)位類(lèi)型,執(zhí)行引導(dǎo)ROM代碼實(shí)現(xiàn)中的不同分支。
引導(dǎo)ROM代碼區(qū)分以下邏輯復(fù)位類(lèi)型:
? SYSTEM:邏輯系統(tǒng)復(fù)位
? ST_KEY_PROVISIONING:帶有SFT和PIN復(fù)位的ST密鑰供應(yīng)階段條件的邏輯復(fù)位
支持的引導(dǎo)存儲(chǔ)設(shè)備
引導(dǎo)存儲(chǔ)設(shè)備是附加到STM32N6微控制器上的外部閃存設(shè)備,其中包含第一階段引導(dǎo)加載程序(FSBL)。引導(dǎo)ROM代碼首先將FSBL加載到STM32N6微控制器的內(nèi)部RAM中,并從那里進(jìn)行分析。
引導(dǎo)ROM代碼支持以下類(lèi)型的引導(dǎo)存儲(chǔ)設(shè)備:
? sNOR x4和x8閃存設(shè)備
? HyperFlash?閃存設(shè)備
? SD存儲(chǔ)卡設(shè)備(SD規(guī)范V6.0)
? 嵌入式存儲(chǔ)卡設(shè)備的eMMC類(lèi)型(eMMC規(guī)范V5.1)
支持的串行引導(dǎo)接口
引導(dǎo)ROM代碼提供了通過(guò)串行引導(dǎo)接口下載代碼到STM32N6微控制器內(nèi)部RAM的功能。通常,通過(guò)串行引導(dǎo)接口下載代碼用于更新存儲(chǔ)在附加的閃存類(lèi)型引導(dǎo)存儲(chǔ)設(shè)備上的FSBL。
引導(dǎo)ROM代碼支持以下類(lèi)型的串行引導(dǎo)接口:
? 使用三個(gè)不同的USART硬件功能實(shí)例的USART類(lèi)型的串行接口
? USB接口(USB 2.0 HS)