女人被爽到高潮视频免cn费95,久久99精品久久久久久久不卡,内射人妻骚骚骚,久久精品一区二区三区四区啪啪 ,美女视频黄频a美女大全

i.MXRT三位數(shù)系列Boot配置方式

2019/12/12
85
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

無論是什么芯片里的 BootROM,其最核心的功能無非兩個:一、從存放 Application 的存儲器中加載執(zhí)行;二、通過支持的通信接口接收來自 Host 的 Application 數(shù)據(jù)完成更新或直接跳轉執(zhí)行,所以 Boot 配置也主要圍繞這兩個核心功能。

一、Boot 行為模式選擇

芯片內(nèi)部 OTP memory 中的 PRIMARY_BOOT_SRC[3:0]位和芯片外部管腳 ISP[2:0]狀態(tài)共同決定了 i.MXRTxxx Boot 行為的最頂層配置,但是與上一篇文章里介紹的 Kinetis/LPC/STM32 Boot Mode 配置不同的是,i.MXRTxxx 上電永遠是從 ROM 里開始啟動,此處的 PRIMARY_BOOT_SRC[3:0]和 ISP[2:0]決定的僅是 BootROM 程序的不同行為模式(執(zhí)行代碼分支),而 Kinetis/LPC/STM32 Boot Mode 側重的是決定 CPU 從 ROM 還是 FLASH 里啟動。

1.1 行為模式定義

i.MXRTxxx 的 Boot 行為模式和接口非常豐富,甚至毫不夸張地說,其 Boot 行為模式可以讓你眼花繚亂。在講具體 Boot 模式功能前,有必要先看一下各行為模式是怎么確定的:

1.1.1 PRIMARY_BOOT_SRC[3:0]值定義

PRIMARY_BOOT_SRC[3:0]是最高優(yōu)先級的行為模式定義,下表是 PRIMARY_BOOT_SRC[3:0]相關值定義,可在參考手冊的 Non-Secure Boot ROM 章節(jié)中找到。至于 PRIMARY_BOOT_SRC 具體在 OTP memory 中的位置(暫且先透露一下吧,其位于 BOOT_CFG[0]的低 4bit,BOOT_CFG[0]是第 97 個 OTP Word(fuse index=0x60)),痞子衡會在后面的文章細聊。
  

i.MXRT600 PRIMARY_BOOT_SRC[3:0] bits:

1.1.2 ISP[2:0]管腳狀態(tài)定義

當 PRIMARY_BOOT_SRC[3:0] bits 未燒寫時(即 4'b0000),ISP[2:0] pins 開始決定行為模式。ISP[2:0]管腳狀態(tài)是在 BootROM 里軟件采樣的,所以每一次系統(tǒng)軟復位去重新執(zhí)行 BootROM 時,ISP[2:0]狀態(tài)都會被重新采樣。
  

i.MXRT600 ISP[2:0] pins:

1.2 行為模式分類

不管是 PRIMARY_BOOT_SRC[3:0]位還是外部管腳 ISP[2:0]狀態(tài),他們決定的最終 Boot 行為模式是相似的,區(qū)別只是一個通過燒 OTP 決定(一般用于量產(chǎn)階段),另一個通過切換引腳狀態(tài)決定(一般用于研發(fā)階段)。Boot 行為模式看起來非常多,但概括而言總共就三大類:

1.2.1 Serial ISP 模式(UART/SPI/I2C/USB-HID)

Serial ISP 模式顧名思義即串行編程模式,在這種模式下,BootROM 通過指定的 UART/SPI/I2C/USB-HID 口來接收來自 Host(恩智浦提供了上位機工具 blhost.exe 或者 MCUBootUtility)的 Application 數(shù)據(jù),并將數(shù)據(jù)下載到支持啟動的外部 Device 中(Serial NOR/SD/eMMC/1bit Recovery SPI NOR),這種模式其實就是用于代替專用 Flash 編程器去燒錄可執(zhí)行程序文件的 。
  

關于 Serial ISP 模式具體如何應用,痞子衡會在下一篇文章里進一步介紹。

1.2.2 Serial Boot 模式(UART/SPI/I2C/USB-HID/USB-DFU)

Serial Boot 模式即串行啟動模式,這種模式看起來與第一種 Serial ISP 模式有點相似,因為在通信接口上是共用的(上位機工具也都是 blhost.exe),除了多了個 USB-DFU 方式(上位機工具是開源的 dfu-util)。不過兩者最大的區(qū)別在于 Application 下載位置,Serial ISP 是往外部非易失 Device 里下載,而 Serial Boot 是往芯片內(nèi)部 SRAM 里下載并立即跳轉執(zhí)行。如果你了解 i.MXRTyyyy 的 Serial Downloader 模式(詳見 飛思卡爾 i.MX RTyyyy 系列 MCU 啟動那些事(2)- Boot 配置(BOOT Pin/eFUSE) 第 1.2.1 節(jié)),你會發(fā)現(xiàn)這種模式從功能上更像 i.MXRTyyyy 的 Serial Downloader 模式。
  

i.MXRTyyyy 里做 Serial Downloader 模式最主要的原因是其沒有實現(xiàn) ISP 模式,BootROM 里無法提供外部 Device 的下載支持,而 i.MXRTxxx 的 BootROM 里既然做了 ISP 模式,為什么還要做 Serial Boot 這種行為模式呢?并且 Serial Boot 支持的通信接口竟多達五種,這種模式的應用場景到底是什么?痞子衡為你解惑:

快速驗證 Non-XIP image 的執(zhí)行:Serial Boot 模式可以幫助快速驗證 Non-XIP image 的執(zhí)行,不需要操作外部 Device。
協(xié)處理器使用可省外部 Device:如果系統(tǒng)設計里有兩顆 MCU,i.MXRTxxx 作為協(xié)處理器,在 Serial Boot 模式下可省去存放 Application 的外部 Device,Application 直接由主處理器來加載。

1.2.3 Device Boot 模式(Serial NOR/SD/eMMC/1bit Recovery SPI NOR)

Device Boot 模式就是直接從選定的外部非易失 Device 加載 Application 啟動,這種模式才是 i.MXRTxxx 最核心的模式,畢竟離線運行 Application 才是最重要的任務。Device Boot 又分為 Master Boot(Serial NOR/SD/eMMC)和 Recovery Boot(1bit SPI NOR),前者是主動啟動設備,后者是備份啟動設備。當主動啟動設備中的 Application 失效時,芯片會從備份啟動設備中再嘗試去啟動一次 Application,實現(xiàn)雙重保障。

二、Boot Device 具體配置

當 Boot 行為模式選定的是從某一類 Boot Device 啟動,底下就是配置該 Device 具體屬性了。假設我們選擇了 Serial NOR FLASH,但是 Serial NOR 只是一類 FLASH 的統(tǒng)稱,市面上有非常多的 Serial NOR 芯片,每個芯片特性可能不完全一樣,那么 BootROM 怎么知道這些不同的 Serial NOR 芯片的特性呢?還是通過 OTP memory 來指定。
  

OTP 是 i.MXRTxxx 里一塊特殊的存儲區(qū)域,用于存放全部芯片配置信息,其中有一部分區(qū)域分配給 Boot。參考手冊的 OTP 相關章節(jié)中可見所有 bit 具體定義,這里痞子衡僅貼出一部分用于示例:

?

  

從上表中我們可以看到 i.MXRT600 上 BOOT_CFG[1],BOOT_CFG[2]共 64bit 的完整定義,這些定義確實是與具體 Boot Device 屬性相關的。
  

這些 Boot 相關的 Fuse 定義,在這里逐一解釋意義不大,需要結合具體 Boot Device 一起來看,痞子衡后續(xù)會在介紹每個 Boot Device 啟動的文章里再進一步分析。

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

碩士畢業(yè)于蘇州大學電子信息學院,目前就職于恩智浦(NXP)半導體MCU系統(tǒng)部門,擔任嵌入式系統(tǒng)應用工程師。痞子衡會定期分享嵌入式相關文章