[其它应用] SH79F9271程式超范围溢出( OVL )复位

[复制链接]
4289|14
 楼主| AdaMaYun 发表于 2025-1-26 09:01 | 显示全部楼层 |阅读模式
ov, CPU, ROM, AC, DM
内建程式超范围溢出检测电路,当检测到程式 计数器的值超出 ROM 最
大值或 当 CPU 取址后译码发现操作码为 A5H 时, CPU 会认为程序已跑飞,会自动
产生 CPU 复位信号,同时将 WDOF 标志位置 1 。
注意:
若希望程序跑飞后能产生
OVL 溢出复位 建议将程序中所有未用到的 ROM 地址全部
用 A5H 填充 以进一步提高 CPU 的抗干扰能力。
附:
在程序中用 A5H 填充未用到 ROM 地址的方法:
首先定义宏:
Fill_A5H
MACRO N
REPT N
DB A5H
ENDM

后在没有用到的 ROM 空间调用宏,比如 1000H 到 11FFH 没有用到,可以用如下
方法填充:
CSEG AT 1000H
Fill_A5H 512

stormwind123 发表于 2025-2-17 16:10 | 显示全部楼层
看看,了解了解
中国龙芯CDX 发表于 2025-2-17 20:40 | 显示全部楼层
学习一下
LOVEEVER 发表于 2025-2-23 21:07 | 显示全部楼层
OVL 溢出复位是做什么的
xdvca 发表于 2025-2-27 13:36 | 显示全部楼层
当程序计数器的值超出了ROM可用范围,表示程序指令可能已经越界运行
gouguoccc 发表于 2025-2-27 21:23 来自手机 | 显示全部楼层
复位之后能够知道是因为什么原因导致的复位吗?
星辰大海不退缩 发表于 2025-2-28 14:43 | 显示全部楼层
OVL 溢出复位有利于保护MCU
自动化陈稳 发表于 2025-5-25 18:23 | 显示全部楼层
自动触发CPU复位,防止程序继续异常运行。
暖心小太阳 发表于 2025-5-26 22:38 | 显示全部楼层
这个溢出检测机制很关键,能有效防止程序失控。填充未使用的ROM地址是提高系统稳定性的好方法。
短句家 发表于 2025-7-18 21:16 | 显示全部楼层
检查代码中数组越界、递归深度及运算溢出,合理分配内存,优化算法,启用编译器溢出检测,配置看门狗复位阈值。
短句家 发表于 2025-9-19 15:53 | 显示全部楼层
SH79F9271 的 OVL 复位是因程序执行超出规定存储范围触发的保护机制。可能由程序指针异常跳转(如堆栈溢出、指针错误)、代码超出 Flash/ROM 边界导致。复位后需检查程序逻辑,确保跳转指令合法,优化堆栈设置,避免越界访问,可通过调试工具追踪异常地址定位问题。
小岛西岸来信 发表于 2025-9-25 14:13 | 显示全部楼层
SH79F9271 的 OVL 复位是因程序执行超出合法地址范围触发的保护机制。可能原因:程序跳转地址错误、堆栈溢出导致 PC 指针异常、代码超出 Flash/ROM 范围。需检查跳转指令、堆栈设置、链接脚本内存分配,确保程序执行路径在芯片定义的有效地址空间内。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

308

主题

2692

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部