i.MXRTxxx支持存儲類型一共有三種:一是256KB的ROM(即BootROM)、二是總容量4.5MB的RAM(有兩個映射起始地址0x00000000/0x20000000)、三是分配給外部存儲器介面控制器(QSPI)的128MB區域。i.MXRTxxx Boot方式主要是藉助BootROM從外... ...
大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RTxxx系列MCU的BootROM功能簡介。
截止目前為止i.MX RTxxx系列已公佈的晶元僅有一款i.MXRT600(還有幾款正在研發測試之中),所以本文的研究對象主要是i.MXRT600,i.MXRT600是i.MXRTxxx系列的開山之作,功能模塊非常全面,其BootROM特性基本可以涵蓋i.MXRTxxx系列特性。
一、Boot基本原理
關於Boot基本原理,痞子衡在 《飛思卡爾i.MX RTyyyy系列MCU啟動那些事(1)- Boot簡介》 文章里介紹得很詳細,Boot原理是個通用的概念,此處不再贅述。
二、i.MXRTxxx Boot
在第一部分里講了Boot基本原理以及各種Boot方式,那麼i.MXRTxxx Boot到底屬於哪一種?在回答這個問題之前我們先看一下i.MXRT600的system memory map:
從memory map里可以看到,i.MXRTxxx支持存儲類型一共有三種:一是256KB的ROM(即BootROM)、二是總容量4.5MB的RAM(有兩個映射起始地址0x00000000/0x20000000)、三是分配給外部存儲器介面控制器(QSPI)的128MB區域。看到這裡你應該明白了,i.MXRTxxx Boot方式主要是藉助BootROM從外部存儲器載入Application到內部SRAM/原地XIP執行。
那麼i.MXRTxxx到底支持從哪些外部存儲器載入啟動呢?翻看i.MXRTxxx的參考手冊里的Non-Secure Boot ROM章節,可以看到i.MXRT啟動支持以下3種外部存儲器:
- Serial NOR Flash via FlexSPI
- SD/MMC via uSDHC
- SPI NOR/EEPROM via Flexcomm SPI
其中Serial NOR Device可以XIP,其他2種Device無法XIP,需要拷貝到內部RAM里運行。關於具體如何從這3種Device啟動,痞子衡下篇文章接著聊。
至此,恩智浦i.MX RTxxx系列MCU的BootROM功能痞子衡便介紹完畢了,掌聲在哪裡~~~