请选择 进入手机版 | 继续访问电脑版
查看: 1957|回复: 5

[分享] i.MX RT1050学习笔记1-启动

[复制链接]
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3297

    主题

    6542

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    31909
    最后登录
    2024-3-29
    发表于 2021-3-16 18:48:24 | 显示全部楼层 |阅读模式
    i.MX RT1050学习笔记1-启动
    1 前言
    毕业后正式进入嵌入式领域,初来乍到,接触的第一款MCU为NXP公司在2017年发布的跨界处理器I.MX系列芯片,如下为该系列芯片特征:
    21.png
    2 RT系列关于启动相关知识
    i.MX RT与i.MX 6ULL是同一个平台产出,简单来时就是出了核心不一样,其他都是无比的雷同。所以其启动方式也是与i.MX 6ULL的启动方式类似,不同于传统的MCU的启动方式。接下来我就会根据我的总结简单阐述一下我对i.MX RT系列芯片的启动过程,在介绍之前先简单的介绍一下一些基本概念。


    2.1 BootROM
    BootROM就是芯片一出场就集成在芯片ROM区的一段启动程序,它的目的就相当于一个引导程序,简单来说,就是让芯片去运行用户的Application,等同于STM32的出厂Bootloader,这是不可改变和擦除的程序。(具体介绍大家可参考文章:痞子衡嵌入式:飞思卡尔i.MX RTyyyy系列MCU启动那些事(1)- Boot简介)


    2.2 FUSE
    FUSE的本质就是一块OTP(One Time Programmable)memory,也就是只可以烧写一次的储存区域。启动需要的配置信息就可以存储在里面。(关于FUSE具体介绍大家可参考文章:痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(4)- OTP及其烧写方法)


    2.3 Bootable image
    Bootable image通俗的来说就是APP镜像,里面集成了除了机器执行码(也就是我们经常说的bin文件)之外,还有其他各种信息。以STM32举例来说,通常我们只要将Bin文件下载到其内部的FLASH中,芯片上电后即可读取程序并运行,但是对于RT系列来说则是不不可以,必须将可执行文件加上其他信息(如FDCB, IVT,BD, DCD,CSF等,其中IVT和BD包含了image的目标地址和总长度)打包成规定格式的image文件下载进外部存储器中,RT才能顺利运行。(关于Bootable image的具体介绍大家可参考文章:痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(6)- Bootable image格式与加载(elftosb/.bd)…)


    2.4 RT的boot选项
    根据RT1050的数据手册可知道其有三种启动方式,如下图:
    22.png
    ①Serial Downloader:处于该种模式下,BootROM通过指定的USB或者UART口来接收来自Host(恩智浦提供了上位机工具sdphost.exe或者mfgtool或者MCUBootUtility)的Application数据,并将数据存储在SRAM中执行。
    ②Boot From Fuses: 处于该种模式下,有两种选项,第一种为BootROM会根据FUSE里的相关boot配置来决定从哪种外部存储器读取Image数据。第二种等同于Serial Downloader模式(两种选项具体由FUSE中的BT_FUSE_SEL位去决定)。
    ③Internal Boot: 处于该模式下,有两种选项,第一种为BootROM会根据FUSE中的Boot配置信息和外部引脚共同决定启动设备,其中以外部引脚设置配置为主;第二种为完全根据FUSE中的boot配置信息去决定(两种选项具体由FUSE中的BT_FUSE_SEL位去决定)。
    (关于RT的boot选项具体介绍大家可以参考文章:痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(2)- Boot配置(BOOT Pin/eFUSE))


    3 RT的启动过程
    经过上面的一些简单介绍,接下来对RT启动的过程进行一个简单的阐述。
    芯片上电后,最先运行就是BootROM程序。
    它首先会去读取RT当前的boot选项,决定从何处读取Bootable iamge数据,读取iamge的过程过程如下(以image链接在TCM里为例,也就是程序在ITCM中运行):
    ①初始状态时,这时SRAM中没有任何image数据,BootROM首先会从外部Flash读取Bootable image前4KB数据进SRAM临时缓存区(OCRAM:0x20208000 - 0x20208FFF),其中包括FDCB(可选), IVT, BD,其中FDCB包含了当前存储iamge的存储设备的具体特征参数,IVT记录了image各个要素的位置信息,BD记录了起始地址和总长度。
    ②读取前4KB数据后,首先根据读取数据中的FDCB中驱动存储设备的特征再次初始化读取接口以便后续读取image的剩余部分数据。而BootROM则是将SRAM临时缓存区中的4KB数据转移至链接目标区域(ITCM),接着则是继续读取image剩余部分至链接目标区域(ITCM)。
    读取完所有的iamge数据后,BootROM所有的工作就做完了,这时候正式开始执行iamge中的Application。


    到这里,关于RT系列芯片的启动过程就简单介绍完了。
    ————————————————
    作者:「小猫爪」的原创文章

    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-24 18:42
  • 签到天数: 206 天

    [LV.7]常住居民III

    18

    主题

    311

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2738
    最后登录
    2024-2-29
    发表于 2021-3-17 09:40:39 | 显示全部楼层
    小猫抓太优秀了!
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 08:00
  • 签到天数: 554 天

    [LV.9]以坛为家II

    34

    主题

    5904

    帖子

    2

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5606
    最后登录
    2024-3-28
    发表于 2021-3-19 09:32:26 | 显示全部楼层
    通俗易懂
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-7 11:35
  • 签到天数: 72 天

    [LV.6]常住居民II

    0

    主题

    533

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1525
    最后登录
    2024-1-17
    发表于 2021-3-20 15:11:54 | 显示全部楼层
    学习,学习
    开心
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-5-28 10:51
  • 签到天数: 62 天

    [LV.6]常住居民II

    3

    主题

    233

    帖子

    0

    高级会员

    Rank: 4

    积分
    737
    最后登录
    2021-9-17
    发表于 2021-3-22 09:35:43 | 显示全部楼层
    学习了
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    7 天前
  • 签到天数: 437 天

    [LV.9]以坛为家II

    3

    主题

    1784

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3923
    最后登录
    2024-3-27
    发表于 2021-3-22 21:56:31 | 显示全部楼层
    RT的启动过程
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-3-29 21:06 , Processed in 0.143584 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表