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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. SPI HARDFAULT

SPI HARDFAULT

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

    1、SPI HardFault的进入愿因有哪些? 硬件错误? 目前通信时偶发HardFault

    2、硬件错误是否可以不进入HardFault导致软件复位,有什么清除错误的方法?

    1 条回复 最后回复
    0
    • hjkjH 离线
      hjkjH 离线
      hjkj
      在 回复了 Frank 最后由 编辑
      #12

      Frank Diga
      谢谢两位,大概已经定位是spi这边的数组越界

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

        产生hardfault的原因可以通过SCB寄存器获取。然后根据发生错误的地址和调用栈去定位问题发生的原因。SPI通信过程中产生的错误本身不会导致core进hardfault

        hjkjH 1 条回复 最后回复
        1
        • hjkjH 离线
          hjkjH 离线
          hjkj
          在 回复了 Frank 最后由 hjkj 编辑
          #3

          HardFault_Handler 这个函数进来的,是指硬件错误吗?
          SCB需要打印什么信息,帮忙参考一下

          1 条回复 最后回复
          0
          • FrankF 离线
            FrankF 离线
            Frank YunTu
            写于 最后由 编辑
            #4

            HFSR, UFSR, BFSR, MMFSR, BFAR, SHCSR

            hjkjH 1 条回复 最后回复
            0
            • hjkjH 离线
              hjkjH 离线
              hjkj
              在 回复了 Frank 最后由 hjkj 编辑
              #5

              Frank
              HFSR=0x40000000
              CFSR=0x00008200
              UFSR=0
              BFSR=0x00008200
              MMFSR=0
              BFAR=0xE000ED38
              SHCFR=0x00010004

              1 条回复 最后回复
              0
              • FrankF 离线
                FrankF 离线
                Frank YunTu
                写于 最后由 编辑
                #6

                对照map 看下地址0xE000ED38做了什么

                1 条回复 最后回复
                0
                • FrankF 离线
                  FrankF 离线
                  Frank YunTu
                  写于 最后由 编辑
                  #7

                  截图吧,0xE000ED38地址就是BFAR寄存器的地址。你应该是哪里搞错了

                  hjkjH 1 条回复 最后回复
                  0
                  • hjkjH 离线
                    hjkjH 离线
                    hjkj
                    在 回复了 Frank 最后由 hjkj 编辑
                    #8

                    Frank
                    BFAR = 0x20010000
                    map里没有这个地址,这个地址不在ram也不在flash
                    BFSR的BFARVALID为有效,但是BFAR的地址都不在flash范围内?
                    edf9d014-9f6d-477d-871b-955514be6468-image.png

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

                      看起来有个野蛮生长的指针,自己查一下现在有哪些指针,或者数组越界的

                      hjkjH 1 条回复 最后回复
                      0
                      • hjkjH 离线
                        hjkjH 离线
                        hjkj
                        在 回复了 Diga 最后由 hjkj 编辑
                        #10

                        Diga
                        BFAR = 0x20010000 这个地址是什么情况,都不在map里
                        目前测试发现和SPI这边有很大的关联,接入一个异常的SPI从机立马进入hardfault,不接就不会进入
                        SPI脚电压异常可能会导致hardfault吗? 比如瞬间过大电压

                        1 条回复 最后回复
                        0
                        • FrankF 离线
                          FrankF 离线
                          Frank YunTu
                          写于 最后由 编辑
                          #11

                          static 的变量有可能不在map中显示,但是这个地址是精确错误,你查找下就可以基本能定位出来了。根据你的描述,建议排查spi的接收和发送buffer

                          hjkjH 1 条回复 最后回复
                          0
                          • hjkjH 离线
                            hjkjH 离线
                            hjkj
                            在 回复了 Frank 最后由 编辑
                            #12

                            Frank Diga
                            谢谢两位,大概已经定位是spi这边的数组越界

                            1 条回复 最后回复
                            0
                            • ,FrankieF Frankie 将这个主题转为问答主题
                            • ,FrankieF Frankie 将这个主题标记为已解决

                          • 云途开发生态介绍

                            快速上手云途开发生态

                          • 云途论坛规则/Yuntu Forum Rules

                            发帖前请查看

                          • YT CONFIG TOOL调查问卷

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

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

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