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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YT SDK
  4. UTILITY-FLASH-ECC-FAULT 中间件发布!

UTILITY-FLASH-ECC-FAULT 中间件发布!

已定时 已固定 已锁定 已移动 YT SDK
7 帖子 3 发布者 1.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • FrankieF 离线
    FrankieF 离线
    Frankie YunTu
    写于 最后由 Frankie 编辑
    #1

    UtilityFlashEccFault 是一个云途实现的针对YTM32B1LE1/ YTM32B1MC0/ YTM32B1HA0 Flash Un-Recovery ECC Error会造成HardFault芯片的一个通用处理的库。

    跟多信息参考:UTILITY-FLASH-ECC-FAULT User Manual

    134a2ebc-f416-42b4-998c-8e6704c13628-image.png

    gaoShengG 2 条回复 最后回复
    1
    • gaoShengG 离线
      gaoShengG 离线
      gaoSheng
      在 回复了 Frankie 最后由 编辑
      #2

      Frankie 你好,我尝试用您提供的utility_flash_ecc_fault库和main.c文件,在HA的MCU的0x0600E000开始的dflash区域注入ecc错误,但是程序在跑到FLASH_ECC_Fault_Handler_C就卡死了,调试也无法单步执行
      02759eae-3a26-4d75-8656-60813fda60e4-image.png
      705f9cb4-9ecb-4228-8d68-36a9a0279d77-image.png
      是我的打开方式不对吗,下面是我的工程:
      0b2f870e-9997-49f6-aec4-fca79f33494b-HA_ECC.zip

      gaoShengG 1 条回复 最后回复
      0
      • gaoShengG 离线
        gaoShengG 离线
        gaoSheng
        在 回复了 gaoSheng 最后由 编辑
        #3

        gaoSheng 4d87bb85-8c43-4148-860b-f298b0ab2d7d-image.png 捣鼓半天发现SDK里面就有这个例程😳

        1 条回复 最后回复
        0
        • gaoShengG 离线
          gaoShengG 离线
          gaoSheng
          在 回复了 Frankie 最后由 gaoSheng 编辑
          #4

          Frankie 请教一个问题。我用您的那个库测试ECC的注入和消除,确实可以达到预期的效果,但还有两个小疑问请教一下。为什么main.c里面已经有了
          EFM_Ecc_IRQHandler有EFM_UnrecoveryErrorHandler和EFM_RecoveryErrorHandler的入口,
          为啥flash_ecc_fault.c还有*EFM_UnrecoveryErrorHandler(eccCallback();)*入口。并且每次都是先运行mian.c里面的EFM_RecoveryErrorHandler再运行flash_ecc_fault里面的EFM_UnrecoveryErrorHandler。

          5c93523d-3548-4aff-8e4e-38a90031c214-c24b2b68a986134c6f49cbbf5733231b.png

          8c997ede-843a-4cc9-a1a5-cd2f77d767ff-image.png

          另外,是不是Pflash和Dflash都会出现ecc错误,但dflash可能擦写操作会多一些,更容易出现ecc错误

          gaoShengG 1 条回复 最后回复
          0
          • gaoShengG 离线
            gaoShengG 离线
            gaoSheng
            在 回复了 gaoSheng 最后由 gaoSheng 编辑
            #5

            这是我的工程
            ee3246fc-c89c-4740-9b21-ffc1ef2bd984-Flash_ECC_Demo_1027.zip

            这是出现ECC后的处理流程,先运行mian.c里面的EFM_RecoveryErrorHandler再运行flash_ecc_fault里面的EFM_UnrecoveryErrorHandler。
            110b42dd-58b5-4e1d-b0bf-42acdd8307f1-image.png

            gaoShengG 1 条回复 最后回复
            0
            • gaoShengG 离线
              gaoShengG 离线
              gaoSheng
              在 回复了 gaoSheng 最后由 gaoSheng 编辑
              #6

              gaoSheng 我发现EFM_Ecc_IRQn中断的使能和实现可以直接注释掉。并不会影响处理ECC错误的功能
              c8bb84e9-5bb1-4b10-a083-37facac5d952-f71cddc69563965aec8df19009af5c66.png

              20f3fc35-06d8-488e-8801-f5acef332a02-3203dbb9228448e5e51e2f5a76e4f9aa.png

              我的理解是这样的,由于flash_ecc_fault.c里面已经把HardFault重新映射到了FLASH_ECC_Fault_Handler。如果是ECC引起的HardFault会运行eccCallback(EFM_UnrecoveryErrorHandler),
              其他场景导致的HardFault 的会通过otherFaultCallback (HardFault_Callback)回调处理。那相当于Main.c里面EFM_Ecc_IRQn中断的使能和实现似乎就没有必要了。
              31cc693e-f502-49ea-bd4a-120168007b44-image.png

              runR 1 条回复 最后回复
              1
              • runR 离线
                runR 离线
                run YunTu
                在 回复了 gaoSheng 最后由 编辑
                #7

                gaoSheng 是这样的,YTM32B1HA0 如果产生了Unrecovery ECC错误,是先进入的Bus Fault(如果没有使能,则会force为 Hard Fault)。
                但是Recovery ECC错误,是直接进入的EFM_Ecc_IRQn中断里面。

                Demo是为了演示,因此中断都给开了。实际使用中,因为Recovery ECC错误可以自纠,所以可以不做处理,只需要处理HardFault 即可。

                1 条回复 最后回复
                0

              • 云途开发生态介绍

                快速上手云途开发生态

              • 云途论坛规则/Yuntu Forum Rules

                发帖前请查看

              • YT CONFIG TOOL调查问卷

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

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

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