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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. OTA 升级 bootload 跳转后(在APP做地址偏移)APP启动异常

OTA 升级 bootload 跳转后(在APP做地址偏移)APP启动异常

已定时 已固定 已锁定 已移动 YTM32B1M系列
19 帖子 6 发布者 1.9k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • ws420115W 离线
    ws420115W 离线
    ws420115
    写于 最后由 编辑
    #5

    BOOT 里面只有串口和flash,并且在跳转前都卸载了并禁用了中断

    1 条回复 最后回复
    0
    • RyanGR 离线
      RyanGR 离线
      RyanG
      在 回复了 Diga 最后由 编辑
      #6

      Diga 请参考ws420115的消息,这是客户的技术工程师。感谢Diga。

      1 条回复 最后回复
      0
      • ws420115W 离线
        ws420115W 离线
        ws420115
        写于 最后由 编辑
        #7

        d1932543131f11035c778a8c0638fdc.png
        图片是我手动修改.SCF文件的截图,只有头两处地方改了,且只改了这个文件,是否是我哪里没改全?

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

          这个可能得配合具体工程才好分析,建议先联系 FAE 咨询一下

          ws420115W 1 条回复 最后回复
          0
          • ws420115W 离线
            ws420115W 离线
            ws420115
            在 回复了 Diga 最后由 编辑
            #9

            Diga 问题解决了,就是.scf文件修改不全,因为不知道YCT工具里link选项不知道怎么修改地址,最后手动修改.scf文件,没改全造成的跳转成功但是运行异常

            1 条回复 最后回复
            0
            • zhaodong1Z 离线
              zhaodong1Z 离线
              zhaodong1
              编写于 最后由 编辑
              #10

              您好,我在使用YTM32MB105的BT的demo工程时,可以正常刷写和跳转APP,跳转后运行正常,,,我在我新的BT工程里现在可以正常刷写app工程,但是刷写完的BT执行跳转APP函数会进入故障,app也没有正常运行,这个跳转函数执行有什么依赖前置项吗

              quanfengQ 1 条回复 最后回复
              0
              • quanfengQ 离线
                quanfengQ 离线
                quanfeng YunTu
                回复了zhaodong1 最后由 编辑
                #11

                zhaodong1 跳转前要反初始化 Boot 里使用到的外设,同时关闭所有中断。可以在 APP main 开头加上 while(1) 卡住,定位是跳转 APP 成功,但 APP 代码运行失败,还是跳转 APP 失败。

                1 条回复 最后回复
                0
                • zhaodong1Z 离线
                  zhaodong1Z 离线
                  zhaodong1
                  编写于 最后由 编辑
                  #12

                  1、我已经通过你们提供的BT的demo工程验证APP程序运行没有问题,可以正常跳转运行2、我已经将所有的外设反初始化,并且下图所示哪一行调用会报错,我在demo里测试了这一行屏蔽不会影响跳转,跳转函数执行前除了外设初始化还需要有哪些操作吗
                  image.png

                  quanfengQ zhaodong1Z 2 条回复 最后回复
                  0
                  • quanfengQ 离线
                    quanfengQ 离线
                    quanfeng YunTu
                    回复了zhaodong1 最后由 编辑
                    #13

                    zhaodong1 SCB->VTOR = APP_IMAGE_START; 这个传的是 APP 起始地址呀,这个就是跳转的目标地址呀,这个注释后怎么确认不影响跳转的了

                    1 条回复 最后回复
                    0
                    • zhaodong1Z 离线
                      zhaodong1Z 离线
                      zhaodong1
                      编写于 最后由 编辑
                      #14

                      我用你们提供的demo工程,屏蔽掉这里后也可以正常跳转,只要传入的appentry是app的启动地址就能跳转过去,,我自己的BT工程现在执行这一行会报错,我不清楚是什么原因导致的

                      quanfengQ 1 条回复 最后回复
                      0
                      • quanfengQ 离线
                        quanfengQ 离线
                        quanfeng YunTu
                        回复了zhaodong1 最后由 编辑
                        #15

                        zhaodong1 方便截图或者直接发一下你 APP 工程的 YCT 配置文件吗 c101def2-8e30-415e-9a71-73f0fe641fc4-image.png

                        1 条回复 最后回复
                        0
                        • zhaodong1Z 离线
                          zhaodong1Z 离线
                          zhaodong1
                          编写于 最后由 编辑
                          #16

                          image.pnglink文件我用的默认配置,生成后手动修改的

                          zhaodong1Z 1 条回复 最后回复
                          0
                          • zhaodong1Z 离线
                            zhaodong1Z 离线
                            zhaodong1
                            回复了zhaodong1 最后由 编辑
                            #17

                            zhaodong1 The target stopped in MemManage exception state.

                            Reason: Unknown at 0x0001235E.

                            For more information about analyzing faults on Cortex-M, refer to:
                            https://wiki.segger.com/Cortex-M_Fault.我执行跳转后报错是这样的,,现在看起来能跳转到APP,但是APP不能正常运行,,,同样的APP 工程我用你们的demo跳转后是可以正常运行的0eb3249f-462e-4612-98c6-ca1ccc3932e4-image.png

                            1 条回复 最后回复
                            0
                            • zhaodong1Z 离线
                              zhaodong1Z 离线
                              zhaodong1
                              回复了zhaodong1 最后由 编辑
                              #18

                              我的APP单独运行,或者用你们的BTdemo都可以正常运行,我感觉核心原因还是我的BT这一行无法正常通过导致的,我想知道这一行和什么有关,需要做哪些配置才能正常使用19caac7a-f23c-4028-b174-9a8c5efe0dff-image.png

                              yishui66Y 1 条回复 最后回复
                              0
                              • yishui66Y 离线
                                yishui66Y 离线
                                yishui66
                                回复了zhaodong1 最后由 yishui66 编辑
                                #19

                                背景: 在Cortex-M33中,用户模式(非特权模式)无法直接操作多数SCB寄存器。非特权访问尝试将触发故障(如MemManage故障或HardFault)。只有特权代码(如操作系统内核或异常处理程序)才能安全地配置这些寄存器。

                                **分析:**SCB->VTOR赋值属于内核操作,故需要使用特权模式。且YTMEVB_Demo_RevC 这个demo是启用了非特权模式的

                                方法一: 修改YCT工程配置并重新生成工程
                                ①YCT工具配置删除以下宏
                                9adbec80-997d-472c-a1c5-d87f56fa09c4-0c96960d-76ed-4a57-8329-6b9d20ef7e26.png

                                ②确认所有外设均取消勾选EnableUserModeSupport
                                948970a8-c564-4f9f-b233-ec430b994889-57bda4e2-4527-4f5b-9ba2-2f09d9b0a9ba.png

                                方法二: 在代码中直接增加进入特权模式,无需修改YCT配置
                                69cbb451-1ca9-4af1-9298-ba595f90785b-2e2cf0070fad973803cb915adb976ba9.png

                                1 条回复 最后回复
                                0

                              • 云途开发生态介绍

                                快速上手云途开发生态

                              • 云途论坛规则/Yuntu Forum Rules

                                发帖前请查看

                              • YT CONFIG TOOL调查问卷

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

                              • can
                                23
                                demo
                                20
                                uds
                                13
                                lin stack
                                12
                                md14
                                6
                                fbl
                                5
                                yt-link
                                5
                                adc模块
                                4
                                Online Users
                                • 登录

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