99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

i.MXRT三位數系列Boot配置方式

大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RTxxx系列MCU的Boot配置

在上一篇文章 Boot簡介 里痞子衡為大家介紹了Boot基本原理以及i.MXRTxxx Boot方式簡介。今天痞子衡就來重點聊一聊i.MXRTxxx Boot方式具體由哪些配置決定的。

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

一、Boot行為模式選擇

芯片內部OTP memory中的PRIMARY_BOOT_SRC[3:0]位和芯片外部管腳ISP[2:0]狀態共同決定了i.MXRTxxx Boot行為的最頂層配置,但是與上一篇文章里介紹的Kinetis/LPC/STM32 Boot Mode配置不同的是,i.MXRTxxx上電永遠是從ROM里開始啟動,此處的PRIMARY_BOOT_SRC[3:0]和ISP[2:0]決定的僅是BootROM程序的不同行為模式(執行代碼分支),而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]是最高優先級的行為模式定義,下表是PRIMARY_BOOT_SRC[3:0]相關值定義,可在參考手冊的Non-Secure Boot ROM章節中找到。至于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]管腳狀態定義

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

1.2 行為模式分類

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

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

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

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

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

Serial Boot模式即串行啟動模式,這種模式看起來與第一種Serial ISP模式有點相似,因為在通信接口上是共用的(上位機工具也都是blhost.exe),除了多了個USB-DFU方式(上位機工具是開源的dfu-util)。不過兩者最大的區別在于Application下載位置,Serial ISP是往外部非易失Device里下載,而Serial Boot是往芯片內部SRAM里下載并立即跳轉執行。如果你了解i.MXRTyyyy的Serial Downloader模式(詳見 飛思卡爾i.MX RTyyyy系列MCU啟動那些事(2)- Boot配置(BOOT Pin/eFUSE) 第1.2.1節),你會發現這種模式從功能上更像i.MXRTyyyy的Serial Downloader模式。  i.MXRTyyyy里做Serial Downloader模式最主要的原因是其沒有實現ISP模式,BootROM里無法提供外部Device的下載支持,而i.MXRTxxx的BootROM里既然做了ISP模式,為什么還要做Serial Boot這種行為模式呢?并且Serial Boot支持的通信接口竟多達五種,這種模式的應用場景到底是什么?痞子衡為你解惑:

快速驗證Non-XIP image的執行:Serial Boot模式可以幫助快速驗證Non-XIP image的執行,不需要操作外部Device。

作協處理器使用可省外部Device:如果系統設計里有兩顆MCU,i.MXRTxxx作為協處理器,在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,實現雙重保障。

二、Boot Device具體配置

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

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

從上表中我們可以看到i.MXRT600上BOOT_CFG[1],BOOT_CFG[2]共64bit的完整定義,這些定義確實是與具體Boot Device屬性相關的。  這些Boot相關的Fuse定義,在這里逐一解釋意義不大,需要結合具體Boot Device一起來看,痞子衡后續會在介紹每個Boot Device啟動的文章里再進一步分析。

至此,恩智浦i.MX RTxxx系列MCU的Boot配置痞子衡便介紹完畢了,掌聲在哪里~~~

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 1
收藏 2
關注 41
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: 日产日韩亚洲欧美综合 | 黄色网站视频在线 | 国产精品啊啊啊 | 老司机精品视频一区二区 | 免费黄色大片 | 斗罗大陆3龙王传说第四季免费观看 | 欧美日韩国产综合视频 | 欧美在线视频免费 | 久久99蜜桃综合影院免费观看 | 国产专区免费av无码 | 国产精品视频色 | 亚洲爆乳少妇无码激情 | 日韩不卡高清视频 | 涩涩一区二区 | 国产成熟女人性满足视频 | 国产色婷婷综合影一区二区三区 | 五月色婷婷亚洲精品制服丝袜1区 | 国精品无码一区二区三区在线A片 | 久久日韩激情一区二区三区四区 | 一级黄色片在线免费观看 | 日韩精品播放 | 免费AV一区二区三区3ATV | 天天爽一爽| 亚洲综合无码日韩 | aV无码久久久久不卡蜜桃 | av一区在线观看 | 波多野结衣先锋在线 | 久久久久久无码精品无码国产人妻丝瓜 | 国产高清在线视频观看 | 精品国产精品国产偷麻豆 | 中文字幕v亚洲ⅴv天堂 | 中文字幕一区二区日韩精品绯色 | 免费视频三区 | 91老司机福利在线视频 | giga特摄剧在线官网 | 变态视频在线观看 | 中文有码vs无码人妻 | 韩国中文字幕在线观看 | 激情国产AV做激情国产爱 | 99热99在线观看 | 超碰在线观看av |