色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

i.MX RT1xxx從SD/eMMC啟動

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2023-05-11 14:34 ? 次閱讀

最近在恩智浦官方社區上支持了一個關于i.MX RT從SD卡啟動的案例,這讓我想起了一年前寫過的一篇《i.MX RT600從SD/eMMC啟動》,那一篇重點介紹了基于eMMC設備制作程序、下載程序、啟動程序的方法。雖然SD和eMMC在啟動流程上差別不大,但是細節上還是有一些不同的。借此機會,今天再認真捋一下SD卡上制作、下載、啟動程序的方法:

注:文中貼圖、代碼主要以i.MX RT1050為例,其余i.MX RT1xxx系列原理類似。

一、支持的SD/eMMC

i.MX RTxxxx(四位數)和i.MX RTxxx(三位數)用于訪問SD/MMC卡的外設是同一個,即uSDHC,外設本身能支持到SD3.0。但是芯片BootROM里并不一定完全按uSDHC全功能來做實現,i.MX RT1050 BootROM主要實現了以下類型的SD卡啟動支持:

SD v2.0 or less

eSD v2.10 rev-0.9, with or without FAST_BOOT

SDXC v3.0

作為對比,i.MX RT600 BootROM對于SD卡啟動支持與i.MX RT1050則稍有不同:

SD Version 3.0 or earlier version

SD: 1-bit/4-bit; SDR12, SDR25, SDR50 and SDR104.

全系列MIMXRT10xx-EVK上均配置了MicroSD卡槽,均連接在了第一個uSDHC端口上,所以我們測試SD啟動還是非常方便的。

二、SD/eMMC硬件連接

除了i.MXRT1010/1015不包含uSDHC外設之外,其余i.MXRT1xxx內部都有2個uSDHC模塊(注:uSDHC2可能在一些小封裝上沒有引出),i.MX RT1050 BootROM支持如下pinmux連接,支持從SD/eMMC卡去啟動:

cacc3f0c-efc5-11ed-90ce-dac502259ad0.png

下圖是IMXRT1050-EVKB_Rev.A板上SD卡槽連接設計圖,這個卡槽除了用來測試SD卡讀寫啟動之外,也可以通過連接MicroSD轉eMMC適配器去測試啟動eMMC(需工作在1/4bit bus width mode):

cb06ea3a-efc5-11ed-90ce-dac502259ad0.png ?

三、SD/eMMC加載啟動過程

我們知道SD/eMMC設備中僅能放置Non-XIP Application(鏈接到內部SRAM或者外部RAM空間),其啟動加載流程跟《從Serial(1-bit SPI)NOR/EEPROM恢復啟動》加載流程差不多(參考文章第3小節)。

對于SD卡設備,起始偏移一般要存放在系統main boot record(MBR)中,因此需要預留,BootROM會從固定偏移0x400地址處讀取IVT啟動頭,有了IVT后面就能找到Application去加載啟動了(在這里RTxxxx四位數和RTxxx三位數是不一樣的)。
cb29c442-efc5-11ed-90ce-dac502259ad0.png ?

四、下載Application進SD/eMMC

現在假定你已經制作好一個Bootable image并且使用blhost工具與Flashloader建立了基本通信,正要開始將Bootable image下載進SD設備。此時我們只需要提供簡化的4byte配置數據就可以完成SD設備的配置,下面是一種Application下載更新示例:

// 在 SRAM 里臨時存儲 SD 配置數據
blhost -u -- fill-memory 0x20202000 0x4 0xD0000001 // 1bit, Normal Speed,uSDHC1

// 使用 SD 配置數據去配置 uSDHC 接口
blhost -u -- configure-memory 0x120 0x20202000


上述fill-memory命令中0xD0000001參數即是簡化的4byte配置數據,這個配置數據組織詳見下表:

cb5c1ffa-efc5-11ed-90ce-dac502259ad0.png

上表4byte數據提供的配置信息主要是SD連接以及屬性配置。configure-memory命令執行成功之后,隨后只需要將Bootable image從SD偏移0x400地址處開始下載即可,具體步驟如下:
// 擦除 SD 并將 image 下載進 SD
blhost -u -- flash-erase-region 0x400 0x20000 0x120
blhost -u -- write-memory 0x400 bt_image.bin 0x12


當然以上所有繁雜的命令行操作都可以使用MCUBootUtility工具(v3.5及以上)來一鍵完成:

cb92e918-efc5-11ed-90ce-dac502259ad0.png ?

五、進入SD/eMMC啟動模式

Application被成功下載進SD卡之后,此時我們便可以開始設置芯片從SD啟動。

先確定BOOT_MODE[1:0]=2'b10,即芯片處于Internal Boot模式,再來選擇Boot Device,Boot Device由BOOT_CFG1[7:4]這四個pin的輸入狀態決定,其中SD啟動模式為4'b01xx。

六、配置eFuse啟動SD/eMMC

設置好芯片啟動模式是從SD啟動之后,我們還需要最后關注一下與SD/eMMC相關的具體特性配置,主要集中在芯片內部eFuse 0x470-0x450區域里,默認全0值適用3.3V SD卡工作在1bit Normal Speed模式,有需要的話切換到4bit SDR104更快速度模式也是可以的。

cbd3a8ae-efc5-11ed-90ce-dac502259ad0.png ?

七、幾個注意事項

i.MX RTxxxx(四位數)與i.MX RTxxx(三位數)在uSDHC編號上不同,RTxxxx(四位數)是uSDHC1-2,而RTxxx(三位數)則是uSDHC0-1,這反映在第四節option.instance設置里。

eMMC協議是向下兼容SD協議的,因此如果使用一塊MicroSD轉eMMC小卡插進官方EVK板的SD卡槽做測試,那么啟動模式不管是SD 1/4bit或者eMMC 4bit模式均是能正常啟動eMMC程序的。

在MIMXRT1170-EVKB Rev.B板卡上,需要設置成4bit模式(BOOT_CFG2[1]=1)才能正常啟動SD卡里程序。

上述所有步驟全部完成,復位芯片之后,你就應該能看到放在SD里的Application已經正常地啟動了。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 恩智浦
    +關注

    關注

    14

    文章

    5877

    瀏覽量

    108074
  • SD卡
    +關注

    關注

    2

    文章

    566

    瀏覽量

    64037
  • 程序
    +關注

    關注

    117

    文章

    3794

    瀏覽量

    81281
  • emmc
    +關注

    關注

    7

    文章

    217

    瀏覽量

    52849
  • microSD卡
    +關注

    關注

    0

    文章

    23

    瀏覽量

    9579

原文標題:i.MX RT1xxx 從SD/eMMC啟動

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    i.MX RT1xxx 系列的時鐘系統以及相關功能引腳

    目前 i.MXRT1xxx 系列主要分為 i.MX RT10xx 和 i.MXRT11xx 兩大分支。這兩個分支的時鐘系統設計是有一些差異的,不過總體來說,架構差別不大,我們以如下
    發表于 07-08 17:01 ?806次閱讀

    i.MX RT10xx系列外部晶振相關引腳的作用

    之前寫過一篇關于時鐘引腳的文章 《i.MX RT1xxx系列MCU時鐘相關功能引腳的作用》,里面簡單提及了外部晶振相關引腳的作用,但是并沒有詳細展開。
    的頭像 發表于 10-13 09:08 ?1525次閱讀

    i.MXRT1xxx Boot的Serial Downloader模式相關資料分享

      大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Flashloader。  在上一篇文章 Serial Downloader模式
    發表于 01-26 08:12

    介紹的是i.MX RT1xxx系列MCU的Parallel NOR啟動

      大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Parallel NOR啟動。  上一篇講i.MXRT1xxx
    發表于 02-22 06:31

    介紹i.MX RT1xxx系列MCU的Raw NAND啟動

      大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Raw NAND啟動。  前面鋪墊了七篇啟動系列文章,終于該講具體Boot
    發表于 02-22 07:20

    i.MX RT1020到i.MX RT1010的遷移手冊

    i.MX RT1020到i.MX RT1010的遷移指南
    發表于 12-12 06:25

    i.MX RT開發筆記-08 | i.MX RT1062嵌套中斷向量控制器NVIC(按鍵中斷檢測)

    RT開發筆記-03 | i.MX RT1062地址空間映射i.MX RT開發筆記-04 | i.MX
    發表于 12-01 13:51 ?2次下載
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>開發筆記-08 | <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1062嵌套中斷向量控制器NVIC(按鍵中斷檢測)

    痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.2)- 在串行NOR Flash XIP調試原理...

      大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列EVK在串行NOR Flash調試的原理。  本文是i.MXRT硬件那些事系列第二篇的續集,在
    發表于 12-01 20:51 ?0次下載
    痞子衡嵌入式:恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1xxx</b>系列MCU硬件那些事(2.2)- 在串行NOR Flash XIP調試原理...

    痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU啟動那些事(4)- Flashloader初體驗(blhost)...

      大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Flashloader。  在上一篇文章 Serial Downloader模式
    發表于 12-02 09:36 ?7次下載
    痞子衡嵌入式:恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1xxx</b>系列MCU<b class='flag-5'>啟動</b>那些事(4)- Flashloader初體驗(blhost)...

    痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU啟動那些事(9)- Parallel NOR啟動

      大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Parallel NOR啟動。  上一篇講i.MXRT1xxx
    發表于 12-28 19:19 ?8次下載
    痞子衡嵌入式:恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1xxx</b>系列MCU<b class='flag-5'>啟動</b>那些事(9)- <b class='flag-5'>從</b>Parallel NOR<b class='flag-5'>啟動</b>

    痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU啟動那些事(8)- Raw NAND啟動

      大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Raw NAND啟動。  前面鋪墊了七篇啟動系列文章,終于該講具體Boot
    發表于 12-28 19:19 ?10次下載
    痞子衡嵌入式:恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1xxx</b>系列MCU<b class='flag-5'>啟動</b>那些事(8)- <b class='flag-5'>從</b>Raw NAND<b class='flag-5'>啟動</b>

    詳解MCU的SD/eMMC啟動

    關于i.MX RT啟動設備,我之前寫過很多篇文章,都是關于串并行 NOR/NAND Flash。相信對于 Flash 的原理和讀寫擦訪問,玩 MCU 的朋友一定不會陌生,但是說到讓 MCU
    的頭像 發表于 05-12 15:52 ?6477次閱讀

    利用i.MX RT1xxx系列ROM集成的DCD功能可輕松配置指定外設

    關于i.MX RT1xxx系列芯片BootROM中集成的DCD功能這個話題,早就想寫了,但是一直沒有動筆,畢竟這個話題比較生澀,單獨講會比較枯燥。最近在支持一個i.MX RT1170客
    的頭像 發表于 04-20 15:54 ?1327次閱讀

    Serial NAND i.MX RT1xxx啟動

    很多關于? i.MXRT1xxx?Serial NAND 啟動的 咨詢 問題,這個啟動設備突然火熱起來了~ 借此機會,今天跟大家介紹一下 Serial NAND 上制作、下載、啟動程序
    的頭像 發表于 08-17 08:50 ?692次閱讀
    Serial NAND <b class='flag-5'>i.MX</b> <b class='flag-5'>RT1xxx</b><b class='flag-5'>啟動</b>

    恩智浦i.MX RT1170 uSDHC eMMC啟動時間

    大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1170 uSDHC eMMC啟動時間。
    的頭像 發表于 08-08 15:32 ?641次閱讀
    恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1170 uSDHC <b class='flag-5'>eMMC</b><b class='flag-5'>啟動</b>時間
    主站蜘蛛池模板: 精品无码久久久久久动漫| 噜妇插内射精品| 日本韩国欧美一区| 99视频网址| 嗯啊好爽视频| jizzzz亚洲丰满xxxx| 日韩人妻精品久久日| 公和我做好爽添厨房中文字幕 | 亚洲精品久久久久69影院| 国产一级特黄a大片99| 亚洲国产在线精品国自产拍五月| 国产精品一区二区免费| 亚洲国产日韩欧美高清片a| 狠狠色在在线视频观看| 真实国产精品视频国产网| 免费看国产精品麻豆| XXOO麻豆国产在线九九爱| 色呦呦导航| 国产色无码精品视频国产| 亚洲色大成网站WWW永久麻豆| 九九热视频免费观看| 中文字幕精品在线视频| 欧美大香线蕉线伊人久久| 成年人免费观看视频网站| 摥管专用动态图399期| 狠狠爱亚洲五月婷婷av| 最新无码专区在线视频| 品色堂主页| 国产色播视频在线观看| 在线自拍综合亚洲欧美| 欧美日韩精品一区二区三区高清视频 | 大桥未久电影在线观看| 亚洲人交性视频| 免费观看99热只有精品| 动漫美女禁区| 亚洲偷自拍精品视频在线观看| 免费完整版观看| 国产高清视频在线播放www色| 亚洲精品视频在线观看视频| 男女性杂交内射妇女BBWXZ| 国产黄a三级三级三级|