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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. FBL在初始化CAN后再跳转至APP,APP无法正常通信

FBL在初始化CAN后再跳转至APP,APP无法正常通信

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

    case1.若FBL在初始化CAN后再跳转至APP,则APP无法正常通信;❌
    case2.若FBL不初始化CAN直接跳转至APP,则APP通信正常。✔️

    4e45745f-6fd1-41c9-983d-4173602baef9-image.png
    按参考帖子的上图说明,检查了一下,分别执行case1或case2的跳转前,均执行了关CAN中断,关CAN控制器,CAN Deinit,关全局中断使能。但是跳转到APP的正常通信还是和FBL跳转前有无初始化相关,有没有办法把case1的情况也改成跳转后APP能够正常通信。
    f2e1d75a-ccd8-46bc-9514-f22ab467bff2-image.png

    1 条回复 最后回复
    0
    • FunchovyF 离线
      FunchovyF 离线
      Funchovy
      编写于 最后由 编辑
      #17

      已解决,我用MCAL重配了一次APP,FBL在初始化CAN后再跳转至APP(MCAL)是能够通信的。原来APP是论坛上的SDK Demo.好奇怪。

      1 条回复 最后回复
      0
      • xianghanX 离线
        xianghanX 离线
        xianghan YunTu
        编写于 最后由 编辑
        #2

        1 首先顺序按照以下顺序进行:
        先关中断 Can_DisableControllerInterrupts()
        再停止控制器 Can_SetControllerMode(CAN_CS_STOPPED)
        最后反初始化 Can_DeInit()

        2 你这个截图里还有递归操作,把递归去掉,调用的Deinit函数必须是AutoSar驱动函数,不是你自己定义的。

        1 条回复 最后回复
        0
        • FunchovyF 离线
          FunchovyF 离线
          Funchovy
          编写于 最后由 编辑
          #3

          1.已按这样的顺序修改,还是一样。
          image.png
          2.没有递归,这俩是俩个函数,代码命名不规范这俩函数太相似了,已修改,调用的Deinit函数是云途MCAL的库函数,不是自己定义的。

          1 条回复 最后回复
          0
          • lhvL 离线
            lhvL 离线
            lhv
            编写于 最后由 编辑
            #4
            此主題已被删除!
            1 条回复 最后回复
            0
            • jiankang_wangJ 离线
              jiankang_wangJ 离线
              jiankang_wang YunTu
              编写于 最后由 编辑
              #5

              MCAL 的版本是什么?
              在进行反初始化的时候,需要将所有使用到的通道都STOP掉,才能反初始化.

              另外,可以在APP中检查一下DET的报错,确定一下APP中是不是没有初始化导致的通信失败

              1 条回复 最后回复
              0
              • FunchovyF 离线
                FunchovyF 离线
                Funchovy
                编写于 最后由 编辑
                #6
                1. MCAL版本是2.3.0
                2. 在进行反初始化的时候,需要将所有使用到的通道都STOP掉,才能反初始化
                  -->只配了这一路CAN
                  image.png
                  3.可以在APP中检查一下DET的报错,确定一下APP中是不是没有初始化导致的通信失败
                  -->需要怎么做?单跑APP是有通信的。
                1 条回复 最后回复
                0
                • jiankang_wangJ 离线
                  jiankang_wangJ 离线
                  jiankang_wang YunTu
                  编写于 最后由 编辑
                  #7
                  1. 先检查一下在你的 Can_Deinit 函数调用后, FLEXCAN 模块的状态, MCR寄存器的状态.

                  2. Det检查的话,要看你的Det模块是什么,我们提供的Det是桩模块,可以直接检查全局变量

                  uint16 Det_ModuleId;
                  uint8 Det_ApiId;
                  uint8 Det_InstanceId;
                  uint8 Det_ErrorId;
                  uint16 Det_TotalError;
                  
                  1 条回复 最后回复
                  0
                  • FunchovyF 离线
                    FunchovyF 离线
                    Funchovy
                    编写于 最后由 编辑
                    #8
                    1. CAN MCR 看了一下感觉没特别大的问题
                      MDIS 0 ReadWrite
                      FRZ 1 ReadWrite
                      RFEN 0 ReadWrite
                      HALT 1 ReadWrite
                      NOTRDY 1 ReadWrite
                      WAKMSK 0 ReadWrite
                      SOFTRST 0 ReadWrite
                      FRZACK 1 ReadWrite
                      SUPV 1 ReadWrite
                      SLFWAK 0 ReadWrite
                      WRNEN 1 ReadWrite
                      LPMACK 0 ReadWrite
                      WAKSRC 0 ReadWrite
                      DOZE 0 ReadWrite
                      SRXDIS 1 ReadWrite
                      IRMQ 1 ReadWrite
                      DMA 0 ReadWrite
                      PNET_EN 0 ReadWrite
                      LPRIOEN 0 ReadWrite
                      AEN 1 ReadWrite
                      FDEN 1 ReadWrite
                      IDAM 0x0 ReadWrite
                      MAXMB 0xd ReadWrite
                      跳转后
                      MDIS 0 ReadWrite
                      FRZ 0 ReadWrite
                      RFEN 0 ReadWrite
                      HALT 0 ReadWrite
                      NOTRDY 0 ReadWrite
                      WAKMSK 0 ReadWrite
                      SOFTRST 0 ReadWrite
                      FRZACK 0 ReadWrite
                      SUPV 0 ReadWrite
                      SLFWAK 0 ReadWrite
                      WRNEN 0 ReadWrite
                      LPMACK 0 ReadWrite
                      WAKSRC 0 ReadWrite
                      DOZE 0 ReadWrite
                      SRXDIS 1 ReadWrite
                      IRMQ 0 ReadWrite
                      DMA 0 ReadWrite
                      PNET_EN 0 ReadWrite
                      LPRIOEN 0 ReadWrite
                      AEN 1 ReadWrite
                      FDEN 0 ReadWrite
                      IDAM 0x0 ReadWrite
                      MAXMB 0x3f ReadWrite

                    2.APP用的是SDK,没找到DET模块。

                    1 条回复 最后回复
                    0
                    • swustS 离线
                      swustS 离线
                      swust YunTu
                      编写于 最后由 编辑
                      #9

                      贴一下app的代码看看

                      FunchovyF 1 条回复 最后回复
                      0
                      • FunchovyF 离线
                        FunchovyF 离线
                        Funchovy
                        回复了swust 最后由 编辑
                        #10

                        swust
                        哪部分

                        swustS 1 条回复 最后回复
                        0
                        • jiankang_wangJ 离线
                          jiankang_wangJ 离线
                          jiankang_wang YunTu
                          编写于 最后由 编辑
                          #11

                          你这跳转后是什么时候都寄存器内容?跳转完成后就是这样了?

                          从寄存器来看,在跳转前是disable掉了FLEXCAN模块,进入了freeze模式,跳转后变成normal了

                          直接跑app的代码,是可以正常工作的吧? app的寄存器看起来是正常的,你说的通信失败指的是什么?进不了回调吗?

                          FunchovyF 1 条回复 最后回复
                          0
                          • swustS 离线
                            swustS 离线
                            swust YunTu
                            回复了Funchovy 最后由 编辑
                            #12

                            Funchovy 就CAN的这部分

                            FunchovyF 1 条回复 最后回复
                            0
                            • FunchovyF 离线
                              FunchovyF 离线
                              Funchovy
                              回复了jiankang_wang 最后由 Funchovy 编辑
                              #13

                              jiankang_wang 在 FBL在初始化CAN后再跳转至APP,APP无法正常通信 中说:

                              你这跳转后是什么时候都寄存器内容?跳转完成后就是这样了?
                              FBL跳转到APP后观察CAN的MCR寄存器,跳转完成后就是这样了。
                              从寄存器来看,在跳转前是disable掉了FLEXCAN模块,进入了freeze模式,跳转后变成normal了
                              是的
                              直接跑app的代码,是可以正常工作的吧? app的寄存器看起来是正常的,你说的通信失败指的是什么?进不了回调吗?
                              直接跑app的代码,是可以正常工作的, 通信失败指的是上位机发送的报文ACK Error。

                              1 条回复 最后回复
                              1
                              • FunchovyF 离线
                                FunchovyF 离线
                                Funchovy
                                回复了swust 最后由 编辑
                                #14

                                swust 在 FBL在初始化CAN后再跳转至APP,APP无法正常通信 中说:

                                Funchovy 就CAN的这部分
                                用的是这一份里的代码
                                https://forum.ytmicro.com/topic/1257/ytm32b1me05-uds-can-fbl公版操作指南

                                lxhxssL 1 条回复 最后回复
                                0
                                • lxhxssL 离线
                                  lxhxssL 离线
                                  lxhxss
                                  回复了Funchovy 最后由 编辑
                                  #15
                                  此主題已被删除!
                                  1 条回复 最后回复
                                  0
                                  • jiankang_wangJ 离线
                                    jiankang_wangJ 离线
                                    jiankang_wang YunTu
                                    编写于 最后由 编辑
                                    #16

                                    跳转的话应该是不会去动CAN模块的配置的,除非你的代码里会去修改FLEXCAN的寄存器. 但是你这里跳转完成后就变为了 Normal 状态. 可能是哪里动到了.

                                    可以先检查一下 FLEXCAN 的邮箱配置, 看看是否有你上位机发送部分的接收邮箱配置.

                                    具体的,可以检查 CAN->RAM 寄存器, 看看你的邮箱配置在跳转前后是否一致.

                                    1 条回复 最后回复
                                    0
                                    • FunchovyF 离线
                                      FunchovyF 离线
                                      Funchovy
                                      编写于 最后由 编辑
                                      #17

                                      已解决,我用MCAL重配了一次APP,FBL在初始化CAN后再跳转至APP(MCAL)是能够通信的。原来APP是论坛上的SDK Demo.好奇怪。

                                      1 条回复 最后回复
                                      0
                                      • ,FunchovyF Funchovy 将这个主题标记为已解决

                                    • 云途开发生态介绍

                                      快速上手云途开发生态

                                    • 云途论坛规则/Yuntu Forum Rules

                                      发帖前请查看

                                    • YT CONFIG TOOL调查问卷

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

                                    • can
                                      28
                                      demo
                                      23
                                      uds
                                      14
                                      lin stack
                                      13
                                      md14
                                      6
                                      yt-link
                                      6
                                      fbl
                                      5
                                      adc模块
                                      4
                                      Online Users
                                      EkkoE
                                      Ekko
                                      JETTJ
                                      JETT
                                      chenchaoC
                                      chenchao
                                      YQHY
                                      YQH
                                      swordsS
                                      swords
                                      • 登录

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