YTM32B1MC03 的ECC
-
这个是MCAL driver 内部使用的是函数,不建议直接调用。你如果确实想知道什么时候发生了ECC错误,可以通过使能Fls模块中的ECC异常处理和中断,并配置通知函数。这样在Fee读取数据时,若发现有ECC错误会通过Notification 函数通知APP。

直接调用Fls_Lld_GetRecoverr跑飞,你看看是否时因为你的工程里面使能了UserMode. -
houjun_xiao 在 YTM32B1MC03 的ECC 中说:
这个是MCAL driver 内部使用的是函数,不建议直接调用。你如果确实想知道什么时候发生了ECC错误,可以通过使能Fls模块中的ECC异常处理和中断,并配置通知函数。这样在Fee读取数据时,若发现有ECC错误会通过Notification 函数通知APP。

直接调用Fls_Lld_GetRecoverr跑飞,你看看是否时因为你的工程里面使能了UserMode.哦哦好的感谢,确实使能了UserMode,还有个问题想请教一下,MCAL中没有看到RAM的配置,如果想知道什么时候RAM发生了ECC错误该如何获取?
-
目前MCAL没有EMU的driver,如果需要关系而是否发生RAM ECC错误以及错误信息,可以直接从EMU以下几个寄存器获取错误状态以及地址:

-
houjun_xiao 在 YTM32B1MC03 的ECC 中说:
目前MCAL没有EMU的driver,如果需要关系而是否发生RAM ECC错误以及错误信息,可以直接从EMU以下几个寄存器获取错误状态以及地址:

好的感谢,直接读取RAM ECC错误是否也会跑飞,需要关闭所有的UserMode使能吗?
houjun_xiao 在 YTM32B1MC03 的ECC 中说:
目前MCAL没有EMU的driver,如果需要关系而是否发生RAM ECC错误以及错误信息,可以直接从EMU以下几个寄存器获取错误状态以及地址:

houjun_xiao 在 YTM32B1MC03 的ECC 中说:
目前MCAL没有EMU的driver,如果需要关系而是否发生RAM ECC错误以及错误信息,可以直接从EMU以下几个寄存器获取错误状态以及地址:

好的感谢,直接读取RAM ECC错误MCU 是否也会跑飞,需要关闭所有模块的UserMode使能吗?
-
开启UserMode后,在usermode状态下直接读取寄存器,MCU都会飞,你可以参考MCAL代码中的方法,使用OsIf.h中定义的OsIf_Trusted_Call**调用你写的读取ECC寄存器的函数,这样可以在读取寄存器时将MCU切换到特权模式,这样不会跑飞。
-
houjun_xiao 在 YTM32B1MC03 的ECC 中说:
开启UserMode后,在usermode状态下直接读取寄存器,MCU都会飞,你可以参考MCAL代码中的方法,使用OsIf.h中定义的OsIf_Trusted_Call**调用你写的读取ECC寄存器的函数,这样可以在读取寄存器时将MCU切换到特权模式,这样不会跑飞。
好的十分感谢,还有最后一个问题,Flash可以不开中断,用这种方法去轮询读取ECC错误吗?
-
Flash 的 ECC 中断可选择关闭,但建议务必开启 Flash 异常处理机制。不可恢复的 ECC 错误会直接触发总线异常(BusFault),若未对 BusFault 做针对性处理,系统默认异常服务函数会陷入死循环。此外,若 Flash 读取操作触发 ECC 错误,即便退出 BusFault,程序仍会回到出错地址继续执行读取操作,导致 ECC 错误和 BusFault 反复触发。因此必须单独修正PC指针,脱离错误地址,规避该问题。我们Fls模块配置中使能
FlsInternalEccErrDisposeEnable后会自动进行上述处理,避免Fee操作的时候导致MCU进入死循环。
-
houjun_xiao 在 YTM32B1MC03 的ECC 中说:
Flash 的 ECC 中断可选择关闭,但建议务必开启 Flash 异常处理机制。不可恢复的 ECC 错误会直接触发总线异常(BusFault),若未对 BusFault 做针对性处理,系统默认异常服务函数会陷入死循环。此外,若 Flash 读取操作触发 ECC 错误,即便退出 BusFault,程序仍会回到出错地址继续执行读取操作,导致 ECC 错误和 BusFault 反复触发。因此必须单独修正PC指针,脱离错误地址,规避该问题。我们Fls模块配置中使能
FlsInternalEccErrDisposeEnable后会自动进行上述处理,避免Fee操作的时候导致MCU进入死循环。
好的感谢 -
H houjun_xiao 被引用 于这个主题
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...
