跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1H系列
  4. ROM安全启动无法跳转到boot

ROM安全启动无法跳转到boot

已定时 已固定 已锁定 已移动 未解决 YTM32B1H系列
7 帖子 2 发布者 112 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • xiepenghanX 离线
    xiepenghanX 离线
    xiepenghan
    编写于 最后由 编辑
    #1

    目前已经在用户 Boot 中配置了 Secure Boot,但是实际烧写后发现 ROM 启动后没有正常进入 Boot,调试了一下发现主要是严格安全启动BOOT_SEQ_STRICT这个位导致进入不了boot,因此希望确认 ROM → Boot 的启动流程以及具体的调试方法

    CM7_0_M_EN-1
    BOOT_SEQ-1
    BOOT_SEQ_STRICT-1
    APP_WDG_EN-1
    ROM_BOOT_SCST_EN-1
    CPDIVS-0
    

    boot中secure group软件配置如下

    const secure_boot_group_config_t secure_boot_group SB_CONFIG_SECTION_SEG = {
        .secure_boot_group_marker = SECURE_BOOT_GROUP_MARKER,
        .secure_boot_section_num  = 1,
        .encrypt                  = true,
        .aes_key_size             = KEY_LEN_128_BITS,
        .key_slot                 = 0,
        .section_config_addr[0]   = (uint32_t)&secure_boot_section_config0,
    };
    

    boot中secure section软件配置如下

    const secure_boot_section_config_t secure_boot_section_config0 SB_CONFIG_SECTION_SEG = {
        .secure_boot_marker = SECURE_BOOT_SECTION_MARKER,
        .aes_key_size       = KEY_LEN_128_BITS,
        .key_slot           = 0,
        .start_addr         = 0x02000800,
        .length             = 0xFC00,
        .cmac_addr          = (uint32_t)&cmac0[0],
    };
    

    目前已经检查了生成的 HEX 文件,Secure Boot Group 和 Secure Boot Section 的相关配置在 HEX 中没有发现明显异常,并且编辑hex在最后加入了boot的cmac计算值
    c26d62ee-f89c-4f6a-9606-fd796096f566-image.png
    但烧写进去boot未启动
    想确认一下:
    1.ROM 没有进入 Secure Boot 流程
    2.ROM无法跳转是因为CMAC 校验失败还是因为group/section配置校验失败
    3.关于这部分调试方法或者相关资料和参考示例代码

    1 条回复 最后回复
    0
    • DigaD 离线
      DigaD 离线
      Diga
      编写于 最后由 编辑
      #2

      直接连上去,看一下 PC 的地址
      确认一下,密钥有没有更新,程序有没有更新,签名值有没有同步更新。

      xiepenghanX 1 条回复 最后回复
      0
      • xiepenghanX 离线
        xiepenghanX 离线
        xiepenghan
        回复了Diga 最后由 编辑
        #3

        Diga 在 ROM安全启动无法跳转到boot 中说:

        密钥有没有更新

        1.我现在通过iar attach上去查看运行卡住的地址是0x0100c784,我看这段其实并没有内容
        2.密钥这点真是我现在迷惑的,ROM校验跳boot是根据boot中安全启动的配置来决定的吗,例如我现在工程中配置key_slot=0那么ROM校验的时候是使用密钥槽0中的来校验码,如果是这样密钥应该是没问题的,因为现在boot能通过安全启动跳转app,使用的也是该密钥槽
        3.程序我查看内存是有更新的,可以查看到hex确实是有烧录到其中
        6790382a-975d-4840-89ca-70681143876a-image.png

        1 条回复 最后回复
        0
        • DigaD 离线
          DigaD 离线
          Diga
          编写于 最后由 编辑
          #4
          1. 这段地址是在 ROM 里,应该是停在 ROM 没跳过去
          2. 签名的输入,一是你的程序,即明文,二是你的密钥,这俩但凡有一个更新了,签名都要同步更新,不然肯定不匹配。
          xiepenghanX 2 条回复 最后回复
          0
          • xiepenghanX 离线
            xiepenghanX 离线
            xiepenghan
            回复了Diga 最后由 编辑
            #5

            Diga 在 ROM安全启动无法跳转到boot 中说:

            1. 这段地址是在 ROM 里,应该是停在 ROM 没跳过去
            2. 签名的输入,一是你的程序,即明文,二是你的密钥,这俩但凡有一个更新了,签名都要同步更新,不然肯定不匹配。

            第二点没有调试手段吗,例如查看ROM算出的cmac值,然后我可以再和我工具计算出来的比较一下

            1 条回复 最后回复
            0
            • DigaD 离线
              DigaD 离线
              Diga
              编写于 最后由 编辑
              #6

              如果能让你看到 ROM 算出的 CMAC 值,那你直接把这个签名往里填不就行了,那这个安全启动还有安全性可言吗

              1 条回复 最后回复
              0
              • xiepenghanX 离线
                xiepenghanX 离线
                xiepenghan
                回复了Diga 最后由 编辑
                #7

                Diga 在 ROM安全启动无法跳转到boot 中说:

                1. 这段地址是在 ROM 里,应该是停在 ROM 没跳过去
                2. 签名的输入,一是你的程序,即明文,二是你的密钥,这俩但凡有一个更新了,签名都要同步更新,不然肯定不匹配。

                这部分下午尝试用yuntu_tool生成,生成出来可以跳转boot,但比较发现secure section被篡改了,和资料上说明的有点出入,例如头应该是0x5aa5,key slot这部分0x33也不太合理
                41a6d2c4-b6bb-48b1-a412-57ea9c4d2d95-ceedcfc6ebb62056e6a4480df64c9d23.png
                04935ff5-851c-4379-9164-9ffadce0c855-3b57eaa675687e288a4912b19e375168.png
                yuntu_tool配置如下
                18e79cd5-9d16-44d8-b6d1-31e2c8071e74-image.png

                1 条回复 最后回复
                0

              • 云途开发生态介绍

                快速上手云途开发生态

              • 云途论坛规则/Yuntu Forum Rules

                发帖前请查看

              • YT CONFIG TOOL调查问卷

                帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

              • can
                28
                demo
                26
                uds
                14
                lin stack
                13
                fbl
                6
                md14
                6
                yt-link
                6
                adc模块
                4
                Online Users
                • 登录

                • 登录或注册以进行搜索。
                • 第一个帖子
                  最后一个帖子
                0
                • 版块
                • 最新
                • 标签
                • 热门